Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IF的excel默认值_Excel_Function_If Statement - Fatal编程技术网

IF的excel默认值

IF的excel默认值,excel,function,if-statement,Excel,Function,If Statement,是否可以为if添加“默认值” 让我们举一个例子: 如果(公式=”,“”,公式)或更具体地说: 如果(trim(间接(地址($G$2+1+$K6,$F6+L$5,4,TRUE,$F$2))=“”,“”,间接(地址($G$2+1+$K6,$F6+L$5,4,TRUE,$F$2))在特定情况下,如果您想将返回零的复杂公式转换为空字符串(或其他一些默认值),您可以使用IFERROR和除以零会产生错误的事实 =IFERROR(1/(1/complex_formula),"") 但是,只有当你试图抓住一个

是否可以为if添加“默认值”

让我们举一个例子:

如果(公式=”,“”,公式)
或更具体地说:


如果(trim(间接(地址($G$2+1+$K6,$F6+L$5,4,TRUE,$F$2))=“”,“”,间接(地址($G$2+1+$K6,$F6+L$5,4,TRUE,$F$2))

在特定情况下,如果您想将返回零的复杂公式转换为空字符串(或其他一些默认值),您可以使用IFERROR和除以零会产生错误的事实

=IFERROR(1/(1/complex_formula),"")
但是,只有当你试图抓住一个零的时候,这才有效。否则你会被一个IF卡住

有时,您可以简化复杂的_公式,以确定它返回零的原因。如果你有

partial_complex_formula*cell

其中,单元格为零是最有可能的情况,即整个事件返回零。然后,您可以简单地进行测试,而不是运行整个公式。不过,这是一个非常狭隘的例子。

我发现在Excel中处理这一问题的最佳方法是使用一个单元格来保存感兴趣的根值(在您的示例中,
=trim(间接(地址($G$2+1+K6,$F6+L$5,4,TRUE,$F$2))
,另一个单元格来执行用默认值替换的逻辑:
=IF(M6=“”,M6)
当然,可以隐藏包含中间计算的列。

如果
完整,为什么不删除
呢?公式给出
或非
,在第一种情况下,您需要得到
,在第二种情况下,没有
修剪
(我相信修剪会更好,除非你有充分的理由不修剪),你想要它本身…我把如果因为它我检查的单元格是空的,公式给x一个零“0”,而不是一个空字符串(“”).现在,我刚刚检查了修剪,它工作了。非常感谢。但是问题在不同的上下文中是相同的:if(complex_formula=something,complex_formula,“”)不幸的是,没有。您可以拥有的最接近的东西仅限于给出错误的表达式,并且您不希望得到错误。在这种情况下,您可以使用
IFERROR
。例如
IFERROR(公式,0)
将返回公式的结果,除非它给出错误,在这种情况下它将返回
0