Excel:检查单元格值是否存在于列中,并返回同一行但不同列中的值

3

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

具体来说,我正在检查列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来解决问题,但我最多只能让它返回零,而且这些值本来就不正确。

1个回答

11
我认为以下公式应该能够给你想要得到的结果。如果我正确理解了你的问题,你想要返回与匹配行相同的列F中的值:因此,我用于列F的范围与列A的范围长度相同。
  =IFERROR(INDEX($F$2:$F$1589,MATCH(O2,$A$2:$A$1589,0),1),"no match")

从外向内看,这里正在进行以下操作。
  • 匹配函数在列A中查找O2值的精确匹配。

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

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

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

  • 最后,这两个函数被包裹在一个IFERROR函数中,以捕获将生成的错误值(如果没有匹配项),并返回字符串“no match”。

此公式将输入到单元格P2,并复制到列O中的最后一行。


我需要帮助实现类似的目标,唯一的区别是我想在一个特定的账户关键字字符串(例如"MCA1234")中搜索1列.. 我已经尝试使用VLOOKUP并发布了相关内容,但没有成功!任何帮助将不胜感激。 - Jay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接