【问题标题】:MAX date value within a range with 2 conditions具有 2 个条件的范围内的 MAX 日期值
【发布时间】:2015-05-14 17:04:10
【问题描述】:

为了方便

+---+----+-------------+
|   | 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”值的 MAX 日期值。 如果不是,请移至第二大值。如果没有找到,则为空单元格。

到目前为止我做了什么:

=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'

【问题讨论】:

    标签: excel max


    【解决方案1】:

    您需要使用嵌套的 if 函数。 IE。将您的公式更改为:

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

    并以 Ctrl+Shift+Enter

    结束

    【讨论】:

      【解决方案2】:

      标准(非数组)公式替代方案。

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

            

      此公式将受益于将其单元格范围从整列缩减到更接近可用数据范围的范围。

      【讨论】:

        【解决方案3】:

        如果您的日期如示例中所示按升序排序,那么您可以像这样使用LOOKUP

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

        不需要“数组条目”

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-11-19
          • 1970-01-01
          • 1970-01-01
          • 2021-03-27
          • 2019-01-26
          • 2016-11-17
          • 2016-10-11
          • 2014-01-07
          相关资源
          最近更新 更多