Excel – 检查范围内的单元格是否匹配,然后replace单元格

我需要检查单元格A5 (歌曲名称), B5 (专辑), C5 (艺术家)是否与A5:A104B5:B104C5:C105中工作表2中的任何文本相同的文本。

如果是的话,我希望我写这个公式的单元格在工作表2的E5:E104处改变为相同的值。

这是我所做的,这是行不通的:

 =IF(AND(A5='Worksheet 2'!A5:A104,B5='Worksheet 2'!B5:B104,C5='Worksheet 2'!C5:C104),'Worksheet 2'!E5,"") 

我究竟做错了什么?

你需要使用一个数组公式来做到这一点。 你所要做的几乎是正确的,但它不会像你所期望的那样工作,除非你通过按Ctrl + Shift + Enter将其作为数组公式input 。 试试这个,input数组公式:

 =IFERROR(INDEX('Worksheet 2'!$E$1:$E$104,MIN(IF(A5='Worksheet 2'!$A$5:$A$104,IF(B5='Worksheet 2'!$B$5:$B$104,IF(C5='Worksheet 2'!$C$5:$C$104,ROW('Worksheet 2'!$E$5:$E$104),2000000),2000000),2000000))),"No match found.") 

由于必须使用一个可以从数组中返回单个值的函数MIN()在此公式中, MIN() ,逻辑变得复杂了。

=IF(ISERROR(MATCH(A5&B5&C5,'Worksheet 2'!A5:A104&'Worksheet 2'!B5:B104&'Worksheet 2'!C5:C104,0)),"",'Worksheet 2'!E5)
使用Ctrl + Shift + Enter作为数组函数input