Excel IFBLANK 相当于 IFERROR

Excel IFBLANK 相当于 IFERROR

IFERROR效果很好,因为它通过默认行为大大缩短了公式,如果条件不满足(无错误),则返回结果。我正在寻找IFBLANK此行为的版本,即如果条件不满足(非空白),则返回结果。

假设我有一个复杂的多行公式“核心公式”。我可以用来=IFERROR(Core Formula, "")处理错误。

我想要类似的东西=IFBLANK(Core Formula, "")

我知道我可以用 来做到这一点=IF(Core Formula="","",Core Formula),但如果我的“核心公式”真的很复杂且冗长,“如果公式”会使我的公式长度加倍,并且很难跟踪/追踪/修改,尤其是当公式需要由其他贡献者审查时。

PS 我总是必须处理由具有不同含义的零和空白组成的数据。

答案1

Excel 中不存在此类函数,您有两个选择:

函数仅在 Excel 365 的较新版本中可用,您可以使用该函数编写以下命令:

=LET(x,<core formula>,IF(x="","",x)

创建您自己的用户定义的 VBA 函数

打开 VBA 编辑器并输入以下代码:

Function IFBLANK(param1 As Variable, param2 As Variable) As Variable
  If param1 = "" or param1 Is Null then
    Return param2
  Else 
    Return param1
  End If
End Function

答案2

如果您拥有支持 LAMBDA 函数的最新版本的 Excel,则可以进入“名称管理器”并使用以下代码创建“IfBlank”条目来创建自己的函数:

=LAMBDA(value,default,IF(ISBLANK(value),default,value))

之后,您可以从工作簿中的任何位置调用它。

=IfBlank(A1,A2)

答案3

如果答案为空,Excel 将以不同于文本的方式处理内容。

一个可接受的解决方案(也是我一直使用的解决方案)是&""在公式末尾添加一个。这将强制 Excel 将空白视为文本,并且您将不会看到通常看到的零。

请参阅这个问题。 在 Excel 2010 中引用空白单元格时显示空白

相关内容