VLOOKUP为空白单元格返回0

时间:2014-05-28 20:49:56

标签: excel vba excel-vba vlookup

我在SheetW中有数据

   A       B      C     D

 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 

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

通过快速修复最简单的方法可能只是“按原样”接受输出,并使用类似;;;General的格式设置ColumnB格式,从而有效隐藏单元格的内容。

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

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

因此,如果没有要查找的值,则公式不显示任何内容。