仅显示符合给定条件的公式结果

Isz*_*szi 6 worksheet-function microsoft-excel

我喜欢保持我的 Excel 电子表格相当干净。所以,很多时候我最终会写出这样的语句:

IF([formula x]=[value],"",[formula x])
Run Code Online (Sandbox Code Playgroud)

本质上说的是,如果公式与给定的条件匹配,则不显示结果 - 否则,显示结果。

在某些情况下,[formula x]向下重复一整列单元格,并且每个单元格都有一个[formula x]指向其上方单元格的引用。为了避免公式错误,我必须添加另一个图层,如下所示:

IF(C2="","",IF([formula x]=[value],"",[formula x])
Run Code Online (Sandbox Code Playgroud)

但是,特别是当[formula x]很长时,这可能导致最终公式看起来比实际复杂得多,并且比应有的情况更难进行故障排除和维护。

这是一个可怕的例子......

基本公式:

=IF(A3>=$E$11,C2+(C2*($F$2/12))-$E$9,C2+(C2*($F$2/12))-$E$7)
Run Code Online (Sandbox Code Playgroud)

添加条件消隐:

=IF(C2="","",IF(IF(A3>=$E$11,C2+(C2*($F$2/12)-$E$9),C2+(C2*($F$2/12))-$E$7)<=0,"",IF(A3>=$E$11,C2+(C2*($F$2/12))-$E$9,C2+(C2*($F$2/12))-$E$7)))
Run Code Online (Sandbox Code Playgroud)

一个已经很长的公式的大小增加了一倍多,这样当相同的公式满足给定条件时,我可以显示一个空白(或任何其他选定的值)。如果我尝试在整行中执行此操作,根据起始公式,我很容易遇到循环引用错误。

有什么方法可以自引用同一单元格中的现有公式或参数,或者可以使用其他函数或功能来更干净地实现此结果?

执行我正在寻找的功能的函数可能是这样的:

=FnName([base formula],[match condition],[condition result])
Run Code Online (Sandbox Code Playgroud)

参数 1 是基本公式,参数 2 是我有兴趣匹配的条件。参数 3 是条件匹配时显示的结果。在条件不匹配的情况下,函数返回基本公式的结果。

小智 3

您是否考虑过评估隐藏单元格(或另一个工作表上的单元格)中的公式,然后根据隐藏单元格中的值进行条件消隐,而不必输入公式两次。我不知道你工作的整个背景,但我过去做过类似的事情并取得了一些成功。