4

检查列中是否存在值后,我想将同一行中单元格的值返回到不同的列。

具体来说,我正在检查 O 列中的任何值是否与 A 列中的值匹配。如果匹配,我想从与 A 列中匹配项相同的行中的单元格中获取相应的值,但这些值在列中F。然后,我想从 f 列中获取这些值,并将它们放在与 O 列中的值相同的行中。

这是我尝试过的公式:

=IF(ISNA(MATCH(O2,$A$2:$A$1589,0)),"no match", VLOOKUP(O2,$A$1:$z$14000,16,FALSE))

这将为 P 列中的所有单元格返回“不匹配”。我尝试在 VLOOKUP 函数中弄乱 col_index_num ,但我能做的最好的事情就是让它返回零,这不是正确的值。

4

1 回答 1

11

我认为下面的公式应该给你你想要得到的东西。如果我正确理解您的问题,您希望返回与匹配项位于同一行的 F 列中的值:因此,我用于 F 列的范围与 A 列的范围长度相同。

  =IFERROR(INDEX($F$2:$F$1589,MATCH(O2,$A$2:$A$1589,0),1),"no match")

向外工作,这就是正在发生的事情。

  • match 函数在 A 列中查找与 O2 中的值完全匹配的值。

    如果找到匹配项,则返回匹配值在 A 列查找范围中的相对位置。

    如果找不到匹配项,则返回错误值。

  • index 函数返回索引范围的第i行和第j列中的值,在本例中是在匹配中找到的行,以及索引范围中的第一(也是唯一)列,F 列。

  • 最后,这两个函数被包装在一个 IFERROR 函数中,以捕获不匹配时将生成的错误值,并返回字符串“不匹配”。

该公式将输入到单元格 P2 中,并向下复制到 O 列中的最后一行数据。

于 2013-03-01T00:35:29.347 回答