IF MATCH具有多个查找

时间:2018-12-17 17:25:59

标签: if-statement excel-formula match

希望在我的工作簿的工作表2上创建一个IF(MATCH)公式,该公式将从工作表1的5列中查找值并返回相应的文本。例如,如果工作表2上的M列中的值与工作表1上的J列中的任何值相匹配,则它将返回“ N”,如果不匹配,它将在列K中查找,如果与那里的任何值匹配,则将返回D,依此类推。 。我在下面尝试的公式似乎仅适用于第一个值(N),但其他都不适用。

=IFERROR(IF(MATCH(M2,Sheet1!$J:$J,0)>0,"N", 
IF(MATCH(M2,Sheet1!$K:$K,0)>0,"D", 
IF(MATCH(M2,Sheet1!$L:$L,0)>0,"R", 
IF(MATCH(M2,Sheet1!$M:$M,0)>0,"G", 
IF(MATCH(M2,Sheet1!$N:$N,0)>0,"F", ""))))), "")

1 个答案:

答案 0 :(得分:1)

您需要检查每个匹配是否都是错误:

=IFERROR(IF(ISNUMBER(MATCH(M2,Sheet1!$J:$J,0)),"N", 
         IF(ISNUMBER(MATCH(M2,Sheet1!$K:$K,0)),"D", 
         IF(ISNUMBER(MATCH(M2,Sheet1!$L:$L,0)),"R", 
         IF(ISNUMBER(MATCH(M2,Sheet1!$M:$M,0)),"G", 
         IF(ISNUMBER(MATCH(M2,Sheet1!$N:$N,0)),"F",""))))), "")

如果数据集不是太大,并且可以设置定义现存值,则公式可以简化为:

=IFERROR(CHOOSE(AGGREGATE(15,6,(COLUMN($J$1:$N$1000)-MIN(COLUMN($J$1:$N$1000)+1)/($J$1:$N$1000=M2),1),"N","D","R","G","F"),"")