具有两个条件的Excel查找公式

时间:2014-09-18 11:37:26

标签: excel excel-formula cell

对于标题感到抱歉,但是我觉得很难解释这么不好给我最好的拍摄。

这是我的问题 我有3个单元格:贷方,产品和产品ID我有一个vlookup,可以填充贷方和产品单元格 但是,我想要一种方法从与贷方和产品匹配的另一个工作表中恢复productID。

例如,如果call1 = newcastle并且cell2 = 2年固定,则cell3 = 422 enter image description here

我尝试使用vlookup但似乎没有工作,对此的任何帮助将不胜感激。感谢

3 个答案:

答案 0 :(得分:4)

您可以使用IndexMatch执行两个条件的查找。以下是来自http://blog.contextures.com/archives/2012/07/12/check-multiple-criteria-with-excel-index-and-match/

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

如网站所述,它是一个数组公式,所以不要只是在使用公式时按Enter键,你需要按住 Ctrl + Shift + 输入

要细分公式的格式:

=INDEX(a,MATCH(1,(b=c)*(d=e),0))
  • a =包含所有数据的整个范围
  • b =要过滤数据的第一个标准
  • c =需要搜索第一个标准的范围
  • d =要过滤的数据的第二个标准
  • e =需要搜索第二个标准的范围

请确保在正确的位置使用$,如上例所示。

答案 1 :(得分:1)

假设 Newcastle 在A2中, 2年固定在B2中。它们所处的工作表无关紧要。在另一个名为 Data 的工作表中,您有一个表,列X列中有一列贷方,Y列中有产品,Z列中有产品ID。有列第1行中的标签,因此实际数据从第2行开始,有2587行数据。在第一个工作表的C2中,您希望对 Lende Product 匹配的 ProductID 进行双重查找,请尝试使用此公式。

=IFERROR(INDEX('Data'!$Z$2:$Z$9999, MIN(INDEX(ROW($1:$9998)+(('Data'!$X$2:$X$9999<>$A2)+('Data'!$Y$2:$Y$9999<>$B2))*1E99,,))), "no match")

答案 2 :(得分:1)

使用MATCH和INDEX函数组合的另一种选择,有些人可能会发现更直接的是首先在查找表上插入一列并连接您希望搜索的列的组合。

= CONCATENATE(B8,C8)

然后你仍然可以使用Vlookup函数,但不是只输入一列来查找,而是将它们组合在查找中,以便它们的组合在查找表上查找它们的组合。 / p>

= VLOOKUP(B3&安培; C3,A9:D10,4,0)