使用不同长度的网格从列中索引/匹配值(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中的单元格匹配。

希望这可以帮助 :)