excel常用函数求最近的日期

网友投稿 3035 2022-10-18

excel常用函数求最近的日期

excel常用函数求最近的日期,例如,下图1所示,求单元格F12中指定名称所对应的最新日期?在单元格区域B12:C20中是要查找的数据

图1

解决方案

公式1:使用LOOKUP函数

=LOOKUP(2,1/(B13:B20=$F$12),$C$13:$C$20)

很显示,使用与《Excel公式练习70:求最近一次活动的日期》中一样的LOOKUP公式不可取,我们必须构造一个供查找的数组,即公式中的:

1/(B13:B20=$F$12)

这样,公式转换为:

=LOOKUP(2, {1;#DIV/0!;#DIV/0!;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!},$C$13:$C$20)

LOOKUP函数在生成的中间数组中找不到要查找的值2,返回小于2的最大值所对应的C13:C20中单元格的值。

公式2:使用MAX/SUMPRODUCT函数

=SUMPRODUCT(MAX((B13:B20=$F$12)*(C13:C20)))

这个公式与《Excel公式练习70:求最近一次活动的日期》中的一样,由于日期在Excel中是以数字形式存储的,因此可以将它们与TRUE/FALSE值组成的数组相乘,上述公式可转换为:

=SUMPRODUCT(MAX({TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE}*{41091;41091;41091;41092;41092;41093;41094;41094}))

可转换为:

=SUMPRODUCT(MAX({41091;0;0;41092;0;0;0;0}))

得到:

41092

即该日期对应的序数,设置适当的格式后在Excel中显示相应的日期。

我们使用了SUMPRODUCT函数强制进行数组运算,如果不使用SUMPRODUCT函数,则在输入公式:

=MAX((B13:B20=$F$12)*(C13:C20))

需按Ctrl+Shift+Enter组合键。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:WPS怎么在原有目录上在更新目录?
下一篇:快速制作甘特图
相关文章