
做日期的筛选的聚合运算,第一步要了解日期和数值之间的转化关系。通常日期和时间都是可以用value函数转化成数值结果的。具体可看视频
还有一点是涉及到区间条件的情况,一般用数组公式运算会比较好。步骤如下:
1、首先日期的格式要正规
2、把2017/3/24,2017/1/23这两个时间用value函数进行转化成数值。D5=VALUE(D4);E5=VALUE(E4)。
3、因为要判断2017/3/24~2017/1/23的区间,所以我们先做个逻辑运算得到两个真假表:A2:A18<D5 和 A2:A18>E5。其中,A2:A18<D5的结果是:
{FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
而 A2:A18>E5的结果是:
{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE}
上述两个真假表相乘后得到的结果是:{0;0;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0}
6然后再把上述的结果乘以b2:b18。
其实相当于:
7、再用sum函数运算,注意数组公式ctrl+shift+enter三键结束,这样就计算出了2017/3/24~2017/1/23区间内的求和结果。
如果要一步到位的话数组公式应该是这个样子的:
根据日期是升序还是乱序来写公式,假如日期是乱序的,可用MIN数组公式:如下图
E1输入数组公式(数组公式必须按Ctrl+Shift+Enter组合键输入,Excel会自动在公式外面嵌套一对大括弧)
=MIN(IF(A$2:A$15=D2,B$2:B$15))
公式下拉。
如果日期是升序的,直接用INDEX+MATCH一般公式就可以了,如下图
E1=INDEX(B:B,MATCH(D2,A:A,0))
公式下拉。
知识扩展:
日期不必全部升序,只要相同姓名的日期升序就可以了,如下图:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)