【问题标题】:Index Match Two Criteria With Max Value索引匹配两个具有最大值的标准
【发布时间】:2016-06-01 09:27:07
【问题描述】:

假设我有一个三列数据:

价值 |状态 |名称

我需要一个公式来给出行具有最高值且状态为“完成”的名称。到目前为止我有这个:

=INDEX(Table[Name],MATCH(MAX(Table[Value]),Table[Value],0))

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    你需要一个数组公式:

    =INDEX(Table[Name],MATCH(1,INDEX((MAX(IF(Table[Status]="Done",Table[Value]))=Table[Value])*(Table[Status]="Done"),),0))
    

    作为数组公式,退出编辑模式时需要使用 Ctrl-Shift-Enter 确认,而不是 Enter。如果操作正确,Excel 会在公式周围加上{}

    【讨论】:

    • 我认为您肯定会在这条路线上走综合路线以避免 CSE。以及伪装的CSE。那是因为它是一张桌子吗?还是你想把它混合起来?
    • @ForwardEd 因为无论如何它都可能是一个带有双重条件的 CSE 公式。
    【解决方案2】:

    这是一个隐藏数组功能的选项。当我完成时,我真的很惊讶它与斯科特的回答如此相似。我基本上觉得无聊,需要做点什么,所以我想出了以下内容来证明你可以选择如何实现你想要的。

    =INDEX(ScottsTable[Name],MATCH(AGGREGATE(14,6,(ScottsTable[Status]="Done")*ScottsTable[Value],1),ScottsTable[Value],0))
    

    我第一次玩“桌子”。观察单元格引用的变化很有趣。

    概念证明 - 给 Scott 的坦克

    请对上述 Scott 的回答给予正面评价。

    【讨论】:

      猜你喜欢
      • 2016-06-29
      • 2016-05-15
      • 2017-02-23
      • 1970-01-01
      • 2018-09-10
      • 2020-04-24
      • 2014-10-22
      • 2019-06-18
      • 1970-01-01
      相关资源
      最近更新 更多