在 Excel 中以文字形式儲存的數字是一個儲存格,其值靠右對齊,通常會在左上角標示一個小小的綠色三角形,而且工作表中每個數值函式都會拒絕處理它——SUM 將它視為 0、AVERAGE 忽略它,而 VLOOKUP 則傳回 #N/A,因為字串「123」永遠不等於數字 123。修正方法是使用 Excel 的內建指令(警告選單、儲存格格式、或選擇性貼上)、強制轉換公式,例如 =VALUE(A1) 或 =A1*1,或者——當儲存格裝的是英文數字詞組,例如「twenty-five thousand three hundred seventy-six」而非一串數字時——使用一個本地解析器把文字轉成以逗號分隔的整數,讓你貼回去。每一種方法都能用,但只有在底層文字符合該方法所預期的規則時才會成功:純數字文字對所有方法都有效,摻雜多餘字元的混合文字需要先清理,而英文詞組則需要先使用語法感知轉換器,才能讓任何 Excel 技巧接受它們。

為什麼 Excel 會把數字儲存成文字
有 3 種情況幾乎涵蓋了你在工作表中會看到的每一個「以文字形式儲存」的儲存格。第一種是匯入:當你開啟由其他程式匯出的檔案時,匯入精靈通常會將欄位預設為文字類型,以避免 Excel 重新解讀代碼、郵遞區號前綴或科學記號。第二種是撇號技巧——在儲存格中輸入 '00123 會強制 Excel 保留前導零並將結果儲存為字串,這對產品編號很方便,但當儲存格應該裝的是數量時就會造成災難。第三種是串接:任何使用 & 或 TEXT(...) 來建構儲存格內容的公式,無論輸入看起來是什麼,結果都會留下文字類型。
無論原因為何,症狀都是一致的。值會靠左對齊儲存格,狀態列會將其顯示為「文字」而非「加總」或「平均值」,並在角落標示一個小小的綠色三角形。函式會拒絕處理它:=A1+0 會傳回 #VALUE! 錯誤,=SUM(A1:A10) 會靜悄悄地跳過該儲存格,而任何依據該欄建立的圖表也無法將值繪製為數值標記。一旦挑對方法,把類型修好只需要一個步驟。
將文字轉成數字的 Excel 內建方法
Excel 提供 3 種快速、不用公式的方式,把一整批以文字形式儲存的儲存格轉回真正的數字。3 種方法都只能在文字是純數字字串的儲存格上運作——任何包含字母、貨幣符號或多餘空白的內容,都需要先清理。
| 方法 | 最適用於 | 如何觸發 |
|---|---|---|
| 錯誤警告 → 轉為數字 | 已顯示綠色三角形的小範圍 | 選取範圍,點選警告圖示,選擇「轉為數字」 |
| 儲存格格式對話方塊 | 已有明確目標格式的範圍 | 選取範圍,按 Ctrl+1,將類別設為「數值」,按確定 |
| 選擇性貼上 → 乘 | 需要一次強制轉換整個大型範圍 | 在某個空白儲存格輸入 1 並複製,選取目標範圍,選擇性貼上 → 乘 |
「選擇性貼上」技巧之所以有效,是因為把文字字串乘以 1 會迫使 Excel 在執行乘法之前先把字串強制轉成數字。儲存格會保留原有的視覺格式(貨幣、百分比、小數位數),但底層值現在已是數值,因此 SUM、AVERAGE 與圖表座標軸都能正確辨識。當 Excel 已經標示出這些儲存格時,錯誤警告的做法最為迅速——它會就地改寫每個值,不需要輔助儲存格或公式。
公式做法:VALUE、NUMBERVALUE 與算術運算
當轉換必須是可重複、可稽核或與其他公式並存時,請在輔助欄中使用強制轉換函式。其中有 3 個值得認識,而且當匯入資料使用的是非英文的小數分隔符號時,差異就很重要。
- 使用 =VALUE(A1) 來進行最簡潔、最易讀的強制轉換。VALUE 接受任何 Excel 能辨識的數字字串並傳回真正的數字,不需擔心與地區設定相關的小數分隔符號問題。
- 當文字使用的小數或千位分隔符號與工作表的地區設定不同時,請使用 =NUMBERVALUE(A1, ".", ",")。NUMBERVALUE 讓你能明確指定兩個分隔符號,是處理歐洲或拉丁美洲匯入資料時最安全的選擇。
- 當你需要一次性強制轉換,且不想新增可見的輔助欄時,請使用 =A1*1 或 =A1+0。其結果可以再以值的方式貼回,留下一個靜態的數值儲存格。
修正完一整欄後,請複製新範圍並以「選擇性貼上 → 值」貼到原本的欄位上,如此輔助公式就會被轉換後的數值結果取代,而且該欄位也不再依賴公式。此時也適合順手把欄位加寬、套用千位分隔符號樣式,並把格式鎖定為「數值」或「會計專用」——只改格式的話,如果未來有貼上動作又以文字形式進來,儲存格可能會再次還原。
當內容是英文數字詞而非數字時
上述所有方法都假設儲存格裝的是數字字串,例如「123」或「1,234.50」。同一個問題的另一種版本涉及散文:某個值以英文數字詞的形式出現,例如「twenty-five thousand three hundred seventy-six」,可能出現在逐字稿、合約條款、表單回應或複製的段落中。Excel 對這種情況沒有內建指令——VALUE、NUMBERVALUE 或選擇性貼上都不接受字母——因此實際的工作流程是先用另一個步驟把文字轉成數字,再把結果以數字形式貼入 Excel。
文字轉數字轉換器能解析一段明確的英文基數整數詞組——從零到九百九十九億九千九百九十九萬九千九百九十九——並回傳以逗號分隔的整數,整個過程都在當前的瀏覽器分頁內完成,所以該詞組不會離開你的電腦。這個解析器刻意設計得很嚴格:它能辨識零到十九、二十到九十的十位數,以及 hundred、thousand、million、billion;接受選擇性的連字號、像是「one hundred and five」這類常見形式中的連接詞「and」,以及用「minus」或「negative」來表示負值;並會拒絕像是「one million million」或在更大的詞組中嵌入「zero」這類看似合理的錯誤,因此你貼進 Excel 的數字保證會是那段散文所表達的數字。文法規則遵循 Unicode LDML 第 3 部分中英文拼字與分組的規則型數字格式指引,並交叉比對獨立的英文文法參考資料中的基數形式。
- 從來源複製英文數字詞組——例如「twenty-five thousand three hundred seventy-six」——並移除任何周圍的句子文字、貨幣標籤、單位或標點。把詞組縮減到最純粹的基數形式,讓解析器只需處理一個乾淨的整數。
- 將詞組貼到轉換器的輸入框中,選擇「轉為數字」,然後讀取下方出現的以逗號分隔的整數。針對上述範例,結果是 25,376,可以直接貼上。
- 如果出現錯誤,請修正被標示出來的文法邊界,或移除不支援的單位、小數及周圍的散文。轉換器只能處理整數,因此像是「and a half」、「point three」或「percent」這類詞組需要另外自行處理。
- 複製整數結果並貼到目標 Excel 儲存格,接著把儲存格格式設為「數值」,讓 Excel 將其保留為數值。從此之後,標準的 SUM、AVERAGE 與圖表常式就會把這個儲存格當成數字而不是文字來處理。
驗證修正結果並鎖定數字格式
無論進行哪種轉換,有兩個快速的檢查能確認類型確實已經翻轉。第一個,點選已轉換的儲存格,查看 Excel 視窗底部的狀態列——指標現在應該顯示「加總」(若儲存格為空則顯示「計數」)而不是「文字」。第二個,在相鄰的儲存格中輸入 =ISNUMBER(A1),確認結果為 TRUE。兩個檢查加在一起,能抓到那些看起來修正成功、但儲存格本質上仍是文字的情況。
一旦類型正確,請鎖定格式。將儲存格類別設為「數值」或「會計專用」,設定你想要的小數位數與千位分隔符號,如果你不想讓 Excel 持續標示那些你刻意匯入的儲存格,也可以關閉「以文字形式儲存的數字」這個儲存格內警告。鎖定格式後,符合該格式的後續貼上會保持為數值,而觸發綠色三角形的小量文字外洩,將只會出現在新匯入的資料中,而不會蔓延到整個歷史資料集。
對於重要的數值——財務、法律或量測類——在下游使用這些數字之前,請先將轉換後的儲存格與原始來源比對。匯入程序可能會移動小數位、省略你想要保留的前導零,或是把千位分隔符號解讀為小數點,所以花五秒鐘做個目視檢查,比重建一整串依賴錯誤值的公式來得划算。