ISERROR + VLOOKUP对于空单元格的不同结果

时间:2019-08-30 06:15:32

标签: excel excel-formula

我试图对vlookup进行简单检查:

=IF(ISERROR(VLOOKUP(B2;SA!C:K;2;FALSE));"Error";VLOOKUP(B2;SA!C:K;2;FALSE))

问题是我在两个空单元格中得到了两个不同的结果。

Error

0

所有单元格都具有相同的类型:常规。不明白为什么这是不同的:/

我期望iserror = TRUE(单元为空)时出现消息。这种情况是“错误”。

示例文件:https://www.dropbox.com/s/jzoq9530qxtig38/ZZZ.xlsm?dl=0

2 个答案:

答案 0 :(得分:1)

您得到0是因为VLOOKUP找到了密钥,但是它旁边的值为空。

还要将其标记为Error,请使用:

=IF(LEN(IFERROR(VLOOKUP(B2;SA!C:K;2;FALSE);"Error"))=0;"Error";IFERROR(VLOOKUP(B2;SA!C:K;2;FALSE);"Error"))

答案 1 :(得分:1)

在C2中,使用以下公式:

=IFERROR(IF(LEN(INDEX(SA!$D:$K,MATCH($B2,SA!$C:$C,0),COLUMN(A1)))=0,"error",INDEX(SA!$D:$K,MATCH($B2,SA!$C:$C,0),COLUMN(A1))),"error")

编辑,因为您并不是真正想显示“错误”而是显示“”,所以您也可以尝试:

=IFERROR(INDEX(SA!$D:$K,MATCH($B2,SA!$C:$C,0),COLUMN(A1))&""),"error")