MAX IF INDEX功能?

时间:2016-04-04 02:20:08

标签: excel if-statement indexing

目前,我有一张如下表所示的表格。

               Jan-16   Feb-16  Mar-16  Apr-16  May-16  Jun-16  Jul-16  Aug-16  Sep-16  Oct-16  Nov-16  Dec-16
Forecast       5        8       7       -       -       -       -       -       -       -       -       -

每月预测数字设置为仅在该月结束时填充。

在我的信息中心中,我试图捕获此表中最新的预测编号,因此输出看起来像......

Current Forecast    7

我认为要实现这一目标,当前预测需要一系列IF,INDEX,MATCH和MAX(最大日期)功能,但我无法弄清楚这一点。

来自已删除的评论:

抱歉,我没有澄清。这是正确的 - " - "是应用数字格式的零。

3 个答案:

答案 0 :(得分:0)

我没有测试过这个,但看起来它会做你正在寻找的东西。

=INDEX(B$2:M$2,MATCH(TRUE,INDEX(B2:M2<>"-",),0))

Modified from here

正如Dirk指出的那样,这实际上会返回第一场比赛。

答案 1 :(得分:0)

如果值之间没有空日期,则此公式将执行:

=INDEX(B2:M2,COUNTIF(B2:M2,"<>-"))

并且中间有空日期,那么这个数组公式将会

=INDEX(B2:M2,MAX(ISNUMBER(B2:M2)*COLUMN(A:L)))
  

需要使用Ctrl + Shift + Enter确认

答案 2 :(得分:0)

第一个问题是,如果这些是第1行的实际日期或类似文本的日期。假设这些是格式为 mmm-yy 的实际日期,因为这是更好的方法。

第二个问题是第2行中的非活动数字是否显示连字符,因为它们是具有会计样式编号格式的零,或者如果您实际上在单元格中放置了连字符。假设它们是具有会计样式编号格式的零,因为这是更好的方法。

=INDEX(B2:M2, MATCH(AGGREGATE(14, 6, (B1:M1)/(B2:M2<>0), 1), B1:M1, 0))
' for pre xl2010 systems w/o AGGREGATE
=INDEX(B2:M2, MATCH(MAX(INDEX((B1:M1)+(B2:M2=0)*-1E+99, , )), B1:M1, 0))

maxif_aggregate

相关问题