Excel匹配两列并输出第三个

在这里输入图像说明

我想要一个公式,迭代第一和第二列,并返回第三列如果

列1 =“a”AND列2 =“d”

公式应该返回相应行的第三列中的值,在这种情况下它应该是3.否则,应该输出0。

你可以使用公式:

 =IF(MATCH("foo",A1:A4,0)=MATCH("bar",B1:B4,0),INDEX(C1:C4,MATCH("bar",B1:B4,0)),0) 

当然,您可以更改公式中的"foo""bar"文本以使用另一个单元格引用。 无论如何,这应该让你至less开始。

编辑:

如果"bar"只在列Bfind一次那么你可以使用

 =IF(INDIRECT("A"&MATCH("bar",B1:B4,0))="foo",INDEX(C1:C4,MATCH("bar",B1:B4,0)),0) 

最后一件事,对于这两种情况,如果在B列中找不到"bar" ,它将返回#N/A如果你想改变,你可以把所有的东西包装在IFERROR()语句中并返回0。

我想,你正在寻找这样的事情,假设第1列是A1,第2列是B1:

 =IF(AND(A1="foo",B1="bar"),"bo",0) 

如果你有多个你需要第3列的值,你可以像第二行一样embeddedif语句:

 =IF(AND(A1="foo",B1="bar"),"bo",IF(AND(A1="fui",B1 = "bas"),"bis",0)) 

基本上,你将有0,你写下一个if语句,它将贯穿,直到它命中或默认为0。

我不认为Excel有这个function。 如果你正在查找数字,有一个工作,虽然:

 =IF(COUNTIFS($A$1:$A$4,"a",$B$1:$B$4,"d") = 1, SUMIFS($C$1:$C$4,$A$1:$A$4,"a",$B$1:$B$4,"d"), "ERR") 

如果只有一个匹配,这将产生数字,如果没有或多个匹配,则产生"ERR" 。 如果您尝试使用它来查找文本,它将返回0。

那是你需要的吗?

=IF(AND(A1="foo",B1="boo"),"boo",0)