在计算值之前测试单元格的多种条件

在计算值之前测试单元格的多种条件

我正在处理包含公式的工作簿

=IF(ISTEXT(G4),0,IF(ABS((G4/H4)-1)>=0.2,0,1))

现在如果H4值为零时,我收到 Excel 错误#DIV/0!。我想使用ISERROR公式将 替换为#DIV/0!破折号。这是我的公式

=IF(ISERROR(G4/H4),"--",(ISTEXT(G4),0,IF(ABS((G4/G4)-1)>=0.2,0,1)))

这可能吗?还是我需要另一个公式来做我需要的事情?

如果G4有文本值放置“0”I4,或者如果计算结果错误,则在I4,否则执行公式IF(ABS((G4/H4)-1)>=0.2,0,1))

任何帮助将不胜感激

答案1

您可以使用以下公式:

=IF(ISTEXT(G4),0,IFERROR((ABS((G4/H4)-1)<0.2)*1,"--"))

如果ABS((G4/H4)-1)>=0.2为 TRUE,则为ABS((G4/H4)-1)<0.2FALSE,反之亦然。

像那样反转逻辑并将变成TRUE1变成FALSE就是0这样(ABS((G4/H4)-1)<0.2)*1的。

答案2

应该工作 -

=IF(ISTEXT(G4),0,IF(ISERROR(ABS((G4/H4)-1))=1,"--",IF(ABS((G4/H4)-1)>=0.2,0,1)))

相关内容