作者r50o19 (打開推進器)
看板Office
標題[算表] 判斷列的加總
時間Fri Apr 5 00:05:10 2019
軟體:Excel
版本:2013
事情是這樣的,我需要把 訂單的總和 - 銷量的總和,
可是如果訂單超過銷量2個月的話,就不算多出來第2個月的訂單,
因為這樣其中一種預估生產排程會不準,
大概像這樣,
https://imgur.com/WyOqY0U
如果 訂單目前到5月份,銷量到4月份
則是SUM(B3:F3)-SUM(B4:E4)=10;5月訂單-4月銷量
訂單目前到5月份,銷量到5月份
則是SUM(B3:F3)-SUM(B4:F4)=0 ;5月訂單-5月銷量
訂單目前到6月份,銷量到4月份
則是SUM(B3:F3)-SUM(B4:E4)=10;5月訂單-4月銷量
目前能想到的公式大概像上圖 N6 這樣,接著就頭腦冒煙了 T_T
想請問要怎麼設定才能達成我想做的呢?
謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.223.83.230
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1554393912.A.59F.html
不好意思,soyoso大,我是真的看不懂啊啊 T_T
好多問題要問,
先說我看得懂的地方
SUMPRODUCT:計算陣列間對應元素相乘,並傳回乘積之和
公式:SUMPRODUCT(Array1,Array2,Array3,...)
COLUMN:傳回參照的欄數
公式:COLUMN(reference)
然後...然後...我就看不懂了...
首先
(B3:M4-B4:M4)這段,為什麼這時候能用選取範圍相減?
然後...然後...我又懵了...
COUNT(B4:M4)
這段應該是算 4列 個數
COUNT(B3:M3) > COUNT(B4:M4)
這段應該是若 3列 個數 > 4列 個數則為 TRUE
所以就變成
B個數 + (A個數 > B個數 ; 0,1)
那
COLUMN(A:L)在這邊的用意是什麼?這樣抓取的值不是都為1嗎?
那變成
[ 1 <= B個數 + ( 0 或 1) ]
這樣不就全部都是TRUE了嗎??
最後,回到主題
這些合在一起我更滿頭問號了啊啊啊!
那這段公式合起來看就變成
SUMPRODUCT{(A和-B和)*[ 傳回欄數(1) <= B個數 + ( 0 或 1 ) ]}
==> SUMPRODUCT[(A和-B和)*1]
怎麼看都是我誤解了!! 請問這段公式是什麼意思啊!! 感謝!!
還有,我試打了一下,如圖:
https://imgur.com/v47ri41
結果錯誤了,請問我哪邊打錯了,謝謝!!
※ 編輯: r50o19 (61.223.83.230), 04/05/2019 14:01:08
→ soyoso: A:M改為A:L 04/05 14:27
→ soyoso: sumproduct乘積外,可將相同維度的b3:b4-b4:m4對應相減, 04/05 16:03
→ soyoso: 除減外也可加乘除、次方運算 04/05 16:03
→ soyoso: 條件判斷為真true和假false,在運算後會是1和0,這方面原 04/05 16:03
→ soyoso: po回文也有寫到 04/05 16:03
→ soyoso: 所以b個數會+1或0就看count(b3:m3)>count(b4:m4)為真或假 04/05 16:03
→ soyoso: column(A:L)在該公式的值不是都為1,而是1,2,3,4...,12 04/05 16:03
→ soyoso: 1,2,3,4...,12<=b個數+(0或1)就會是true,true,true..., 04/05 16:03
→ soyoso: false,12個元素的array 04/05 16:03
→ soyoso: (b3:m3-b4:m4)則是b3-b4,c3-c4...m3-m4也會是12個元素的 04/05 16:03
→ soyoso: array,最後再相乘 04/05 16:03
喔喔,
也就是column(A:M)就是1,2,3,...,13,因為超過對應維數導致錯誤,
所以才改成column(A:L)
懂了懂了,謝謝soyoso大!!
※ 編輯: r50o19 (61.223.83.230), 04/05/2019 16:26:01