SUMIF 公式部分运行
SUMIF formula runs partially
我正在使用嵌套在 IF
语句中的 SUMIF
公式。有时我的公式会计算我需要发生的事情,有时它会显示为错误。逻辑顺序如下:
If(Cell Value="No Change",Cost/Total Cost of No Change,
If(Cell Value="Partial Sale",Cost/Total Cost of Partial Sale,
If(Cell Value="Partial Purchase",Cost/Total Cost of Partial Purchase,
If(Cell Value="New Purchase",Cost/Total Cost of New Purchase,
False))))
我写的例子:
=IF(CK8="No Change",BY8/SUMIF($CK:$CK96,"No Change",$P:$P96),
IF(CK8="Partial Sale",BY8/sumif($CK:$CK96,"Partial Sale",$P:$P96),
IF(CK8="Partial Purchase",BY8/SUMIF($CK:$CK96,"Partial Purchase",$P:$P96),
IF(CK8="New Purchase",BY8/SUMIF($CK:$CK96,"New Purchase",$P:$P96),FALSE))))
我的问题出现在 Cell Value="Partial Sale"
或 "Partial Purchase"
时,我不断收到错误消息。我检查了我的 Cost
列,每个单元格都有一个值(范围从负数到 posties,包括零)。我也将其转换为 SUMIFS
公式,但没有发生任何变化。我还在我的文本值前后使用了 *
,因为我看到某处需要它,但没有改变。可能是什么问题?
我测试了公式,它只给出错误 (#DIV/0!
正如@Robin Mackenzie 所指出的) 当 SUMIF($CK:$CK96,$CK8,$P:$P96)=0
你可以用这些检查那个条件公式:
=BY8/SUMIF($CK:$CK96,"Partial Sale",$P:$P96)
=BY8/SUMIF($CK:$CK96,"Partial Purchase",$P:$P96)
也不需要嵌套 IF
,请尝试使用此公式:
=BY8/SUMIF($CK:$CK96,CK8,$P:$P96)
上面的公式只是替换了列表的值
"No Change", "Partial Sale", "Partial Purchase", "New Purchase"
与用于比较列表的单元格的值:CK8
换句话说:
这是原来的公式
=IF(CK8=[ListValueA1],BY8/SUMIF($CK:$CK96,[ListValueB1],$P:$P96),
IF(CK8=[ListValueA2],BY8/sumif($CK:$CK96,[ListValueB2],$P:$P96),
IF(CK8=[ListValueA3],BY8/SUMIF($CK:$CK96,[ListValueB3],$P:$P96),
IF(CK8=[ListValueA4],BY8/SUMIF($CK:$CK96,[ListValueB4],$P:$P96),FALSE))))
其中 [ListValueAx] = [ListValueBx]
如果CK8=[ListValueAx]
那么我们可以用CK8
替换[ListValueBx]
并消除嵌套的 IF
's
我正在使用嵌套在 IF
语句中的 SUMIF
公式。有时我的公式会计算我需要发生的事情,有时它会显示为错误。逻辑顺序如下:
If(Cell Value="No Change",Cost/Total Cost of No Change,
If(Cell Value="Partial Sale",Cost/Total Cost of Partial Sale,
If(Cell Value="Partial Purchase",Cost/Total Cost of Partial Purchase,
If(Cell Value="New Purchase",Cost/Total Cost of New Purchase,
False))))
我写的例子:
=IF(CK8="No Change",BY8/SUMIF($CK:$CK96,"No Change",$P:$P96),
IF(CK8="Partial Sale",BY8/sumif($CK:$CK96,"Partial Sale",$P:$P96),
IF(CK8="Partial Purchase",BY8/SUMIF($CK:$CK96,"Partial Purchase",$P:$P96),
IF(CK8="New Purchase",BY8/SUMIF($CK:$CK96,"New Purchase",$P:$P96),FALSE))))
我的问题出现在 Cell Value="Partial Sale"
或 "Partial Purchase"
时,我不断收到错误消息。我检查了我的 Cost
列,每个单元格都有一个值(范围从负数到 posties,包括零)。我也将其转换为 SUMIFS
公式,但没有发生任何变化。我还在我的文本值前后使用了 *
,因为我看到某处需要它,但没有改变。可能是什么问题?
我测试了公式,它只给出错误 (#DIV/0!
正如@Robin Mackenzie 所指出的) 当 SUMIF($CK:$CK96,$CK8,$P:$P96)=0
你可以用这些检查那个条件公式:
=BY8/SUMIF($CK:$CK96,"Partial Sale",$P:$P96)
=BY8/SUMIF($CK:$CK96,"Partial Purchase",$P:$P96)
也不需要嵌套 IF
,请尝试使用此公式:
=BY8/SUMIF($CK:$CK96,CK8,$P:$P96)
上面的公式只是替换了列表的值
"No Change", "Partial Sale", "Partial Purchase", "New Purchase"
与用于比较列表的单元格的值:CK8
换句话说:
这是原来的公式
=IF(CK8=[ListValueA1],BY8/SUMIF($CK:$CK96,[ListValueB1],$P:$P96),
IF(CK8=[ListValueA2],BY8/sumif($CK:$CK96,[ListValueB2],$P:$P96),
IF(CK8=[ListValueA3],BY8/SUMIF($CK:$CK96,[ListValueB3],$P:$P96),
IF(CK8=[ListValueA4],BY8/SUMIF($CK:$CK96,[ListValueB4],$P:$P96),FALSE))))
其中 [ListValueAx] = [ListValueBx]
如果CK8=[ListValueAx]
那么我们可以用CK8
替换[ListValueBx]
并消除嵌套的 IF
's