系列二、三、四中所舉範例都是以 "兩個元素個數相同的單欄陣列作為多格陣列函數的來源陣列,運算結果也是一個單欄陣列,與來源陣列各元素相對應且元素個數也相同"。也附帶介紹了單格陣列函數: SUM 函數。
此後幾個系列會介紹相當常用的 "一個單欄陣列作為多格陣列函數的來源陣列,運算後的單欄陣列,與來源陣列各元素相對應且元素個數也相同"。
本主題以 COUNTIF 函數作為上述的第一個範例。
COUNTIF 函數語法:=COUNTIF(range,criteria)。
其目的是在指定的 "範圍" 中計算符合 "準則" 的個數。若 "準則" 是一參考位址,那麼連續多個 "準則" 會形成一個 "參考位址陣列" 作為 COUNTIF 陣列函數的來源陣列。請注意:第一個參數是 "範圍",而 "範圍" 是任何連續儲存格組成(矩形、單欄或單列),並不是陣列。稱之為 "查找範圍" 更貼切。
陣列語意:{=COUNTIF(範圍,來源陣列)}。
一、 COUNTIF的一般用法:
1. 如下圖所示,給定一矩形範圍 B2:D3 及參考位址 A6。
選取 C6 儲存格,
輸入 =COUNTIF(B2:D3,A6),
按下 ENTER。
所得為 Andy 在 B2:D3 出現的次數 2。
二、 COUNTIF的陣列用法:
1. 同一矩形範圍 B2:D3 及來源陣列位址 A9:A10
(也就是將參考位址 A9 擴展成參考位址陣列 {=A9:A10} ):
選取 C9:C10 (存放結果陣列),
輸入 =COUNTIF(B2:D3,A9:A10),
按下 CTRL+SHIFT+ENTER。
結果陣列位址 C9:C10 與來源陣列位址 A9:A10 對應下,
Andy 在 B2:D3 出現的次數仍然是 2
Candy 在 B2:D3 出現的次數仍然是 3。
2. 單列範圍 B13:E13 及來源陣列位址 A16:A17:
選取 C16:C17 (存放結果陣列),
輸入 =COUNTIF(B13:E13,A16:A17),
按下 CTRL+SHIFT+ENTER。
結果陣列位址 C16:C17 與來源陣列位址 A16:A17 對應下,
Candy 在 B13:E13 出現次數是 2
Sandy 在 B13:E13 出現次數是 1。
三、 範圍與來源陣列完全相同:
如下圖所示,給定一個單欄範圍 A22:A26。
1. COUNTIF的一般用法:
選取 C22:C26,
輸入 =COUNTIF($A$22:$A$26,A22),
按下 CTRL+ENTER。
(在此以絕對範圍及相對參考位址,一次填滿)
在範圍 A22:A26 中 Candy出現 2 次,其餘皆 1 次。
2. COUNTIF的陣列用法:
選取 D22:D26 (存放結果陣列),
輸入 =COUNTIF(A22:A26,A22:A26),
(第一個 A22:A26 是單欄範圍,第二個 A22:A26 是來源陣列位址)
按下 CTRL+SHIFT+ENTER。
結果陣列位址 D22:D26 與來源陣列位址 A22:A26 對應下,
結果與前例相同,在範圍 A22:A26 中 Candy出現 2 次,其餘皆 1 次。
結論:
1. 更清楚了 "範圍" 是任何連續儲存格組成,並不是陣列。甚至 "範圍" 與 "來源陣列" 可完全相同。
2. 也清楚了 CTRL+ENTER 的使用方式。
3. 試試常數陣列用法:
選取 B9:B10 (存放結果陣列),
輸入 =COUNTIF(B2:D3,{"Andy";"Candy"}),
按下 CTRL+SHIFT+ENTER。
4. 另一個類似 COUNTIF 函數但更加實用的 SUMIF 函數,待續。
留言列表