希望在我的工作簿的工作表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", ""))))), "")
答案 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"),"")