如何使用公式求得最近的日期?例如,下图1所示,x表示该日期开展了一次活动,在列G中求出对应的最近一次活动日期。
如何使用公式求得最近的日期?例如,下图1所示,x表示该日期开展了一次活动,在列G中求出对应的最近一次活动日期。
图1
先不看答案,自已动手试一试。
解决方案
公式1:使用LOOKUP函数
=LOOKUP(“y”,C4:F4,$C$3:$F$3)
由于示例中采用“x”表示开展活动对应的日期,使用其随后的字母“y”来查找,显示在对应区域找不到该值,这样LOOKUP函数会返回与查找值最接近的值,即最后一个“x”,然后返回对应的日期行中的日期。
公式2:使用MAX/SUMPRODUCT函数
=SUMPRODUCT(MAX(($C$3:$F$3)*(C4:F4=”x”)))
由于日期在Excel中是以数字形式存储的,因此可以将它们与TRUE/FALSE值组成的数组相乘,上述公式可转换为:
=SUMPRODUCT(MAX({41091,41092,41093,41094}*{TRUE,TRUE,FALSE,FALSE}))
可转换为:
=SUMPRODUCT(MAX({41091,41092,0,0}))
得到:
41092
即该日期对应的序数,设置适当的格式后在Excel中显示相应的日期。
我们使用了SUMPRODUCT函数强制进行数组运算,如果不使用SUMPRODUCT函数,则在输入公式:
=MAX(($C$3:$F$3)*(C4:F4=”x”))
需按Ctrl+Shift+Enter组合键。