Excel匹配两列并输出第三列

时间:2013-07-24 16:38:15

标签: excel excel-2007 excel-formula

enter image description here

我想要一个迭代第一列和第二列的公式,如果

则返回第三列

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

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

4 个答案:

答案 0 :(得分:4)

您可以使用以下公式:

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

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

修改

如果"bar"只在列B中找到一次,那么您可以使用

=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 :(得分:0)

是你需要的吗?

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

答案 2 :(得分:0)

我认为,你正在寻找类似的东西,假设第1列是A1,第2列是B1:

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

如果您有多个值需要第3列,那么您可以像第二行一样执行嵌入式if语句:

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

基本上你将拥有0,你编写下一个if语句,它将一直运行,直到它达到true或默认为0。

答案 3 :(得分:0)

我认为Excel不具备此功能。 如果你正在查找数字,可以解决一些问题:

=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。