Excel 使用 LEN 函數計算任何儲存格中的字元數,該函數會傳回文字字串中包含空格的字元總數。LEN 只接受一個引數 —— 儲存格參照或文字值 —— 並回傳精確長度,因此 =LEN(A1) 會回傳 A1 儲存格中內容的字元數。這個單一公式已能涵蓋最常見的情況,但當任務從「單一儲存格」轉變為「整欄」或「某個字母出現幾次」時,Excel 還需要幾個技巧:以 SUMPRODUCT 包裝 LEN 呼叫陣列以處理範圍,以及用 LEN 減去 LEN(SUBSTITUTE(...)) 來計算特定字元。然而,這些方法都無法告訴你儲存格內容是否能放進 280 字元的 X 貼文或 155 字元的 meta 描述。專用的字元計數工具正好能補上這個缺口 —— 它提供與 LEN 相同的結果,並即時顯示每個以字元(而非字詞)限制文字長度的平台上限。

LEN 函數:Excel 內建的字元計數器
Excel 用來計算字元數的主要工具是 LEN 函數。LEN 只接受一個引數 —— 儲存格參照或字面文字值 —— 並回傳該文字中的字元數,包含每個空格、標點符號和字母。這個公式在試算表中簡單至極:=LEN(A1) 會回傳 A1 儲存格中內容的字元數。若 A1 包含字串 "Hello world",LEN 會回傳 11,因為兩個字詞之間的空格也算一個字元。
LEN 能處理的輸入遠不只一般的儲存格。你可以傳入帶引號的字面文字字串:=LEN("Excel tip") 會回傳 9。你也可以傳入串接結果:=LEN(A1 & B1) 會計算兩個儲存格的合併長度。你甚至能將 LEN 巢狀於其他公式中,用來驗證輸入長度 —— 例如,=IF(LEN(A1)>50, "Too long", "OK") 會標記任何內容超過 50 字元的儲存格。由於 LEN 會計算包含空格在內的每個字元,這與大多數外部系統的計算方式一致,這也是這個公式在將資料貼到其他地方之前,被廣泛用來做合理性檢查的原因。
計算整個範圍的字元數
LEN 本身一次只能計算一個儲存格。若要計算整欄或整個範圍的總字元數,你需要一個能吸收陣列的函數 —— 而最簡潔的做法就是 SUMPRODUCT。將 SUMPRODUCT 包在套用於範圍的 LEN 外層,Excel 就會自動將每個儲存格的字元數加總:
=SUMPRODUCT(LEN(A1:A100))
這個公式會回傳 A1 到 A100 每個儲存格 LEN 的總和,因此你無需額外建立輔助欄,就能得到整個範圍的合併字元數。SUMPRODUCT 能夠運作,是因為它原生處理陣列,這是單純的 =LEN(A1:A100) 在舊版 Excel 中若不以 Ctrl+Shift+Enter 作為陣列公式輸入時所無法做到的事。
若要得到更具彈性、同時略過空白的總數,你可以將公式包進 SUM,並在陣列環境中使用 IF:=SUM(IF(A1:A100<>"",LEN(A1:A100),0))。IF 會在空白儲存格回傳 0,在含有文字的儲存格回傳字元數,因此總和只反映實際有內容的儲存格。在 Excel 365 和 Excel for the web 中,動態陣列讓這件事更簡單 —— =SUM(LEN(A1:A100)) 會自動溢出並加總陣列,完全不需要 SUMPRODUCT。
計算儲存格中特定字元或字詞的數量
有時候問題不是「總共有多少字元?」而是「這個特定的字母、數字或字詞出現了幾次?」Excel 用一個結合 LEN 與 SUBSTITUTE 的巧妙減法技巧來回答這個問題。模式如下:
=LEN(A1) - LEN(SUBSTITUTE(A1, "e", ""))
SUBSTITUTE 會將你所傳入字元的每次出現都取代為空字串,因此取代後結果的 LEN 會隨著每個被移除的字元而減少 1。將縮短後的長度從原始長度中扣除,就會得到精確的次數。例如,若 A1 包含 "Excel formula examples",LEN 會回傳 22,取代後的版本 "xcl formula xampls" 會回傳 18,兩者相減為 4 —— 也就是字母 "e" 出現的次數。
若要計算整個字詞而非單一字元,請除以該字詞的長度:
=(LEN(A1) - LEN(SUBSTITUTE(A1, "Excel", ""))) / LEN("Excel")
這個公式將被移除的總字元數除以字詞長度,即可得到完整出現的次數。同樣的模式若要在舊版中以不分大小寫的方式運作,必須將內部字串包進 LOWER;在現代 Excel 中,SUBSTITUTE 已會以你所提供的任何大小寫來處理兩個字串,因此大小寫敏感與否取決於你提供的搜尋字串。
當 Excel 不再足夠:平台限制與位元組
一旦文字離開試算表,Excel 就不再有用。一個 320 字元的儲存格在 Excel 中可能完全有效,卻無法放進上限 280 字元的 X 貼文。一段 800 字元的 meta 描述在工作表中看起來合理,但 Google 通常會在大約 155–160 字元處以省略號截斷。這些限制都不會出現在資料編輯列中,Excel 本身也沒有「外部平台字元預算」的概念。
位元組是 Excel 預設不會顯示的另一個維度。在 UTF-8 下,一個像 "a" 這樣的純 ASCII 字母佔 1 個位元組,像 "é" 這樣的附加符號字元佔 2 個位元組,歐元符號 "€" 佔 3 個位元組,大多數 CJK 字元佔 3 個位元組,而像 "😀" 這樣的單一表情符號佔 4 個位元組,並計算為 2 個 UTF-16 碼元。當目標是使用位元組定義 VARCHAR 上限的資料庫欄位,或是在加入非 GSM 字元時會立即切換編碼的 SMS 簡訊分段時,這個差異就很重要。Excel 的 LEN 計算的是 UTF-16 碼元,這與 X、Instagram 和大多數其他平台一致,但它無法告訴你位元組長度。
對於這些檢查,你需要一個能同時顯示限制與計數的工具,讓你在跌落懸崖之前就看見它。
如何使用字元計數工具計算字元
字元計數工具將一個簡單的文字方塊變成每個以字元(而非字詞)衡量文字的平台即時預算表。它完全在瀏覽器中執行,因此不會上傳或儲存任何內容。
- 在方塊中輸入或貼上文字 —— 每個計數都會在你輸入時即時更新。
- 查看統計資料方格中的總字元數、扣除空格的字元數、字詞、行數和 UTF-8 位元組數。
- 查看平台限制面板,了解 X、SMS、Instagram 和 SEO meta 標籤還剩餘多少字元(或超出多少)。
對於每個限制,面板會顯示一個「剩餘字元」數字,在你超出的瞬間切換為「超出」警告,因此修剪推文、縮短 meta 描述,或將 SMS 簡訊維持在單一分段,都能一眼完成,無需再憑感覺猜測。
各平台字元限制一覽
下表列出工具所對照的已公布字元預算。請將這些視為規劃目標 —— 維持在限制內可確保你的文字在每個平台上完整顯示,不會被截斷或悄悄分段。
| 平台或格式 | 字元限制 | 超出時會發生什麼事 |
|---|---|---|
| X (Twitter) 貼文 | 280 | 貼文會被拒絕,直到你縮短為止 |
| Instagram 說明文字 | 2,200 | 說明文字會在句子中間被截斷 |
| SMS,GSM-7 字母 | 每分段 160 | 電信業者會將訊息分段並收取第二分段的費用 |
| SMS,Unicode (UCS-2) | 每分段 70 | 任何表情符號或非 GSM 字元都會觸發;超過一個就算第二分段 |
| SEO meta 標題 | ~60 | Google 會在 SERP 中以省略號截斷標題 |
| SEO meta 描述 | ~155–160 | Google 會以省略號截斷摘要 |
Excel 的 LEN 公式完全不知道這些限制。字元計數工具知道,而且它會在原始計數旁顯示剩餘預算,因此刪除一個字詞、移除一個表情符號或重寫 meta 標籤的決定,都能在你貼到平台(可能會拒絕你的內容)之前就先做好。
若要使用可在多個儲存格重複操作、公式較少的方法,免用公式計算 Excel 中文字出現次數指南會以貼上並檢查的工作流程,逐步說明相同的概念。
延伸閱讀:從文字中擷取數字的 Excel 公式:試試這個。