訪客留言簿

星期四, 4月 21, 2011

[試算表] 加總及統計計算函數(sum, count, sumif, countif)

前言

本函數適用於 LibreOffice / OpenOffice.org / Microsoft Office 等套裝辦公軟體的試算表。另外也有 sumifs 跟 countifs 的用法,不過這似乎就是 Microsoft Office 專屬的用法了。

也借此感謝教導我 sumif 用法的前輩。

試算表基本概念

不同的試算表軟體,操作上大同小異,不過對以下與函數相關的符號,解釋不同,先在這寫下 LibreOffice / OpenOffice.org 的用法,使用其他軟體的,請按 F1 鍵,參考該軟體的函數說明。

  • 等號「=」:用來表示這儲存格裡面寫的是個函數(計算式子)。比如說 =2*3 就是指這格是個 2*3 的函數,所以這一格會跑出 6 的結果。

  • 冒號「:」:用來表示要處理的資料範圍(方形區域)。比如說 A1 A2 B1 B2 可以用 A1:B2 來表示。

  • 逗號「,」:用來分隔函數內的參數(即要計算的資料內容)。比如說,假設一函數 BMI 只要輸入身高和體重,就會計算出身高體重指數來,那就可以在儲存格內寫入 =BMI(180,80),這樣子就會自動去算出 80/(1.8)^2=24.69 的結果。

  • 左右括號「()」:用來表示函數的計算式子。函數的使用方式是 =BMI(x,y) 這樣,函數名稱後,緊接著用左右括號包起來的範圍,就是計算式。比如說,數學裡有 (3+5(4/2)) 這種寫法,這個 5(4/2) 就很像試算表中的函數,把 5 當函數名稱來用的話,就是指算出括號內的 4/2 後,再去乘以 5 的意思。

  • 雙引號「"」:必為成對使用,用來表示裡面的是字串(文字)而非函數等等的。比如說 ="BMI(180;80)" 就只會顯示 BMI(180;80) 這文字結果,而非計算結果。

  • 加減乘除及次方符號「+ - * / ^」:就跟數學中的一樣用法,3+2 得 5、3-1 得 2、3*3 得 9、8/2 得 4、27^(1/3) 得 3。其他還有很多計算底數之類的請自己有興趣再翻翻說明文件。

補充說明

基本上就像上面雙引號一段寫的,不做計算的字串資料,其實也是能用函數來表示的,所以輸入儲存格的文字或數字之所以會被判定為文字或數字,其實也是程式暗中去填好了相關函數(雖然完全看不出來)。

不過函數中必須要注意一點,參數通常是一定要按照「順序」和「正確格式」來填的,比如說上面的 BMI 一定要身高先體重後,然後一定要用公分和公斤,這點視各家軟體、不同函數的設定而異,請按 F1 搜尋該函數名稱,仔細閱讀使用說明再用。

另外還有分號「;」以及單引號「'」可以用,分號「;」用法同逗號「,」,在 LibreOffice 中用「;」會自動幫你換成「,」,不過單引號「'」的詳細用法我還不確定,暫不說明。

儲存格範圍

函數內除了直接填寫數字外,也可以代入儲存格資料,比如說你現在有份試算表文件 ABC.ods,裡面有三個工作表(見試算表視窗左下)分別叫工作表1、工作表2、工作表3,工作表 1 的 A 行 1 列內填了數字 10,你想讓工作表 2 的 A 行 1 列這一格,也跟著工作表 1 的這一格變化時,只要在表 2 的 A 行 1 列,輸入 =工作表1.A1 即可,這樣表 1 的 A 行 1 列從 10 變成 12 時,表 2 的 A 行 1 列也會變成 12。

不過這畢竟是代入的值,所以 工作表2.A1 事實上並沒有 10 或 12 的數值在裡面,要是 工作表1.A1 裡面是空的,那就會跟著變成 0。

關於儲存格範圍的詳細用法,會在後面的 sum 函數中說明。

固定儲存格的位置參數

接著說明儲存格的「位置」要怎麼固定。

一般而言,不管是用 Ctrl 加 c 鍵去複製貼上,還是複製後按 F2 鍵直接貼上,新貼上資料的那格,裡面跟複製的那格,內容都是一樣的,也就是說,裡面的儲存格位置的參數並不會跑掉。

但如果是用滑鼠去「複製公式貼上」的話,就會依拖拉的方向,而加減儲存格位置的英數字了;甚至更麻煩的,就是你在工作表間,插入個新的工作表,結果參數也跟著依相對位置變化。

(※註:要使用滑鼠拖拉複製貼上公式,只要選取一格有公式的儲存格,再將滑鼠左鍵移到該儲存格右下角的小方塊上,然後按住滑鼠左鍵,往你想複製貼上的方式拉過去就好。數字或日期也能用這種方法複製貼上,不過會按等差累進規則去加 1 貼上,所以不想變化時,放開滑鼠左鍵前,要先按住 Ctrl 鍵。另外如果選取相鄰的兩格,比如說 2 和 4,然後再拖拉的話,就會按等差級數的規則,跑出 6 8 10 的結果。)

如果想固定某個與儲存格位置有關的參數,不讓它變化,只要在要固定的工作表名稱、行號或列數前,加個錢字號「$」就好。

比如說,「$工作表1.$A$1」時,不管怎麼拖拉,都只會跑出 工作表1.A1 的內容;「$工作表1.$A1」時,則是往橫的拉時,都是 工作表1.A1 的內容,但往直的拉時,就會照等差累進規則,跑出 工作表1.A1、工作表1.A2 等等的相異結果。

總之記得要引用儲存格內容,或使用函數時,現在輸入的這格開頭一定要寫等號「=」,不然只會當成字串處理,不會計算。

數字加總函數 sum

語法(基本格式) SUM(Number1; Number2; ...; Number30)

sum 會把計算式子中的 Number1 和 Number2 和之後到 Number30 為止的數字,全部加總後,再顯示結果。(不過並沒有真的限制只能填入三十組)

簡單來說,寫入 =sum(2;3) 就會算出 2+3=5 來。

如果你想要加總的是不同位置的儲存格資料的話,有以下幾種寫法。(以下參數為舉例,請依實際需求修改。)

  • 相異或不相鄰儲存格「=sum(A1;C2;D9)」:加總 A1、C2 及 D9 三格的數字。(也可以先輸入「=sum(」後,按住 Ctrl 鍵,再用滑鼠左鍵一格格點,選完後,最後再輸入「)」,按 Enter 鍵結束。)

  • 相鄰儲存格方形區域「=sum(A1:B2)」:加總 A1、A2、B1 及 B2 四格的數字。(也可以先輸入「=sum(」後,按住 Shift 鍵,再用滑鼠左鍵點 A1,再點 B2,最後再輸入「)」,按 Enter 鍵結束。)

  • 相異及相鄰組合用法「=sum(A1:B2;C2;D9)」:說明好麻煩,總之就是上面兩種的組合用法,注意冒號「:」和分號「;」的用法是不同的。(冒號與分號的差異請見「試算表基本概念」一節說明)

統計「數字」出現次數函數 count

語法 COUNT(Value1; Value2; ... Value30)

簡單說,如果裡面的參數是「數字(如 1 2 3 0.3 等等的)」時,就計算出現多少個數字,跟那些數字有多大多小無關。(很像在統計會場進出人數或車流量那樣)

比如說,輸入 =count(1;10;0.3;one) 會得出 3,這是因為 one 是字串而非數字的關係。

然後當然也可以輸入儲存格範圍。(儲存格指定方式請見「數字加總函數 sum」一節的說明)

統計「條件」出現次數函數 countif

語法 COUNTIF(Range; Criteria)

跟 count 函數相似,不過裡面的參數有要求格式。第一個參數必須是「儲存格範圍(Range)」,第二個參數則必須是「條件(Criteria)」。(別忘了用分號「;」隔開)

儲存格範圍沒啥好說的,條件記得要用雙引號包起來,唯一例外是條件為儲存格位置時,不可以加雙引號。下面舉例說明。

  • 計算負數及零出現次數「=countif(A1:A10;"<=0")」:計算 A1 到 A10 中,等於零及小於零的負數出現次數。

  • 計算字串出現次數「=countif(A1:A10;"愛")」:計算 A1 到 A10 中,字串「愛」的出現次數。

  • 計算含此字串出現次數「=countif(A1:A10;".*愛.*")」:計算 A1 到 A10 中,含有字串「愛」的出現次數。(關於「.*」的用法,這是常規表示式中的任意值,亦包含什麼都沒有。如果你想找的條件是句號「.」的話,請務必寫成「\.」來把這個句號字元給跳脫出常規表示式的規則。)

  • 計算大於某儲存格數字出現次數「=count(A1:A10;">"&B1)」:假設 A1 至 A10 是 1 到 10 的數字,而 B1 是 3,則結果為 7。請記得那個 and 符號「&」一定要加,不然沒辦法將雙引號內的條件與儲存格接在一起。(要注意的是,括號內的是判斷條件,括號外如果用雙引號,那代表的就是文字,文字要跟函數相接,中間一樣要加 and 符號「&」,不過函數要跟加減乘除搭的話,中間不需要再加什麼字元,寫成 =count()*10 這類的就好。)

符合條件則將數字加總函數 sumif

語法 SUMIF(Range; Criteria; SumRange)

如果你有 A1:A3 的字串,跟 B1:B3 的數字,想將 A1:A3 中,符合條件的字串抓出來(類似 countif 用法),然後將對應的 B1:B3 中的儲存格數字加總時,就可以用 sumif 函數。

函數第一個參數必須是「供條件使用的儲存格範圍(Range)」,第二個參數則必須是「條件(Criteria)」,最後一個參數則是「供數字加總使用的儲存格範圍(SumRange)」。(別忘了用分號「;」隔開)

前兩個參數沒啥好說明的,參考前一節 countif 的就好。

第三個參數 SumRange 就要注意一下,這東西看的是「儲存格的等差累進規則」,也就是說,不管跟 A1:A3 相對的是 B1:B3,或是 A4:A6 都無妨。下面舉例說明。

假設 A1=愛, A2=愛, A3=不愛, A4=1, A5=2, A6=3, A7=4。

  • 「=sumif(A1:A3;"愛";A4:A6)」得 1+2=3(A4+A5)

  • 「=sumif(A1:A4;1;A4:A7)」得 4(A7)

  • 「=sumif(A1:A4;1;A4:A6)」得 4(A6+A4)

0 comments:

 

本站著作(不包含圖片、影音以及回應留言)係採用 Creative Commons 姓名標示-非商業性-相同方式分享 2.5 台灣 (中華民國) 授權條款授權