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

how to count characters in excel
how to count characters in excel

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 和大多數其他平台一致,但它無法告訴你位元組長度。

對於這些檢查,你需要一個能同時顯示限制與計數的工具,讓你在跌落懸崖之前就看見它。

如何使用字元計數工具計算字元

字元計數工具將一個簡單的文字方塊變成每個以字元(而非字詞)衡量文字的平台即時預算表。它完全在瀏覽器中執行,因此不會上傳或儲存任何內容。

  1. 在方塊中輸入或貼上文字 —— 每個計數都會在你輸入時即時更新。
  2. 查看統計資料方格中的總字元數、扣除空格的字元數、字詞、行數和 UTF-8 位元組數。
  3. 查看平台限制面板,了解 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 標題~60Google 會在 SERP 中以省略號截斷標題
SEO meta 描述~155–160Google 會以省略號截斷摘要

Excel 的 LEN 公式完全不知道這些限制。字元計數工具知道,而且它會在原始計數旁顯示剩餘預算,因此刪除一個字詞、移除一個表情符號或重寫 meta 標籤的決定,都能在你貼到平台(可能會拒絕你的內容)之前就先做好。

若要使用可在多個儲存格重複操作、公式較少的方法,免用公式計算 Excel 中文字出現次數指南會以貼上並檢查的工作流程,逐步說明相同的概念。

延伸閱讀:從文字中擷取數字的 Excel 公式:試試這個