Excel:检查Column中是否存在Cell值,并返回同一行但不同列的值

fin*_*kle 2 match excel-formula vlookup

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

具体来说,我正在检查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))
Run Code Online (Sandbox Code Playgroud)

这会为列P中的所有单元格返回"不匹配".我尝试使用VLOOKUP函数中的col_index_num进行处理,但我能做的最好就是让它返回零,无论如何都不是正确的值.

chu*_*uff 7

我认为以下公式可以为您提供您想要得到的东西.如果我正确理解了您的问题,您希望返回F列中与匹配相同的行中的值:因此,我用于列F的范围与列A的范围长度相同.

  =IFERROR(INDEX($F$2:$F$1589,MATCH(O2,$A$2:$A$1589,0),1),"no match")
Run Code Online (Sandbox Code Playgroud)

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

  • 匹配函数在A列中查找O2中值的精确匹配.

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

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

  • index函数返回索引范围的第i行和第j列中的值,在这种情况下是匹配中找到的行,以及索引范围中的第一列(也是唯一)列.F列.

  • 最后,这两个函数包装在IFERROR函数中,以捕获在没有匹配时将生成的错误值,并返回字符串"no match".

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