
COUNTIFS
COUNTIFS 函數會傳回一個或多個集合內滿足指定條件(每個集合一個條件)的輸入格數。
COUNTIFS(測試值, 條件, 測試值⋯, 條件⋯)
條件: 用來比較或測試布林值 TRUE 或 FALSE 中數值和結果的表示式。 條件可包含比較運算子、常數、連集串連運算子、參照和萬用字元。你可以使用萬用字元來匹配表示式中的任何單一或多個字元。你可以使用 ? (問號)來表示一個字元、使用 *(星號)來表示多個字元,以及使用 ~(波浪號)來指定之後的字元需要進行匹配(而不是當作萬用字元)。條件也可包含 REGEX 函數而非萬用字元。
測試值⋯: 選擇性地併入包含要測試之值的一個或多個其他集合。每個測試值集合後都必須緊跟條件表示式。 此測試值, 條件模式可以視需要進行重複。
條件⋯: 如果加入了測試值的選用集合,則條件⋯會是產生布林值 TRUE 或 FALSE 的其他表示式。在每個測試值集合後必須有一個條件表示式;因此,此函數會一律具有偶數數目的引數。
附註
函數會將測試值中的每個值與對應的條件進行比較。如果每個集合中的對應值滿足對應條件測試,則計數會增加 1。
範例 |
---|
提供下列表格: |
A | B | C | D | |
---|---|---|---|---|
1 | 年齡 | 性別 | 狀態 | 薪資 |
2 | 35 | M | M | 71,000 |
3 | 27 | F | M | 81,000 |
4 | 42 | M | M | 86,000 |
5 | 51 | M | S | 66,000 |
6 | 28 | M | S | 52,000 |
7 | 49 | F | S | 62,000 |
8 | 63 | F | M | 89,000 |
9 | 22 | M | M | 34,000 |
10 | 29 | F | S | 42,000 |
11 | 35 | F | M | 56,000 |
12 | 33 | M | S | 62,000 |
13 | 61 | M | M | 91,000 |
=COUNTIFS(A2:A13, "<40", B2:B13, "=M") 會傳回 4,即 40 歲以下男性(直欄 B 中的「M」所指出)的數量。 =COUNTIFS(A2:A13, "<>35", B2:B13, "=M") 會傳回 6,即不是 35 歲男性(直欄 B 中的「M」所指出)的數量。你也可以使用 ≠ 運算子。 =COUNTIFS(A2:A13, "<40", B2:B13, "=M", C2:C13, "=S") 會傳回 2,即 40 歲以下單身(直欄 C 中的「S」所指出)男性的數量。 =COUNTIFS(A2:A13, "<40", B2:B13, "=M", C2:C13, "=M") 會傳回 2,即 40 歲以下已婚(直欄 C 中的「M」所指出)男性的數量。 =COUNTIFS(A2:A13, "<40", B2:B13, "=F") 會傳回 3,即 40 歲以下女性(直欄 B 中的「F」所指出)的數量。 |
使用 REGEX 的範例 |
---|
提供下列表格: |
A | B | |
---|---|---|
1 | 45 | marina@example.com |
2 | 41 | Aaron |
3 | 29 | michael@example.com |
4 | 64 | katrina@example.com |
5 | 12 | Sarah |
=COUNTIFS(B1:B5, REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"), A1:A5, ">10") 會傳回 A1:A5 中大於 10 的輸入格數,而 B1:B5 中的對應輸入格包含電子郵件地址。 |