如何使用嵌套的 IF 和 OR 函数来求解这个方程?

问题描述 投票:0回答:2

如果单元格

A19
SHARES LOG
I2
SPREADS LOG
中有数据,我正在尝试让单元格
F2
计算下面所示的公式。如果这些单元格中没有数据,我希望
A19
返回一个空白单元格。

目前,如果前面提到的一个或两个单元格中有数据,则该公式正在正确计算公式,但是,如果任一单元格

SHARES LOG
I2
SPREADS LOG
F2
、单元格
A19 中都没有数据,则该公式正在正确计算公式
不返回空白。

我不明白为什么会这样,因为公式看起来是正确的。

SHARES LOG
I2
SPREADS LOG
F2
中没有数据时,单元格
A19
中的结果为
+ £ 0.00 / + £ 0.00

这是单元格中的当前公式

A19

=IF(OR(COUNT('SHARES LOG'!I2=1),('SPREADS LOG'!F2=1)),TEXT(SUM('SHARES LOG'!N:N,'SPREADS LOG'!M:M)," + £ #,##0.00")&" / "&TEXT(SUM('SHARES LOG'!L:L,'SPREADS LOG'!K:K)," + £ #,##0.00"),"")

excel excel-formula
2个回答
1
投票

正确的公式应该是:

=IF(OR(COUNT('SHARES LOG'!I2)=1,count('SPREADS LOG'!F2)=1),TEXT(SUM('SHARES LOG'!N:N,'SPREADS LOG'!M:M)," + £ #,##0.00")&" / "&TEXT(SUM('SHARES LOG'!L:L,'SPREADS LOG'!K:K)," + £ #,##0.00"),"")

您已将 '=1' 放入计数中,以便将单元格 'SHARES LOG'!I2 或 'SPREADS LOG'!F2 与 1 进行比较,然后对结果进行计数。结果只能是 True 或 False,并且 Count 会将其中任何一个视为数字,因此您将始终得到 1 的计数,这意味着您的 Or 语句将始终得到满足,并且您将获得格式化的数字而不是空白If 语句。

还有其他更直接的方法来测试 'SHARES LOG'!I2 和 'SPREADS LOG'!F2 的内容,例如使用 Isnumber(假设它们应该包含数字)。


1
投票

虽然 Tom Sharpe 已经给出了答案,但我相信更好的解决方案是公式审核,在 this URL 中进行了解释。更准确地说,“评估公式”功能正是您解决此类问题所需要的:它允许您逐步评估您的公式。因此,您编写公式,并尝试预测下一步的结果。当您的期望与结果不符时,您已经发现公式中存在错误。

© www.soinside.com 2019 - 2024. All rights reserved.