【发布时间】:2019-02-14 16:04:08
【问题描述】:
如果公式的结果为空白,如何定义一个返回空白的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,它返回 ""。
-
您是否特别想要
VLOOKUP这个? -
@Rory 如果索引列为空,则返回 0
-
如果您将 VLOOKUP 公式传递给该 UDF,那么是的,它将返回 0,因为 VLOOKUP 将 0 传递给它。如果 VLOOKUP 结果应该是文本,只需使用
=VLOOKUP(args)&""。 -
@Rory 请注意,
=VLOOKUP(args)&""也会将任何数字/日期等转换为字符串。
标签: excel vba user-defined-functions