2016-11-21 68 views
-1

我正在使用嵌套在語句中的SUMIF公式。有時我的公式會計算我需要發生的事情,有時候它會顯示爲錯誤。邏輯的順序如下: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)))) 

的是我寫的一個例子:當Cell Value="Partial Sale""Partial Purchase",我不斷收到一個錯誤

=IF(CK8="No Change",BY8/SUMIF($CK$8:$CK$4996,"No Change",$P$8:$P$4996), 
IF(CK8="Partial Sale",BY8/sumif($CK$8:$CK$4996,"Partial Sale",$P$8:$P$4996), 
IF(CK8="Partial Purchase",BY8/SUMIF($CK$8:$CK$4996,"Partial Purchase",$P$8:$P$4996), 
IF(CK8="New Purchase",BY8/SUMIF($CK$8:$CK$4996,"New Purchase",$P$8:$P$4996),FALSE)))) 

我的問題來了。我檢查了我的Cost列,每個單元格都有一個值(範圍從負數到零,包括零)。我也將其轉換爲SUMIFS公式,並且未發生變化。我還在文本值前後使用了*,因爲我在某處看到它是必需的,但沒有變化。可能是什麼問題?

+1

你會得到什麼錯誤? '#DIV!0'? –

回答

1

我測試的公式,並只給出了錯誤#DIV/0!爲指向的@Robin麥肯)SUMIF($CK$8:$CK$4996,$CK8,$P$8:$P$4996)=0可以檢查條件與這些公式:

=BY8/SUMIF($CK$8:$CK$4996,"Partial Sale",$P$8:$P$4996) 
=BY8/SUMIF($CK$8:$CK$4996,"Partial Purchase",$P$8:$P$4996) 

也有沒有需要嵌套IF的,試試這個公式改爲:

=BY8/SUMIF($CK$8:$CK$4996,CK8,$P$8:$P$4996) 

以上只是公式替換列表的值

"No Change", "Partial Sale", "Partial Purchase", "New Purchase" 

與用於比較列表中的單元格的值:CK8

換句話說:

這是原來的公式

=IF(CK8=[ListValueA1],BY8/SUMIF($CK$8:$CK$4996,[ListValueB1],$P$8:$P$4996), 
IF(CK8=[ListValueA2],BY8/sumif($CK$8:$CK$4996,[ListValueB2],$P$8:$P$4996), 
IF(CK8=[ListValueA3],BY8/SUMIF($CK$8:$CK$4996,[ListValueB3],$P$8:$P$4996), 
IF(CK8=[ListValueA4],BY8/SUMIF($CK$8:$CK$4996,[ListValueB4],$P$8:$P$4996),FALSE)))) 

其中[ListValueAx] = [ListValueBx]

如果CK8=[ListValueAx]那麼我們可以用代替並消除嵌套IF