如何在 Excel 2007 及更新版本中使用多个条件查找值

3

我想在具有多个条件的Excel表格中查找值。 我尝试过这个:

=INDEX($D$2:$D$10,MATCH(1,($B$2:$B$10=A13)*($C$2:$C$10=A13),0))

但它无法正常工作。 我使用的是这个:
=LOOKUP(2,1/(Reservation!$A:$A=$A20)/(Reservation!$B:$B=F$5)/(Reservation!$D:$D=0),Reservation!$C:$C) 

…这个功能可以正常工作,但速度非常慢。

有没有办法使用多个条件来使用索引?


对我来说可以运行。只需使用 ctrl + shift + enter 输入,因为它是一个数组公式。 - chancea
为什么在LOOKUP版本中使用整列引用?你在INDEX版本中没有这样做,为什么在这里这样做?这将强制计算超过一百万行的数据。与COUNTIF(S)/SUMIF(S)不同,数组公式(这在技术上是LOOKUP在此用法中的情况,尽管它不需要使用CSE输入)会计算传递给它们的所有单元格,无论这些范围是否在技术上超出了这些范围中最后使用的单元格。 - XOR LX
请注意,如果有多行满足条件,则您的INDEX/MATCH版本将找到第一个匹配项,但LOOKUP选项将返回最后一个。 - barry houdini
1个回答

3
通常只有一个条件时,您只需键入以下内容:
INDEX($D$2:$D$10,MATCH(A13,$B$2:$B$10,0))

按下 enter 就完成了。

然而,由于您在 MATCH 公式中使用了数组,即 ($B$2:$B$10=A13)($C$2:$C$10=A13),您需要使用以下方式输入公式:

ctrl + shift + enter

如果您想进一步阅读,可以查看微软的数组公式指南和示例


非常感谢Chancea,当我使用ctrl + shift + enter时它可以工作!这就是诀窍。 - Bunny

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接