hello,昨天我比较喜欢的颖火虫官宣结婚了,这里祝福她,幸幸福福!今天和大家分享Excel中如何按条件进行获取最晚及最早日期呢?

举个栗子:

下面要求甲在A001项目最早的记录和最晚记录,以及乙在A005项目最早记录和最晚记录的日期。

这里和大家标记一下我们需要查找的内容

乙在A005项目最早记录和最晚记录的日期。

甲在A001项目最早的记录和最晚记录

当然数据源不够多,我们可以一眼找出然后登记。但是当数据足够大,出现的条件次数足够多,这样肉眼查找无疑是大海捞针。接下来用函数去处理吧。

#求最早出现日期#

方法:MIN+IF+数组

=MIN(IF(--($A$2:$A$11=A16)*($B$2:$B$11=B16),$C$2:$C$11))

公式编辑完成后,要以三键结束(Ctrl+shift+enter)

解释:IF里面满足的两个条件限制,这里用的数组思维,结果返回满足两个条件的所有日期数组。日期实际上是整数,所以最后用min函数取日期数组里面最小的日期。(为了结果是数值型,别忘了加“--”)

#求项目最后记录日期#

方法1:MAX+IF+数组

=MAX(IF(--($A$2:$A$11=A16)*($B$2:$B$11=B16),$C$2:$C$11))

公式编辑完成后,要以三键结束(Ctrl+shift+enter)

解释:和最早日期提取思维一样。只是结果要返回最大的日期而已。

方法二:lookup函数

如果日期记录本身就是按照从小到大的排列(即升序排列),我们可以利用lookup的二分法原则去提取到最后出现的日期。

使用语法:

=LOOKUP(1,0/(条件1)*(条件2)),返回值区域)

公式:

=LOOKUP(1,0/(($A$2:$A$11=A16)*($B$2:$B$11=B16)),$C$2:$C$11)

如果我们对记录日期列降序排列,结果如下:

因此大家只要会MAX+IF就OK了。也不是很难理解。

今天的文章就和大家分享到这里了,大家下去总结练习一下吧,有不明白的可以留言哦,小菜看到后会第一时间回复!

查看原文 >>
相关文章