用前綴統計發票數(COUNTIF 萬用字元)
測試案例
1
2
3
重設
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就緒 請在反白的目標儲存格輸入公式,然後點「提交」。
測試案例
1
2
3
重設
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就緒 請在反白的目標儲存格輸入公式,然後點「提交」。
題目
題目說明
月底結帳,供應商匯出的單據全擠在同一欄:發票以 INV- 開頭、採購單是 PO-、退貨是 RET-。財務只要發票的數量。請算出 A2:A11 裡有幾筆是發票,並填在 Invoice count 儲存格 D2。
請用儲存格參照指向整個範圍,下個月貼上新匯出檔時公式仍要正確。
題目資料
用表格檢視整份資料(可選取、可複製)
| A | D | |
|---|---|---|
| 1 | Order ID | Invoice count |
| 2 | INV-1001 | |
| 3 | INV-1002 | |
| 4 | PO-2001 | |
| 5 | INV-1003 | |
| 6 | RET-3001 | |
| 7 | PO-2002 | |
| 8 | INV-1004 | |
| 9 | INV-1005 | |
| 10 | RET-3002 | |
| 11 | INV-1006 |
觀念解析
COUNTIF 接收範圍與條件字串,字串裡的 * 代表任意長度的字元。"INV-*" 讀作「以 INV- 開頭」。若寫成 "*INV*",RET-INV-77 也會被算進去——那一列正是仔細作答與快速作答的差別。條件比對不分大小寫,"inv-*" 結果相同。
解題思路
答案寫在 D2。送出時我們會換 3 組輸入重跑你的公式,寫死數字一定過不了 —— 公式必須跟著儲存格走。
- 目標儲存格是 D2
- 統計範圍是 A2:A11
- 要的前綴是 INV-,後面接 * 代表任意字元
- 條件是文字字串,所以要加引號:"INV-*"
官方解法
展開 2 種解法(建議先自己試一次)
解法 1:COUNTIF 搭配前綴萬用字元
=COUNTIF(A2:A11,"INV-*")
COUNTIF 逐格比對 "INV-*":前四個字元必須完全相符,後面的 * 吸收剩餘字元。十列裡有六列是發票。
解法 2:SUMPRODUCT 搭配 LEFT(不用萬用字元)
=SUMPRODUCT(--(LEFT(A2:A11,4)="INV-"))
LEFT 取出每筆 ID 的前四個字元並與 "INV-" 比較,兩個減號把 TRUE/FALSE 轉成 1/0,SUMPRODUCT 再加總。答案相同,適合規則講的是「位置」而不是「樣式」時。
函數指南
常見問題
如何統計以特定文字開頭的儲存格?
把前綴加上萬用字元放進條件:=COUNTIF(A2:A11,"INV-*")。* 會吸收前綴之後任意長度的字元,因此 INV-1001 與 INV-9 都會被算到。
為什麼 "*INV*" 在這裡會算錯?
因為兩側都加 * 代表「包含」而不是「開頭」。RET-INV-77 含有 INV-,所以會被算進去。要判斷類型時把樣式錨在開頭("INV-*")。
COUNTIF 區分大小寫嗎?
不區分,"inv-*" 與 "INV-*" 結果一樣。若需要區分大小寫,改用 SUMPRODUCT 搭配 EXACT。