Excel 2016-如果四个单元格匹配,则返回第5个单元格的值

时间:2018-10-29 12:05:31

标签: excel excel-formula array-formulas

例如,

A列:名字

B列:姓氏

C列:名字

D列:姓氏

E列:ID

我正在寻找一个函数,如果A与C匹配,B与D匹配,则该函数将在新列中返回E的值。即使它们的名称混乱,也必须匹配它们的名称。例如,A + B可能在第5行中,并且与C + D在第7行中匹配,然后返回E

我能够制作一个仅与名字匹配的函数,但是试图将姓氏添加到方程式中时卡住了。

=INDEX(E:E,MATCH(A2,C:C,0))

example

提前谢谢!

2 个答案:

答案 0 :(得分:2)

尝试一下:

=INDEX($E:$E,MATCH(1,EXACT(A2,$C:$C)*EXACT(B2,$D:$D),0))

上面是一个数组公式。要输入/确认数组公式,请在按 enter 的同时按住 ctrl + shift 。如果正确执行此操作,Excel会在公式栏中显示的公式周围放置括号{...}

enter image description here

注意:

  • 如果不匹配,则公式将返回#N/A
  • 如果您可以将范围引用缩短为该列的一部分,则该公式将更加有效
  • 对于不区分大小写的版本,我们删除了EXACT函数:

=INDEX($E:$E,MATCH(1,(A2=$C:$C)*(B2=$D:$D),0))

答案 1 :(得分:1)

尝试

=INDEX(E:E, aggregate(15, 7, row(e:e)/((c$1:index(c:c, match("zzz", c:c))=a2)*(d$1:index(d:d, match("zzz", c:c))=b2)), 1))
相关问题