Excel 如何在同一if语句中循环使用长公式

Excel 如何在同一if语句中循环使用长公式,excel,excel-formula,Excel,Excel Formula,我有一个if语句,如下所示: =If(LONG 1000-CHARACTERS FORMULA > 0, LONG 1000-CHARACTERS FORMULA, "null") 在英语中,如果1000个字符的公式大于0,则单元格将返回1000个字符的公式输出 问题是复制和粘贴长1000个字符的公式 一个简单的解决方法是将1000个字符的公式存储在一个隐藏单元(即B2)中,然后编写以下代码: =If(B2 > 0, B2, "null) 但是,我不想使用上面的方法,因为我有许多

我有一个
if
语句,如下所示:

=If(LONG 1000-CHARACTERS FORMULA > 0, LONG 1000-CHARACTERS FORMULA, "null")
在英语中,如果1000个字符的公式大于0,则单元格将返回1000个字符的公式输出

问题是复制和粘贴长1000个字符的公式

一个简单的解决方法是将1000个字符的公式存储在一个隐藏单元(即B2)中,然后编写以下代码:

=If(B2 > 0, B2, "null)
但是,我不想使用上面的方法,因为我有许多单元格具有不同的长公式

相反,是否有办法在
If
语句中循环使用1000个字符的公式?可能的结果可能如下所示:

=If(LONG 1000-CHARACTERS FORMULA > 0, xyz, "null")

您需要一个具有倒数且仅对正数有效的函数。一个好的候选人是

y=1/sqrt(x)

谁的倒数是

x=y^-2
所以这个公式变成了

Iferror(((long_formula^-.5)^-2,"null")
然而,从链接到上一个问题的评论来看,(countifs)的结果似乎不能是负数,因此您可以将其简化为1/(1/long_公式),如@Gary的学生(现在已删除)答案所示

编辑

我忘了还有另一种方法可以做到这一点——如果数字是负数或零,则使用文本函数以不同的格式设置数字:

=TEXT(long_formula,"general;\n\u\l\l;\n\u\l\l")

结果是一个字符串,因此如果要将其与另一个数字进行比较,则需要将其转换为一个数字。

如果可以共享,可能有一种方法可以缩短1000个字符的公式:-)^^^^^^^^^^^^^^^事实上,通常长公式表示应该使用不同的方法。也许您可以提供所述公式并解释您试图实现的目标?我的公式使用此处回答的公式:我有很长的引用表和变量名,我无法更改。您也可以将该长公式放在页面的另一个单元格中,然后引用该单元格。这将有助于缩小任何问题。那么您的if是:
=if(ZZ1>0,ZZ1,“null”)
在我的答案中添加了另一个方法。
=TEXT(long_formula,"general;\n\u\l\l;\n\u\l\l")