2015-05-14 75 views
2

为了方便MAX日期值

+---+----+-------------+ 
| | 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)

我需要得到MAX日期值对每个“A”值只有在今天之前。 如果不是,请移至第二大值。它没有找到它,空单元格。

什么我迄今所做的:

=MAX($A$1:$A$4='xx';$B$1:$B$4<TODAY();$B$1:$B$4) 

SHIFT确认 + CTRL + ENTER

我得到的错误是,它产生13-05-2015作为xx的最大值,这显然是错误的(好像它没有考虑到$A$1:$A$4='xx'

回答

2

你需要我们嵌套的if函数。即改变你的公式:

{=MAX(IF($A$1:$A$4="xx", IF($B$1:$B$4<TODAY(), $B$1:$B$4)))} 

并与Ctrl键 + 偏移结束它 + 输入

+0

谢谢,它的工作就像一个魅力! – user2139366

+0

没问题。请将答案标记为已接受,如果它对你有用:) –

1

标准(非阵列)式替代。

=MAX(INDEX((B:B)*(A:A="xx")*(B:B<TODAY()), ,)) 

MAX Date If Conditions

此公式将来自具有其小区范围从全列削减到更接近于可用数据范围的好处。

1

如果您的日期升序排列如图所示的例子,那么你可以使用LOOKUP这样的:

=LOOKUP(2,1/(A$1:A$100="xx")/(B$1:B$100<TODAY()),B$1:B$100)

不需要“数组项”