MAXdate值在2个条件范围内
为了方便起见
+---+----+-------------+ | | A | B | +---+----+-------------+ | 1 | xx | 12-05-2015 | | 2 | xx | 15-05-2015 | | 3 | yy | 13-05-2015 | | 4 | yy | 16-05-2015 | +---+----+-------------+
(今天是14-05-2015)
只有在今天之前,我才需要获取每个“A”值的MAXdate值。 如果不是,则移至第二大值。 情况下,它没有find,空细胞。
到目前为止我所做的是:
=MAX($A$1:$A$4='xx';$B$1:$B$4<TODAY();$B$1:$B$4)
并用SHIFT + CTRL + ENTER确认
我得到的错误是,它产生xx的最大值13-05-2015,这显然是错误的(好像它不考虑$A$1:$A$4='xx'
你需要使用嵌套的if函数。 即改变你的公式为:
{=MAX(IF($A$1:$A$4="xx", IF($B$1:$B$4<TODAY(), $B$1:$B$4)))}
并用Ctrl + Shift + Enter结束
一个标准( 非数组 )公式替代。
=MAX(INDEX((B:B)*(A:A="xx")*(B:B<TODAY()), , ))
这个公式将从单元格的范围从全列减less到更接近可用数据范围的好处。
如果您的date按照示例中所示升序排列,那么您可以使用LOOKUP
如下所示:
=LOOKUP(2,1/(A$1:A$100="xx")/(B$1:B$100<TODAY()),B$1:B$100)
不需要“数组input”