免費軟體與線上工具1,417影音、圖片與 PDF9153C 開箱評測895生活、旅遊與遊戲798iPhone 與 Mac548LINE 與社群533Google 服務467Windows 與電腦455Office 教學425Android 手機402網路新知372AI 工具126
Office 教學

Excel 全形轉半形怎麼做?英數混合只轉換數字半形的函數用法

在 Excel 中將全形文字轉成半形,最快的方法是直接使用 ASC 函數。如果遇到英數混合內容,且只需將「數字」轉為半形,則建議使用 SUBSTITUTE 函數,將 0 到 9 的全形數字逐一替換為半形。

今天被網友差點問倒,有人問了我要怎麼將全形文字都變成半形,這個倒是簡單,有函數就能簡單達成。但後面他繼續追問我:那如果他是英數混合內容,但只有數字要變成半形怎麼辦?我思維了半天在想怎麼做,最後好不容易解了出來。這還真的沒有比較簡單的做法,到底要怎麼做呢?往下就來分享今天的 Excel 教學吧,真的蠻難的...

Excel 全形轉半形的基本方法:使用 ASC 函數

如果需要下載範例檔練習請參考:下載範例教學

要將全形轉成半形非常簡單,只要利用 Excel 內建的 ASC 函數就能一鍵轉換。來,說明一下,最基本的課題像這樣:當你遇到一整串的全形文字,要怎麼快速轉成半形?我們往下來看實際的範例,你可以看到畫面中 A2 儲存格裡是一串全形文字。

Excel 全形文字轉換範例畫面

要轉成半形非常之簡單,只要利用 ASC 這個函數。比如像是要轉換 A2 的文字,你只需要在旁邊的儲存格輸入 =ASC(A2),公式如下:

=ASC(A2)

這樣就搞定了,是不是很簡單?ASC 函數會自動把字串裡的所有全形字元(包含英文字母與數字)都轉成半形。不過,真正難的來了,再往下來看看我差點被問倒的進階情境。

Excel 英數混合文字範例畫面

進階難題:英數混合內容,如何只將數字轉半形?

如果遇到英數混合內容且只想要數字變半形,可以使用 SUBSTITUTE 函數將全形 0 到 9 逐一取代。網友的追問是:要怎麼把英數混合內容變成半形,而且只有數字要變半形,英文字母要維持全形?這我真的想了很久要怎麼做,最後弄了一個比較土法煉鋼的公式串,如下圖所示:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"0","0"),"1","1"),"2","2"),"3","3"),"4","4"),"5","5"),"6","6"),"7","7"),"8","8"),"9","9")

我原本是想要思維著,將文字全拆開後,再各字轉成半形再合併。但這樣好像有點麻煩,還要列陣列、還要好幾層疊一疊。後來我覺得,單純用 SUBSTITUTE 這個函數來做最直接。這個函數的功用是取代文字串裡的指定內容。

雖然公式看起來很長,不過這重點就是針對每個數字字串做十次取代,從全形的 0 取代到 9。稍微土法煉鋼一點,但結論來說是完美的,確實能達到只轉換數字的目的。

為什麼不建議用公式替換英文字母?

因為英文字母包含大小寫共有 52 個,如果用 SUBSTITUTE 函數逐一取代,公式會高達 52 層,非常容易出錯。這時你可能會想,那如果你是想要單純取代掉英文變成半形,數字不動呢?那我就攤手了。

如果用上面這個 SUBSTITUTE 的方式,不是不行,只是 26 個字母大小寫加起來你總共要寫 52 層的公式!這樣寫下去應該會死掉啊,不僅公式長到眼花,還很容易漏打括號出錯。

Excel 函數公式替換結果畫面

常見問題

Excel 如何把全形文字變成半形?

最簡單的做法是使用 ASC 函數。只要在儲存格輸入 `=ASC(目標儲存格)`,就能一秒將所有的全形文字、英文與數字轉換為半形。

如果只要把全形數字轉半形,英文字母保持全形怎麼辦?

因為 ASC 函數會全部轉換,如果只想轉換數字,可以使用 SUBSTITUTE 函數,將全形的 0 到 9 逐一取代成半形數字,這需要串接 10 層公式。

可以用 SUBSTITUTE 函數把全形英文字母轉成半形嗎?

理論上可以,但因為英文字母有大小寫共 52 個,如果用 SUBSTITUTE 函數逐一取代,公式會疊加到 52 層,非常冗長且容易出錯,因此不建議這樣做。

(本文於 2026 年 10 月更新:補充步驟說明與常見問題)

這篇收錄在「Excel 教學總整理」,同一主題的其他教學都依小主題整理在那裡。