Excel - IF 结合索引匹配

Excel - IF combined with Index Match

我在使用 excel 时遇到问题,我目前正在使用 vlookup,但由于查找列由字符串和整数组成,我认为最好的方法是用索引匹配函数替换 vlookup。

我想要公式做什么: 我希望公式检查 O 列中是否有数值。如果为真,则查找单元格 A2 中的值并在 sheet 2 中找到相应的销售额值。 然后公式 returns 销售值或空白值

下面是我正在使用的当前 VLOOKUP。

=IFERROR(IF(ISNUMBER(O2),VLOOKUP(A2,'Sheet2'!$C:$E,3,FALSE)),0)

有人可以建议我如何使用 INDEX MATCH 做同样的事情吗?

尝试:

=IFERROR(IF(ISNUMBER(O2),VLOOKUP(A2,Sheet2!$C:$E,3,FALSE),""),"")

=IFERROR(IF(ISNUMBER(O2),INDEX(Sheet2!$E:$E,MATCH(A2,Sheet2!$C:$C,0)),""),"")

其中第一个""表示O2不是数字,而第二个""表示没有匹配(错误)。

如果您的意思是 'resulting' 列 E 包含您不想显示的文本值,请尝试:

=IFERROR(IF(ISNUMBER(VLOOKUP(A2,Sheet2!$C:$E,3,FALSE)),VLOOKUP(A2,Sheet2!$C:$E,3,FALSE),""),"")

=IFERROR(IF(ISNUMBER(INDEX(Sheet2!$E:$E,MATCH(A2,Sheet2!$C:$C,0))),INDEX(Sheet2!$E:$E,MATCH(A2,Sheet2!$C:$C,0)),""),"")

INDEX/MATCH 更安全,因为即使您在 CE 之间插入或删除列,它仍然可以正常工作Sheet2.