標題:
請問sumproduct如何不包含隱藏
[打印本頁]
作者:
amu1129
時間:
2010-8-14 20:38
標題:
請問sumproduct如何不包含隱藏
請問我有很多天商品的資料
A欄日期 B欄商品 C欄數量 D欄價格
我先使用自動篩選選取某一日
會出現某日所有的商品、數量、價格
我使用sumproduct選取數量和價格
但是他會將隱藏的數字也列入計算
要如何只算顯示表格的乘積加總??
麻煩大大指導
作者:
kimbal
時間:
2010-8-14 22:00
本帖最後由 kimbal 於 2010-8-14 22:02 編輯
回復
1#
amu1129
sumproduct+subtotal
F11公式: 假設條件在 F8和F9
=SUMPRODUCT(--(B2:B6=F8),--(A2:A6=F9),SUBTOTAL(109,OFFSET(C2:C6,ROW(C2:C6)-ROW(C2),0,1)),(D2:D6))
[attach]2425[/attach]
[attach]2426[/attach]
但是...還是建議多用樞紐表
作者:
amu1129
時間:
2010-8-14 23:08
謝謝版主~版主好厲害
不過我對這函數還不是很懂
subtotal(109)是忽略隱藏的加總
而sumproduct的乘積應該是以最後兩個範圍算的吧
這樣不就變成C欄總和 x D欄?
還有小弟對offset的函數不是很懂
可以請版主稍微講解嗎
另外請問這個公式一定需要假設條件嗎
不能直接像sumproduct用滑鼠選取範圍即可嗎
煩請為小弟不才指點一下,感謝
作者:
kimbal
時間:
2010-8-15 11:12
本帖最後由 kimbal 於 2010-8-15 11:13 編輯
回復
3#
amu1129
想分別欄位的話,這樣就可以了
c:
=SUMPRODUCT(--(B2:B6=F8),--(A2:A6=F9),SUBTOTAL(109,OFFSET(C2:C6,ROW(C2:C6)-ROW(C2),0,1)))
d:
=SUMPRODUCT(--(B2:B6=F8),--(A2:A6=F9),SUBTOTAL(109,OFFSET(D2:D6,ROW(D2:D6)-ROW(D2),0,1)))
這個要用上OFFSET了, 直接用SUBTOTAL(109,D2:D6) 會變成實數,不是陣列
作者:
amu1129
時間:
2010-8-15 11:55
謝謝~我大致上了解用法了
只是還有一個地方不太懂
ROW(C2:C6)-ROW(C2)
為什麼要減ROW(2)啊?
但是我將減ROW(2)拿掉的話
數值又不對
可以麻煩版主告訴我這個動作是幹嘛用的嗎?
作者:
kimbal
時間:
2010-8-15 21:33
回復
5#
amu1129
公式可以寫成這個樣子:
=SUMPRODUCT(--(B2:B6=F8),--(A2:A6=F9),SUBTOTAL(109,OFFSET(C2,ROW(C2:C6)-
2
,0)))
還原基本步, 前半步的理解嗎?
=SUMPRODUCT(--(B2:B6=F8),--(A2:A6=F9))
這句可以解釋為
--(B2=F8) * --(A2=F9)
+ --(B3=F8) * --(A3=F9)
+ ....
+ --(B6=F8) * --(A6=F9)
-- 用來把判斷條件換成1 / 0, 1就是B2=F8 的意思
加了 " ,SUBTOTAL(109,OFFSET(C2,ROW(C2:C6)-2,0)) " 後
--(B2=F8) * --(A2=F9) * SUBTOTAL(109,C2)
+--(B3=F8) * --(A3=F9) * SUBTOTAL(109,C3)
...
+--(B6=F8) * --(A6=F9) * SUBTOTAL(109,C6)
回上一步
--(B2=F8) * --(A2=F9) * SUBTOTAL(109,OFFSET(C2,0,0))
+--(B3=F8) * --(A3=F9) * SUBTOTAL(109,OFFSET(C2,1,0))
...
+--(B6=F8) * --(A6=F9) * SUBTOTAL(109,OFFSET(C2,4,0))
再回上一步
--(B2=F8) * --(A2=F9) * SUBTOTAL(109,OFFSET(C2,ROW(C2)-2,0))
+--(B3=F8) * --(A3=F9) * SUBTOTAL(109,OFFSET(C2,ROW(C3)-2,0))
...
+--(B6=F8) * --(A6=F9) * SUBTOTAL(109,OFFSET(C2,ROW(C6)-2,0))
作者:
amu1129
時間:
2010-8-15 23:58
回復
6#
kimbal
謝謝版主~
小弟大致上都懂了
但小弟資質愚鈍
對ROW(C2:C6)-2還是不懂耶
可以針對ROW(C2:C6)-2講解嗎
我知道ROW(C2:C6)是陣列
但-2這步實在不懂
麻煩請為小弟再指點一下,謝謝
作者:
kimbal
時間:
2010-8-16 22:22
回復
7#
amu1129
ROW(C2:C6)-2
回傳出來的是 2-2,3-2,4-2,5-2,6-2 即 0,1,2,3,4
配合offset來用,
OFFSET(C2,0,0) 回傳 C2 自己
OFFSET(C2,1,0) 回傳 C3
OFFSET(C2,2,0) 回傳 C4
OFFSET(C2,3,0) 回傳 C5
OFFSET(C2,4,0) 回傳 C6
作者:
amu1129
時間:
2010-8-16 22:37
回復
8#
kimbal
又學會一樣了 謝謝版主!
作者:
lumark1976
時間:
2010-12-21 00:57
好深奧哦!!我的功力太淺,我要在加強跟各位先進學習,看了一知半解,哈哈
作者:
cck8x8
時間:
2010-12-21 14:51
好複雜 ~"~
看來我要脫離嫩咖的稱號還需要走很長的一段路...
受教了
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)