永发信息网

excel中A、B两列日期比较取最大的日期,与C列日期的相差天数大于2的数量 公式怎么列

答案:5  悬赏:40  手机版
解决时间 2021-11-17 00:01
  • 提问者网友:斑駁影
  • 2021-11-15 23:40
excel中A、B两列日期比较取最大的日期,与C列日期的相差天数大于2的数量 公式怎么列
最佳答案
  • 五星知识达人网友:时间的尘埃
  • 2021-11-16 00:40
软件版本:Office2007
方法如下:
1.A、B两列日期比较取最大的日期,与C列日期的相差天数大于2的数量

2.输入公式如下:
=SUMPRODUCT((ABS(IF(A1:A4>B1:B4,A1:A4,B1:B4)-C1:C4)>2)*1)

3.Ctrl+Shift+Enter三键结束数组公式,得到结果:

全部回答
  • 1楼网友:鸠书
  • 2021-11-16 04:58
=SUMPRODUCT(N((SUBTOTAL(4,OFFSET(A1:B1,ROW(1:5)-1,))-C1:C5)^2>4))
  • 2楼网友:春色三分
  • 2021-11-16 03:41
两种情况
1、C列日期比A\B列的最大日期大两天;
2、A\B列的最大日期比C列日期大两天;
3、公式如下:=OR(C1-MAX(A1:B4)>2,MAX(A1:B4)-C1>2),显示结果为TRUE那就是大两天,如果为FALSE,就是不大于两天
  • 3楼网友:怙棘
  • 2021-11-16 02:37
在D1列输入:=ABS(MAX(A1:B1)-C1) ,然后下拉填充,
在E1输入:=COUNTIF(D:D,">2")可得到数量,

或者=IF(ABS(MAX(A1:B1)-C1)>2,TRUE,Flase),最后True的数量就是你要的
  • 4楼网友:愁杀梦里人
  • 2021-11-16 01:18
公式是对的,这是数组公式
CTRL+SHIFT+ENTER三键结束
不过你的公式的结果是:相差2天的日期数量有几个。追问你好 那我想得到的是大于2天的数量 应该怎么改呢追答你这个公式是对的,就是大于2天的日期数的合计。你可以按我说的三键结束去测试一下结果是不是你要的,你就知道了。
如果你的错误是#NUM!,说明你的C列日期小于A:B列日期,那么你用你的第二个公式是没问题的,如果有问题,把DATEDIF()的两个日期参数位置换一下。追问你好,但我的A、B列日期有的A大 有的B大,所以没办法把DATEDIF()的两个日期参数位置对换。我想请问下有什么方法吗 谢谢追答A列B列都大小都没关系的,因为你的公式MAX(A1:A5,B1:B5)已经把最大的日期取出来了,然后再用最大的日期去和C列比较相差天数,大于2天的才会计算出来。
你的=COUNT(0/(DATEDIF((MAX(A1:A5,B1:B5)),C1:C5,"d")>2))这个公式已经克服了#NUM!错误问题,只要编辑成数组公式就可以了。追问我试了我的第二个公式 但结果显示都是为0,不知道错在哪。用的是CTRL+SHIFT+ENTER三键结束追答那就说明你的C列日期小,A:B列日期大,改成这样:=COUNT(0/(DATEDIF(C1:C5,(MAX(A1:A5,B1:B5)),"d")>2))三键结束,就可以了。追问你好 这样改了还不对,可能是我刚才没说清。现在是A列和B列比较后的最大日期 有的比C列大有的比C列小。请问下应该怎么改呢追答不如我给你换个公式吧,试试这个:
=SUM((ABS(MAX(A1:A5,B1:B5)-C1:C5)>2)*1)三键结束追问

你好 这样算出的结果还是不对,正确结果应该为2,但计算结果为1,不知道为什么

追答如果不是你描述的问题的话,应该答案就是1,A:B列最大值5-9,C列只有5-4是符合条件的日期,那么答案就是1追问我没描述清楚,我的意思是A B每一列日期,按照行分别对比,然后与C列同行日期相差大于2天的所有单元格数量。比如A1 B1最大5-8与C1相隔4天,A5 B5最大5-4与C5相隔5天,其它都相隔0天,那算下来应该是2。我是想按照这种思路追答=SUM(N(ABS(SUBTOTAL(4,OFFSET(A1:B1,ROW(1:5)-1,))-C1:C5)>2))
这个三键结束
=SUMPRODUCT(N((SUBTOTAL(4,OFFSET(A1:B1,ROW(1:5)-1,))-C1:C5)^2>4))
这个回车结束追问麻烦再问一下=SUM(N(ABS(SUBTOTAL(4,OFFSET(A1:B1,ROW(1:5)-1,))-C1:C5)>2))这个公式里面的4是什么意思追答4表示最大的意思,用SUBTOTAL和OFFSET结合使用可以对2维数据进行处理,这是解决你需求的关键。OFFSET取到的是一个2维数组,只能用SUBTOTAL才能取到一维数上的最大值,组成一个新的数组,然后再去和C列比较,用SUM得出结果。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯