如何定义一个Excel函数,如果公式的结果为空白,该函数将返回空白?
如果vlookup发现空白,则返回零。我想将vlookup嵌入到一个函数中,如果vlookup找到一个空白单元格,则返回一个空白而不是零。
我不想输入:
=if(vlookup(args) = "", "", vlookup(args))
我希望具有类似于内置的Iferror函数的语法,其语法为:
=blankreturn(function)
如果函数导致空白,则返回空白,否则返回空白。
我试图定义一个自定义函数,但是当找到一个空白单元格时它仍然返回零
public Function Blankreturn(formula as variant)
If IsEmpty(formula) = True Then
Blankreturn = ""
Else
Blankreturn = formula
End if
End Function
甚至更好,尽管我不知道从何处开始:
ifblank(function, "This is blank")
如果第一个参数为空,则返回第二个参数。
谢谢
答案 0 :(得分:2)
您可以构建自己的特殊VLookup函数
Option Explicit
Public Function MyVLookup(Arg1, Arg2, Arg3, Optional Arg4 = True)
MyVLookup = Application.VLookup(Arg1, Arg2, Arg3, Arg4)
If VarType(MyVLookup) = 0 Then MyVLookup = vbNullString
End Function
但是可能使用VBA用户定义功能比使用我可以想象的方法=if(vlookup(args) = "", "", vlookup(args))
慢(需要测试)。