例如,我有一个使用 If 函数的单元格,并且条件是一个长表达式(在我的示例中,我将其称为“长表达式”),如果条件为真,它应该返回长表达式,如果条件为假,则单元格应该为空白。
例子:
=If(长表达式 > 0, 长表达式, "")
是否有一个带有语法的快捷方式,这样我就不必在 if 函数中写两次长表达式,而不必将长表达式存储在另一个单元格中并引用它?
答案1
如果你的长表达式真的很长,那么我建议你使用LET 函数以减少公式的长度。如上所述这里:
LET 函数为计算结果分配名称。这允许在公式中存储中间计算、值或定义名称。这些名称仅适用于 LET 函数的范围内。与编程中的变量类似,LET 是通过 Excel 的原生公式语法实现的。
=LET(x,long expression,IF(x,x,""))
假设您的长表达式是:G5 + H5 + I5 + J5 + K5 + L5 + M5
并且您想检查它是否超过 10。您可以使用LET
下面显示的函数:
=LET(x,G5 + H5 + I5 + J5 + K5 + L5 + M5,IF(x>10,x,""))
代替:
=IF( (G5 + H5 + I5 + J5 + K5 + L5 + M5)>10,G5 + H5 + I5 + J5 + K5 + L5 + M5,"")
答案2
如果真的那么复杂,我会先计算一列中所述的“长表达式”。
本专栏将被隐藏,这里假设是 B 列。
然后您只需在 C3 中输入:=if(B3>0;B3;"")
如果记忆不错的话,使用(特定)数字格式,你可以比 if(B3>0;B3;"") 更轻松地完成...