VLOOKUP为空白单元格返回0

我有一个像SheetW中的数据

ABCD 1 EID Y/N 2 1001 n 3 1004 n 4 1005 n 5 1006 y 6 1009 n 7 1006 y 8 1007 n 9 1008 y 10 1010 

我在其他sheetYN中使用VLOOKUP来填充基于上表的Y / N,使用vba vlookup

我的vba代码

  With Sheets("sheetYN") LastRow2 = .Cells(.Rows.Count, "A").End(xlUp).Row + 1 End With For X = 2 To LastRow2 wsSheet1.Cells(X, 2).Formula = "=VLOOKUP(A" & X & ",'SheetW'!$A$2:$B$321,2,FALSE)" Next X 

结果如下所示。 但是空* EID * s填充为0.如果EID为空白,如何将Y / N显示为空白而不是0

  1 EID Y/N 2 0 3 1001 n 4 0 5 1004 n 6 0 7 1005 n 8 0 9 1006 y 10 0 11 1009 n 12 1006 y 13 1007 n 14 1008 y 15 1010 0 

简单如果语句应该做的伎俩。 检查你旁边的单元格是否空白。 如果是,那么“”如果是假的,那么你的公式。

通过快速修复最简单的方法可能仅仅是接受“按原样”的输出,并将ColumnB格式化为类似;;;General有效隐藏单元格的内容。

另一种快速解决方法是将现有公式中查找失败(即#N / A结果而不是0 )所产生的错误修改为:

 wsSheet1.Cells(X, 2).Formula = "=iferror(VLOOKUP(A" & X & ",'SheetW'!$A$2:$B$321,2,FALSE),"""")" 

所以在没有价值的地方,公式什么也不显示。