索引匹配具有最大值的两个标准

时间:2016-05-31 17:30:58

标签: excel excel-formula

假设我有三列数据:

价值|状态|名称

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

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

2 个答案:

答案 0 :(得分:3)

您需要一个数组公式:

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

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

![enter image description here

答案 1 :(得分:1)

这是一个隐藏数组功能的选项。当我完成时,我真的很惊讶斯科特的回答有多么相似。我基本上感到无聊,需要做点什么,所以我想出了以下内容,证明你可以选择如何达到你想要的效果。

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

第一次和我一起玩#34;桌子"。看着细胞参考变化很有意思。

概念证明 - 斯科特坦克

Proof of concept

请将上述答案给予积极的评价。