Excel表查找匹配两列的值

Jef*_*rod 4 database excel lookup-tables excel-formula

我想创建一个匹配两列的表查找公式.例如,假设我想Letter在列所在的行和列所在的Type列中找到列的值.BiennialResultWarning

__PRE__

实现这一目标的公式是什么样的?

小智 7

SUMPRODUCT()公式非常适合您想要使用多个条件查找值的情况.想要查找数值时最方便,但也可以调整它以查找字符串值.作为奖励,您可以避免使用数组公式.

可以使用以下公式解决此特定问题(为了易读性而添加缩进,您可以使用ALT + ENTER在Excel公式中执行此操作):

=INDEX(
       $A$2:$A$6,
       SUMPRODUCT(
                  ($B$2:$B$6 = "Biennial") *
                  ($C$2:$C$6 = "Warning") *
                  ROW($A$2:$A$6)
                 ) - 1
       )
Run Code Online (Sandbox Code Playgroud)

首先,SUMPRODUCT()用于使用过滤掉适当的行($B$2:$B$6 = "Biennial")($C$2:$C$6 = "Warning"); 乘法运算符*用作AND运算符(+运算符将用作OR运算符).

然后将结果乘以ROW($A$2:$A$6)找到具有该组合的特定行.SUMPRODUCT()然后添加一切,在这种情况下给我们3.由于列标题,所寻求的结果实际上在第2行,我们减去1.通过应用INDEX()函数,我们得到了所需的结果:B.

请注意,当且仅当所寻求的组合是唯一的时候才是这种情况.如果所寻求的组合不止一次存在,这将会破裂.


Coo*_*lue 5

另一种避免数组输入的方法是:

=INDEX($A$2:$A$6,MATCH(2,index(1/(($B$2:$B$6="Biennial")*($C$2:$C$6="Warning")),0)))
Run Code Online (Sandbox Code Playgroud)

它利用了匹配函数忽略某些错误并且索引自然地管理数组的事实.