使用不同长度的网格从列中索引/匹配值(Excel 2010)
我正在尝试从长列索引匹配值到不同长度的网格。 看起来像这样
Word Number Column X Column Y Column Z This 55 55 33 12 is 62 62 42 18 The 78 78 31 24 42 31 12 18 24 33
网格(X,Y,Z列)包含Number列中的所有值。 我想要做的是基本上索引“Word”列,使用“Number”列的值,并在XY Z值数组中查找它。
例子(因为这是混乱):
从Number列中inputValue 33,查找XYZ列中的值,然后返回Word“This”。
从数字列中input值18,在列XYZ中查找值,返回单词“is”
等等…
任何帮助将非常感激!
有一个更快的方法和更短的公式来做到这一点:
=IFERROR(INDEX(A:A,IFERROR(MATCH(B2,C:C,0),IFERROR(MATCH(B2,D:D,0),MATCH(B2,E:E,0))),1),"not found")
将其粘贴到真正的任何列中,并将其拖入第2行,然后向下拖动,将返回所需的单词,如果未find值,则将返回“未find”
这里是您的电子表格从单元格A1开始(没有您的标题):
ABCDE 1 This 55 55 33 12 2 is 62 62 42 18 3 The 78 45 31 24 4 42 5 31 6 12 7 18 8 24 9 33 10 11 Input: 24 12 Output: The
将其复制到单元格C10中 ,然后将该公式拖到单元格E10中 :
=IF(ISERROR(IF(ISERROR(IF(ISERROR(MATCH($B$11,C1:C3,0)),"",CONCATENATE("A",MATCH($B$11,C1:C3,0)))),"",INDIRECT(IF(ISERROR(MATCH($B$11,C1:C3,0)),"",CONCATENATE("A",MATCH($B$11,C1:C3,0)))))),"",IF(ISERROR(IF(ISERROR(MATCH($B$11,C1:C3,0)),"",CONCATENATE("A",MATCH($B$11,C1:C3,0)))),"",INDIRECT(IF(ISERROR(MATCH($B$11,C1:C3,0)),"",CONCATENATE("A",MATCH($B$11,C1:C3,0))))))
将其复制到“输出”单元格B12,并使用单元格B11作为“input”:
=CONCATENATE(C10,D10,E10)
VIOLA! 你完成了!
certificate:
MATCH()
函数将在数组中查找你的值(范围)。 如果find它,它将返回该数组的索引(索引为1),否则会引发错误。 确保将第三个参数设置为“0”,以便它只查找精确匹配。 将其粘贴到C14 :
=MATCH($B$11,C1:C3,0)
接下来,我们检查MATCH()
函数是否确实会抛出错误。 将其粘贴到C15 :
=IF(ISERROR(C14),"",C14)
现在我们有匹配的值的行号 ,所以我们将使用CONCATENATE()
函数将它join到我们的“字列” A中 ,以供下一步使用。 将其粘贴到C16 :
=CONCATENATE("A",C15)
从上面使用该string ,使用INDIRECT()
函数将其变成一个实际的单元格引用。 将其粘贴到C17中 :
=INDIRECT(C16)
最后,检查是否创build了合法的单元格引用。 如果是的话,返回这个词 ,否则返回“”。 将其粘贴到C18中 :
=IF(ISERROR(C17),"",C17)
最后,将公式从C14:C18拖动到E14:E18 ,并连接结果。 行18中的单元格应该与行10中的单元格匹配。
希望这可以帮助 :)