检查列中是否存在值后,我想将同一行中单元格的值返回到不同的列。
具体来说,我正在检查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进行处理,但我能做的最好就是让它返回零,这不是正确的无论如何都要有价值。
答案 0 :(得分:7)
我认为以下公式可以为您提供您想要获得的内容。如果我正确理解你的问题,你想要返回F列中与匹配相同的行中的值:因此,我用于列F的范围与列A的范围长度相同。
=IFERROR(INDEX($F$2:$F$1589,MATCH(O2,$A$2:$A$1589,0),1),"no match")
向外工作,这是正在发生的事情。
匹配函数在A列中查找O2中值的精确匹配。
如果找到匹配项,则返回A列查找范围中匹配值的相对位置。
如果找不到匹配项,则返回错误值。
index函数返回索引范围的 i 行和 j 列中的值,在这种情况下是在匹配,以及索引范围中的第一个(也是唯一的)列,列F.
最后,这两个函数被包装在IFERROR函数中,以捕获在没有匹配时将生成的错误值,并返回字符串“no match”。
此公式将在单元格P2中输入,并向下复制到O列中的最后一行数据。