type
Post
status
Published
date
Jan 7, 2026
slug
character_count
summary
如何在Excel字串中計算特定字元出現次數
tags
Excel
category
技術筆記
icon
password

📝 主旨

💡
Excel 本身沒有直接的 COUNTCHAR 函數。 我們需透過「長度差異比較」或「陣列拆解」的方式來間接計算。

1. 經典通用法 (LEN + SUBSTITUTE)

這是相容性最高的方法,利用「總長度」減去「刪除目標字元後的長度」來逆推數量。

📝 公式邏輯

假設目標字元為 "x",儲存格為 A1:
  • LEN(A1):計算原始字串長度。
  • SUBSTITUTE(..., "x", ""):將 x 替換成空值(刪除)。
  • 兩者相減即為被刪除的字元數量。

2. 分隔符號法 (TEXTSPLIT)

利用 Office 365 的動態陣列功能,將目標字元視為「分隔符號」。
✅ 優點
語法直觀,且可同時計算多個不同的分隔符號(例如同時算 "," 和 ";")。
⚠️ 版本限制
僅適用於 Excel 365Excel 2021 以上版本。

📝 公式邏輯

  • TEXTSPLIT:根據 "x" 將文字切開成陣列。
  • COLUMNS:計算切出了幾塊。
  • 邏輯:切成 3 塊代表中間有 2 個分隔符號,故需 - 1

3. 陣列拆解法 (SUM + MID)

將字串轉換成單一字元陣列,逐一檢查並加總。
✅ 優點
極具彈性,可結合 ISNUMBER 或其他邏輯判斷。

📝 公式邏輯

  • SEQUENCE(LEN(A1)):產生 1 到 N 的序列號。
  • MID:利用序列號將字串拆解成一個個字元。
  • -- (雙負號):將 TRUE/FALSE 轉為 1/0 以利加總。

4. 關於大小寫 (Case Sensitivity)

上述三種方法的核心函數 (SUBSTITUTE, TEXTSPLIT, 比較運算子) 在處理文字時的行為如下:
⚠️ 預設行為:區分大小寫
如果你想計算 "a" 的數量,上述公式不會計算到 "A"。
💡 解決方案:標準化 (LOWER) 若需「不分大小寫」計算,請先用 LOWER() 將原始字串轉為小寫再處理。
 
修改後的經典法公式:

5. 總結速查表 (Cheat Sheet)

方法
函數組合
適用版本
區分大小寫?
經典法
LEN, SUBSTITUTE
All
✅ Yes
分隔符號法
TEXTSPLIT
365 / 2021+
✅ Yes
陣列拆解法
SUM, SEQUENCE
365 / 2021+
✅ Yes
🙍🏽‍♂️
本文經 Google Gemini 3 Pro 協助排版與潤飾,所有內容均經作者親自查核與確認,並對其正確性負完全責任。