EXCEL 的公式要如何寫?

2010-02-04 12:54 am
要請算下列公式,要如何算

A -----B-----C
100 , 1月 , *
200 , 2月 , *
300 , 3月 , *
400 , 1月 , *
300 , 5月 , *

如有以上數值,
1月份的數量要統計在一起
2月份的數量要統計在一起
3~5月份的要統計在一起.

請問公式要如何寫?

回答 (3)

2010-02-04 1:21 am
✔ 最佳答案
用SUMPRODUCT

範例下載

http://www.FunP.Net/515778
2010-02-04 9:45 pm
題目只有比較『月份』單一條件,用 sumif() 函數即可。
sumif() 函數有三個參數,
第一個是拿來比較的範圍,
第二個是條件,
第三個是如果條件符合時要加總的範圍。
以下圖為例,
數量擺在A欄、月份擺在B欄,
若要求 1 月份數量統計,公式為 =SUMIF(B:B, "1月", A:A) ,
意思是說『如果 B 欄的值是 ”1月”,就把相對應的 A 欄的值拿來加總』。
若要求 3~5 月的數量統計,也就是 3、4、5 這三個月數量統計的加總,
公式為
=SUM(SUMIF(B:B,"3月",A:A),
SUMIF(B:B,"4月",A:A),
SUMIF(B:B,"5月",A:A))
若要用 sumproduct() 函數也行,只是稍微抽象一點,沒有那麼直接了當,
sumproduct() 函數可以對至多 30 個陣列做運算,求其『對應元素乘積之和』。









A
B
C
D

1
3
4
2
7

2
8
6
6
7
例如 SUMPRODUCT(A1:B2, C1:D2) 運算結果
將兩個陣列的所有相對應的元素相乘,並加總各乘積;
即 3*2 + 4*7 + 8*6 + 6*7 = 124 。
以下圖為例,若要求 1 月份數量統計,
公式為 =SUMPRODUCT(A2:A21*(B2:B21="1月"))
用 sumproduct() 函數解這類題目,必須搭配『邏輯值』,
當 B2="1月" 成立時,
它的邏輯值為 TRUE,用1代表,所以 A2 * (B2="1月") 的值還是 A2;
當 B3="1月" 不成立時,
它的邏輯值為 FALSE,用0代表,所以 A3 * (B3="1月") 的值是 0 。
所以 SUMPRODUCT(A2:A21*(B2:B21="1月")) 運算的結果,
只有條件成立時才會被加總,其他情形的乘積為 0 ,加了也是白搭。
若要求 3~5 月的數量統計,公式為
=SUMPRODUCT(A2:A21 *
((B2:B21="3月")
+(B2:B21="4月")
+(B2:B21="5月")))
B 欄的值如果是 ”3月”、”4月”或 ”5月”,
邏輯值為TRUE,也就是1,乘積就會被加總。


圖片參考:http://public.bay.livefilestore.com/y1psRXYZDC1qkG5bXoaraTA4q_U5GVJy3iou8LmASvF7G20Y8qXCA45_47EQOmcXgtjnZGnh9l_xLtkXOFlI_YNVA/sumif.jpg


2010-02-05 00:56:35 補充:
知識+又在發神經了,
預覽好好的,檢視 html 也沒問題,沒想到一發表就變了調。
沒事亂加 ,害我表格都亂掉!
而且,
『有時候』 style 會被吃掉,害我格式跑掉,圖也不見了!
參考: Excel 2003
2010-02-04 1:55 pm
用 sumif 就可以了


收錄日期: 2021-04-27 17:18:23
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20100203000010KK06819

檢視 Wayback Machine 備份