logo
search
list

目錄

第一部分:如何使用 VBA 在 Excel 中將數字轉換為文字
第二部分:如何在不使用 VBA 的情況下在 Excel 中將數字轉換為文字
第三部分:為什麼選擇使用 WPS Office?
第四部分:如何使用 WPS AI 在 Excel 中將數字轉換為文字
關於在 Excel 中將數字轉換為文字的常見問題
總結

如何在 Excel 中將數字轉換為文字

發佈者 陳文豪

calendar

2026-09-20

views

868

likes

59

如果你的工作表有一欄數值,並且你需要將它們轉換為對應的英文字詞,你可能會想知道該怎麼做。Excel 沒有可以直接完成這項操作的公式,但有一些替代方案可供使用,包含只需輸入簡單提示詞就能將數字轉換為文字的 WPS AI。在本文中,我們將向你展示如何在 Excel 中將數字轉換為文字。

第一部分:如何使用 VBA 在 Excel 中將數字轉換為文字


將數字轉換為文字


將數字轉換為文字

你的 Excel 工作表充滿了數字,現在想像這些數字神奇地轉換成文字。這就是 Excel 迷人世界中 SpellNumber 巨集的威力。讓我們簡單看看如何新增這個巨集,為接下來的魔法舞台做好準備。

範例:將數字轉換為文字

假設你的 A 欄有一欄數字(從 1 到 10)。你希望能將這些數字轉換為文字,為資料增添一抹優雅。讓我們看看如何新增 SpellNumber 巨集來實現這個目標,為下一步做準備。

100% 安全

步驟 1。開啟 Excel 並前往「開發人員」索引標籤。如果沒看到此索引標籤,請別擔心!你可以輕鬆在 Excel 選項中將其啟用。


 新增開發人員索引標籤


新增開發人員索引標籤




開發人員索引標籤


開發人員索引標籤



步驟 2。點擊「Visual Basic」以開啟 VBA 編輯器。


 VBA 編輯器


VBA 編輯器



步驟 3。在 VBA 編輯器中,前往「插入」並選擇「模組」。這就是見證奇蹟發生的時刻。



插入



步驟 4。將下方參考連結中的 SpellNumber 巨集程式碼複製並貼上到模組中。

Function SpellNumber(ByVal MyNumber)

'Update by Extendoffice

Dim xStr As String

Dim xFNum As Integer

Dim xStrPoint

Dim xStrNumber

Dim xPoint As String

Dim xNumber As String

Dim xP() As Variant

Dim xDP

Dim xCnt As Integer

Dim xResult, xT As String

Dim xLen As Integer

On Error Resume Next

xP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")

xNumber = Trim(str(MyNumber))

xDP = InStr(xNumber, ".")

xPoint = ""

xStrNumber = ""

If xDP > 0 Then

xPoint = " point "

xStr = Mid(xNumber, xDP + 1)

xStrPoint = Left(xStr, Len(xNumber) - xDP)

For xFNum = 1 To Len(xStrPoint)

xStr = Mid(xStrPoint, xFNum, 1)

xPoint = xPoint & GetDigits(xStr) & " "

Next xFNum

xNumber = Trim(Left(xNumber, xDP - 1))

End If

xCnt = 0

xResult = ""

xT = ""

xLen = 0

xLen = Int(Len(str(xNumber)) / 3)

If (Len(str(xNumber)) Mod 3) = 0 Then xLen = xLen - 1

Do While xNumber <> ""

If xLen = xCnt Then

xT = GetHundredsDigits(Right(xNumber, 3), False)

Else

If xCnt = 0 Then

xT = GetHundredsDigits(Right(xNumber, 3), True)

Else

xT = GetHundredsDigits(Right(xNumber, 3), False)

End If

End If

If xT <> "" Then

xResult = xT & xP(xCnt) & xResult

End If

If Len(xNumber) > 3 Then

xNumber = Left(xNumber, Len(xNumber) - 3)

Else

xNumber = ""

End If

xCnt = xCnt + 1

Loop

xResult = xResult & xPoint

SpellNumber = xResult

End Function

Function GetHundredsDigits(xHDgt, xB As Boolean)

Dim xRStr As String

Dim xStrNum As String

Dim xStr As String

Dim xI As Integer

Dim xBB As Boolean

xStrNum = xHDgt

xRStr = ""

On Error Resume Next

xBB = True

If Val(xStrNum) = 0 Then Exit Function

xStrNum = Right("000" & xStrNum, 3)

xStr = Mid(xStrNum, 1, 1)

If xStr <> "0" Then

xRStr = GetDigits(Mid(xStrNum, 1, 1)) & "Hundred "

Else

If xB Then

xRStr = "and "

xBB = False

Else

xRStr = " "

xBB = False

End If

End If

If Mid(xStrNum, 2, 2) <> "00" Then

xRStr = xRStr & GetTenDigits(Mid(xStrNum, 2, 2), xBB)

End If

GetHundredsDigits = xRStr

End Function

Function GetTenDigits(xTDgt, xB As Boolean)

Dim xStr As String

Dim xI As Integer

Dim xArr_1() As Variant

Dim xArr_2() As Variant

Dim xT As Boolean

xArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")

xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")

xStr = ""

xT = True

On Error Resume Next

If Val(Left(xTDgt, 1)) = 1 Then

xI = Val(Right(xTDgt, 1))

If xB Then xStr = "and "

xStr = xStr & xArr_1(xI)

Else

xI = Val(Left(xTDgt, 1))

If Val(Left(xTDgt, 1)) > 1 Then

If xB Then xStr = "and "

xStr = xStr & xArr_2(Val(Left(xTDgt, 1)))

xT = False

End If

If xStr = "" Then

If xB Then

xStr = "and "

End If

End If

If Right(xTDgt, 1) <> "0" Then

xStr = xStr & GetDigits(Right(xTDgt, 1))

End If

End If

GetTenDigits = xStr

End Function

Function GetDigits(xDgt)

Dim xStr As String

Dim xArr_1() As Variant

xArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")

xStr = ""

On Error Resume Next

xStr = xArr_1(Val(xDgt))

GetDigits = xStr

End Function

步驟 5。關閉 VBA 編輯器並返回 Excel 工作表。


新增 VBA 程式碼


新增 VBA 程式碼



我新增 SpellNumber 巨集的經驗:

在 Excel 中整合 SpellNumber 巨集出乎意料地簡單。我按照步驟前往「開發人員」索引標籤和 VBA 編輯器,並在那裡新增了用於簿記中金額文字表達的巨集程式碼。數字如何變成文字讓我感到十分好奇。不過,我也學到了必須小心謹慎;巨集需要精確性,以免破壞試算表。擁有備份並了解 VBA 的結構很有幫助。這次經驗為 Excel 的更多可能性開啟了大門,將邏輯與創造力完美結合。

你的 Excel 工作表成為了語言魔法的畫布。在第二部分,我們將交給你解鎖 SpellNumber 巨集的鑰匙,這個強大的工具能將你的數字資料昇華為優美的文字交響曲。透過實用範例引領你走向精通之路,並在這個出色巨集的藝術指引下,看著你的資料在眼前發生蛻變。

範例:將數值資料轉換為文字

步驟 1。開啟包含你想轉換之數值資料的 Excel 工作表。

步驟 2。選擇一個相鄰的欄位。我們使用 B 欄來存放轉換後的文字。

步驟 3。在 B 欄的第一個儲存格中,輸入 =SpellNumber(A1)。


 SpellNumber 公式


SpellNumber 公式



步驟 4。按下 Enter 鍵,看著 A1 儲存格的數字在 B1 儲存格優雅地轉換為文字。

步驟 5。若要轉換更多數字,請向下拖曳公式,讓 SpellNumber 巨集發揮它的魔力。


 向下拖曳公式


向下拖曳公式



我使用 SpellNumber 巨集的經驗:

嘗試使用 SpellNumber 巨集帶來了全新的視角,隨著數字轉換為文字,我的資料多了一分新意。這個過程非常簡單,展現了其提升溝通效果的潛力。然而,必須提醒一點:精確性很重要。一點小失誤可能會導致意想不到的結果。熟悉該巨集並仔細驗證輸入是獲得流暢體驗的關鍵。

第二部分:如何不使用 VBA 在 Excel 中將數字轉換為文字

探索複雜的 VBA 領域可能會令人卻步,但別擔心——因為還有一條更簡單的路徑可以實現將數字轉換為文字的迷人創舉。這個替代方法利用了使用者定義函數,提供了一種精簡的方式,同時保留了同樣迷人的轉換效果。透過深入了解以下步驟,我們將揭開這項創新技術的神秘面紗,讓你能夠巧妙地避開 VBA 的複雜性,同時無縫地將優美的文字魅力注入你的資料中。

使用 SpellNumber 巨集的優點:

1. 簡單易用:使用者定義函數非常簡單。完全不需要 VBA 知識,讓更多使用者都能輕鬆上手。

2. 普遍的存取性:不同於需要整合到每個活頁簿的巨集,此函數會跟隨工作表,確保無縫分享。

3. 無巨集警告:分享活頁簿時,告別煩人的巨集警告。此函數會在背景運作,優雅地將數字轉換為文字。

在 Excel 中使用巨集進行 SpellNumber 的缺點:

1. 需熟練 VBA:巨集需要具備 VBA 技能才能進行自訂,這可能會限制不熟悉程式設計的人。

2. 僅限特定活頁簿:巨集必須複製或內建到每個活頁簿中,增加了複雜性和維護成本。

3. 巨集警告:分享含有巨集的活頁簿可能會觸發警告,進而引發安全疑慮。

現在,讓我們踏上風景優美的路線,透過一個實用範例來見證這種方法(使用 Excel 中可用的公式組合)的藝術。

如何不使用 VBA 在 Excel 中將數字轉換為文字

範例:使用公式將數字轉換為文字

步驟 1。開啟包含你想轉換之數值資料的 Excel 工作表。


範例資料


範例資料



步驟 2。選擇一個緊鄰數字的欄位。我們使用 B 欄來存放轉換後的文字。

步驟 3。在 B 欄的第一個儲存格中,輸入以下公式

=IF(OR(LEN(FLOOR(A1,1))=13,FLOOR(A1,1)<=0),"out of="" range="">1,CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),3,1)+1,""," one"," two"," three"," four"," five"," six"," seven"," eight"," nine"),IF(VALUE(MID(TEXT(INT(A1),REPT(0,12)),2,1))=0,CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),3,1)+1,"","one","two","three","four","five","six","seven","eight","nine"),"")),IF(A1>=10^9," billion ",""),CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),4,1)+1,"","one hundred ","two hundred ","three hundred ","four hundred ","five hundred ","six hundred ","seven hundred ","eight hundred ","nine hundred "),CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),5,1)+1,"",CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),6,1)+1,"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"),"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"),IF(VALUE(MID(TEXT(INT(A1),REPT(0,12)),5,1))>1,CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),6,1)+1,""," one"," two"," three"," four"," five"," six"," seven"," eight"," nine"),IF(VALUE(MID(TEXT(INT(A1),REPT(0,12)),5,1))=0,CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),6,1)+1,"","one","two","three","four","five","six","seven","eight","nine"),"")),IF(VALUE(MID(TEXT(INT(A1),REPT(0,12)),4,3))>0," million ",""),CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),7,1)+1,"","one hundred ","two hundred ","three hundred ","four hundred ","five hundred ","six hundred ","seven hundred ","eight hundred ","nine hundred "),CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),8,1)+1,"",CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),9,1)+1,"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"),"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"),IF(VALUE(MID(TEXT(INT(A1),REPT(0,12)),8,1))>1,CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),9,1)+1,""," one"," two"," three"," four"," five"," six"," seven"," eight"," nine"),IF(VALUE(MID(TEXT(INT(A1),REPT(0,12)),8,1))=0,CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),9,1)+1,"","one","two","three","four","five","six","seven","eight","nine"),"")),IF(VALUE(MID(TEXT(INT(A1),REPT(0,12)),7,3))," thousand ",""),CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),10,1)+1,"","one hundred ","two hundred ","three hundred ","four hundred ","five hundred ","six hundred ","seven hundred ","eight hundred ","nine hundred "),CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),11,1)+1,"",CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),12,1)+1,"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"),"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"),IF(VALUE(MID(TEXT(INT(A1),REPT(0,12)),11,1))>1,CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),12,1)+1,""," one"," two"," three"," four"," five"," six"," seven"," eight"," nine"),IF(VALUE(MID(TEXT(INT(A1),REPT(0,12)),11,1))=0,CHOOSE(MID(TEXT(INT(A1),REPT(0,12)),12,1)+1,"","one","two","three","four","five","six","seven","eight","nine"),"")))," "," ")&IF(FLOOR(A1,1)>1," "," "))&IF(ISERROR(FIND(".",A1,1)),""," point "&PROPER(IF(LEN(LEFT(TRIM(MID(SUBSTITUTE('Number to Word Without VBA'!A1,".",REPT(" ",255)),255,200)),2))=1,CHOOSE(1*LEFT(TRIM(MID(SUBSTITUTE('Number to Word Without VBA'!A1,".",REPT(" ",255)),255,200)),2),"One","Two","Three","Four","Five","Six","Seven","Eight","Nine")&" ","")&CONCATENATE(CHOOSE(MID(TEXT(INT(LEFT(TRIM(MID(SUBSTITUTE('Number to Word Without VBA'!A1,".",REPT(" ",255)),255,200)),2)),REPT(0,12)),11,1)+1,"",CHOOSE(MID(TEXT(INT(LEFT(TRIM(MID(SUBSTITUTE('Number to Word Without VBA'!A1,".",REPT(" ",255)),255,200)),2)),REPT(0,12)),12,1)+1,"One","One One","One Two","One Three","One Four","One Five","One Six","One Seven","One Eight","One Nine")&" ","Two","Three","Four","Five","Six","Seven","Eight","Nine"),IF(VALUE(MID(TEXT(INT(LEFT(TRIM(MID(SUBSTITUTE('Number to Word Without VBA'!A1,".",REPT(" ",255)),255,200)),2)),REPT(0,12)),11,1))>1,CHOOSE(MID(TEXT(INT(LEFT(TRIM(MID(SUBSTITUTE('Number to Word Without VBA'!A1,".",REPT(" ",255)),255,200)),2)),REPT(0,12)),12,1)+1,""," One"," Two"," Three"," Four"," Five"," Six"," Seven"," Eight"," Nine")&" ",IF(LEFT(TRIM(MID(SUBSTITUTE('Number to Word Without VBA'!A1,".",REPT(" ",255)),255,200)),2)="01","one ",IF(LEFT(TRIM(MID(SUBSTITUTE('Number to Word Without VBA'!A1,".",REPT(" ",255)),255,200)),1)="0",CHOOSE(MID(TEXT(INT(LEFT(TRIM(MID(SUBSTITUTE('Number to Word Without VBA'!A1,".",REPT(" ",255)),255,200)),2)),REPT(0,12)),12,1)+1,"","One","Two","Three","Four","Five","Six","Seven","Eight","Nine")&" ","")))))))

步驟 4。按下 Enter 鍵,觀察 A2 儲存格的數字如何優雅地在 B2 儲存格演變成文字。


使用公式將數字轉換為文字


使用公式將數字轉換為文字



步驟 5。若要轉換更多數字,請向下拖曳公式,揭開神奇蛻變的面紗。


向下拖曳公式


向下拖曳公式



我使用使用者定義函數的經驗:

在探索使用者定義函數時,我非常欣賞它們帶來的簡單性——無需複雜的 VBA 程式碼或繁瑣的設定。只需一個直覺的公式就能將數字轉換為文字,為 Excel 增添了獨特的風格。不過要注意的是:充分理解該函數是關鍵。在不同情境下進行測試以確保精確性。這種實用的見解強調了函數的價值,同時也突顯了謹慎使用以獲得最佳結果的重要性。



第三部分:為什麼要使用 WPS Office?


WPS Office 標誌


WPS Office 標誌



值得注意的是,我們到目前為止探討的方法不僅適用於 Microsoft Excel,也適用於 WPS Office Spreadsheet。不過,我們誠摯邀請你探索 WPS Office 帶來的獨特優勢。這就是為什麼我們建議你在進行 Excel 轉換任務時考慮使用 WPS Office 的原因:

1. 價格:WPS Office 提供了一種經濟實惠的替代方案,同時在功能上毫不妥協,使其成為個人和專業用途的高性價比選擇。

2. 相容性:在 WPS Office 和 Microsoft Office 之間無縫交換文件,確保協作和文件分享順暢無阻。

3. 功能:WPS Office 擁有豐富全面的功能套件,足以媲美業界標準,讓你輕鬆完成各種任務。它還具備了 AI Writer 和 AI Document Translator 等 AI 功能。

4. 使用者友善的介面:WPS Office 的操作非常簡單,即使是新手也能輕鬆上手。直覺的介面確保了平緩的學習曲線和高效率的工作流程。

5. 發掘隱藏的寶藏:深入閱讀 WPS 部落格,挖掘能提升你技能的隱藏寶藏。從進階技巧到創新解決方案,每篇教學都是邁向精通的一步。 

6. 快速格式轉換:為了提升你的工作效率,WPS Office 也能快速將 Excel 轉換為 PDF。 

7. AI 驅動的生產力提升:WPS AI 為你的日常任務注入強大動力——從簡單提示詞在 Excel 中將數字轉換為文字,到自動生成公式、總結文件以及即時翻譯文字,應有盡有。

免費下載 Office
   
  • 免費使用 Word、Excel 和 PPT,無廣告。

  • 使用強大的 PDF 工具組編輯 PDF 檔案。

  • 類似 Microsoft 的介面。簡單易學。100% 相容。

  • 透過 WPS 豐富的免費 Word、Excel、PPT 和履歷範本提升你的生產力。

100% 安全
頭像
Algirdas Jasaitis

第四部分:如何使用 WPS AI 在 Excel 中將數字轉換為文字

建構在我們剛剛探討的非 VBA 方法之上,WPS AI 提供了一種更直覺的方式將數字轉換為文字——完全不需要手動建立公式。這種由 AI 驅動的方法進一步精簡了流程,讓所有技能水準的使用者都能輕鬆上手。


步驟 1。在空白的儲存格中,開始輸入 =WPSAI,然後在下拉式選單中連按兩下 WPSAI 函數。

連按兩下 WPS AI
連按兩下 WPS AI

步驟 2。在函數括號內,參照包含目標數字的儲存格,然後加上提示詞。


加上提示詞
加上提示詞


步驟 3。按下 Enter 鍵,AI 會立即在該儲存格中產生數字對應的文字。

自動產生
自動產生

步驟 4。從第一個轉換好的儲存格向下拖曳填滿控制點,即可將相同的 AI 轉換套用到欄位中所有剩餘的數字。

套用到其他儲存格
套用到其他儲存格


完成
完成



選取儲存格中的數字將會被轉換為文字。

與受限於單一特定轉換規則的靜態非 VBA 公式不同,AI 能夠理解自然語言提示詞——所以如果我需要切換到不同的風格,我只需調整提示詞,而不需要重新建立公式。這也免除了記住複雜語法或排除巢狀函數錯誤的麻煩;AI 會包辦繁重的工作,讓我可以專注於資料本身,而不是操作機制。在完成統計之後,你也可以使用 WPS Office 的轉換功能,包含 Excel 轉換為 PDF。 

關於如何在 Excel 中將數字轉換為文字的常見問題解答

我可以反向將文字轉換為數字嗎?

當然可以!在 WPS Office 中,使用 VBA 程式碼確實可以進行反向轉換,也就是從文字轉換回數字。雖然本文的重點在於將數字轉換為文字,但值得注意的是,WPS Office 提供了多功能工具來處理雙向的轉換。

我可以一鍵將數字轉換為文字嗎?

絕對可以,透過 WPS Office 卓越的功能(使用 VBA 或可用的公式組合),只需點擊一下即可將數字輕鬆轉換為文字。這項精簡的流程簡化了你的任務,為你省下了寶貴的時間和精力。

什麼是 VBA 以及如何快速學習它?

VBA 是 Microsoft 開發的程式語言,用於在 Excel、Word 和 PowerPoint 等 Office 應用程式中自動化任務並建立自訂解決方案。

快速學習 VBA:

  • 基礎知識:了解變數和迴圈等程式設計概念。

  • VBA 編輯器:在 Office 應用程式中開啟以撰寫程式碼。

  • 範例:研究簡單的程式碼範例。

  • 錄製巨集:透過錄製操作來學習。

  • 線上資源:利用教學和課程。

  • 練習:定期編寫小型專案。

  • 官方文件:探索 Microsoft 的 VBA 官方文件。

  • 社群:參與線上論壇。

  • 建立:為實際任務建立你專屬的巨集。

  • 除錯:學習修正程式碼錯誤。

  • 保持好奇心:不斷探索與實驗。

精通 VBA 能提升生產力並提供量身打造的解決方案。

如果檔案在轉換過程中損壞,我該怎麼辦?

通常不會發生檔案損壞的問題。不過,如果在轉換過程中確實發生了檔案損壞,也請別擔心——你可以使用 WPS 檔案修復工具來復原 Excel 檔案

總結

在本指南中,我們探討了在 Excel 中將數字轉換為文字的不同方法,著重於 VBA 巨集和使用者定義函數。我們為每種方法提供了清晰的逐步說明和範例。在強調 WPS Office 優點的同時,我們突顯了它與 Excel 的相容性、使用者友善的功能和經濟實惠,再加上其強大的 WPS AI 讓只需一個簡單的提示詞即可簡化數字到文字的轉換。WPS 也提供 XLSX 檢視器 來幫助你立即開啟並查看 Excel 檔案。 無論你選擇 VBA 還是使用者定義函數,本指南都能讓你順利完成數字到文字的轉換,同時認識到使用 WPS Office 強化辦公任務的優勢。

100% 安全


陳文豪

10年辦公軟件產業經驗,專注於跨平台文件兼容性分析及生產力工具評測。追蹤我的專欄獲取最新WPS功能解析、企業數位轉型案例分享及AI辦公應用實測報告。