我试图对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。
答案 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")