Skip to main content

Excel에서 숫자를 단어로 변환하기 – 종합 가이드

Author: Xiaoyang Last Modified: 2025-08-06

숫자를 글로 변환해야 하는 경우는 재무 보고서, 법적 문서, 송장 또는 수표 작성 시 자주 발생합니다. Excel은 기본적으로 이 기능을 제공하지 않지만, Microsoft 365의 내장 함수부터 VBA 사용자 정의 함수 및 강력한 서드파티 추가 기능까지 여러 가지 신뢰할 만한 방법으로 이를 달성할 수 있습니다. 이 종합 가이드에서는 각 방법을 차례로 안내하고, 그 장점과 한계를 설명하며, 특정 요구 사항에 가장 적합한 접근 방식을 선택하는 데 도움을 줍니다.

A screenshot showing converting numbers to words in Excel

Excel에서 숫자를 단어로 변환하는 방법

이 섹션에서는 Excel에서 통화 숫자를 단어로 변환하는 세 가지 효과적인 방법을 소개합니다. 사용 중인 Excel 버전과 용도에 따라 가장 적합한 방법을 선택하세요.


방법 1: 새로운 내장 함수 사용 (Microsoft 365 전용)

Microsoft 365용 Excel을 사용 중이라면, 창의적인 수식 조합을 통해 새 TRANSLATE 함수를 활용하여 쉽게 통화 숫자를 단어로 변환할 수 있습니다.

아래 스크린샷에 표시된 대로 범위 A2:A5의 통화 숫자를 단어로 변환하려면 다음 수식을 적용하여 처리할 수 있습니다.

  1. 빈 셀(예: B2)을 선택하고 아래 수식을 입력하세요.
    =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(B9),"th","en")),"baht","dollars"),"satang","cents"))
  2. "Enter" 키를 누르고 "채우기 핸들"을 드래그하여 다른 행에도 적용하세요.
    A screenshot showing how to use the new function to convert numbers to words

수식 작동 원리:

  • BAHTTEXT: 숫자를 태국 바트 텍스트로 변환합니다 (예: “หนึ่งบาทถ้วน”).
  • TRANSLATE(...,"th","en"): 텍스트를 다른 언어로 번역합니다 (Microsoft 365 필요). 이 경우에는 태국어를 영어로 번역합니다.
  • LOWER(): 일관성을 위해 전체 문자열을 소문자로 변환합니다.
  • SUBSTITUTE(): "바트" 및 "사탕" 같은 통화 단어를 원하는 용어로 대체합니다.
  • PROPER(): 적절한 형식을 위해 각 단어의 첫 글자를 대문자로 변환합니다.

다른 통화로 맞춤 설정:

위 수식은 미국 달러로 결과를 출력합니다. 주요 및 부 단위를 교체하여 다른 통화로 맞춤 설정할 수 있습니다:

  • 영국 파운드의 경우 "달러"를 대상 통화의 주요 단위로 바꿉니다. 예: "pounds"로 변경.
  • "cents"를 부 단위로 바꿉니다. 예: 영국 파운드의 경우 "pence"로 변경.

다음 표는 호환 가능한 통화와 사용할 수 있는 해당 수식을 나열합니다:

통화주요 단위 교체부 단위 교체예제 수식 (값이 A2 셀에 있다고 가정)
USD dollars cents =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","dollars"),"satang","cents"))
GBP pounds pence =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","pounds"),"satang","pence"))
EUR euros cents =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","euros"),"satang","cents"))
MYR ringgit sen =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","ringgit"),"satang","sen"))

이 방법의 제한 사항:

  • Microsoft 365용 Excel에서만 작동함 (TRANSLATE() 함수 때문).
  • 출력은 BAHTTEXT() 포맷팅의 정확도에 크게 의존합니다.
  • 이 방법은 태국 바트처럼 주 단위와 부 단위가 있는 통화에 적합합니다 (예: 달러와 센트). 비슷한 구조를 따르지 않는 통화에는 추천되지 않습니다.

방법 2: VBA 사용자 정의 함수 사용

이 섹션에서는 VBA 기반 사용자 정의 함수(UDF)를 사용하여 숫자 값을 영어 통화 단어로 변환하는 방법을 배웁니다. 기본적으로 U.S. 달러(USD)에 맞게 설계되어 있습니다.

1단계: VBA 코드 삽입

  1. 이 기능을 사용하려는 워크시트를 엽니다.
  2. "Alt" + "F11"을 눌러 "Microsoft Visual Basic for Applications" 창을 엽니다.
  3. 편집기에서 "삽입" > "모듈"을 클릭하고 다음 VBA 코드를 붙여넣습니다.
    Function SpellNumberToEnglish(ByVal pNumber)
    'Update by Extendoffice
    Dim Dollars, Cents
    arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
    pNumber = Trim(Str(pNumber))
    xDecimal = InStr(pNumber, ".")
    If xDecimal > 0 Then
        Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
        pNumber = Trim(Left(pNumber, xDecimal - 1))
    End If
    xIndex = 1
    Do While pNumber <> ""
        xHundred = ""
        xValue = Right(pNumber, 3)
        If Val(xValue) <> 0 Then
            xValue = Right("000" & xValue, 3)
            If Mid(xValue, 1, 1) <> "0" Then
                xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
            End If
            If Mid(xValue, 2, 1) <> "0" Then
                xHundred = xHundred & GetTens(Mid(xValue, 2))
            Else
                xHundred = xHundred & GetDigit(Mid(xValue, 3))
            End If
        End If
        If xHundred <> "" Then
            Dollars = xHundred & arr(xIndex) & Dollars
        End If
        If Len(pNumber) > 3 Then
            pNumber = Left(pNumber, Len(pNumber) - 3)
        Else
            pNumber = ""
        End If
        xIndex = xIndex + 1
    Loop
    Select Case Dollars
        Case ""
            Dollars = "No Dollars"
        Case "One"
            Dollars = "One Dollar"
        Case Else
            Dollars = Dollars & " Dollars"
    End Select
    Select Case Cents
        Case ""
            Cents = " and No Cents"
        Case "One"
            Cents = " and One Cent"
        Case Else
            Cents = " and " & Cents & " Cents"
    End Select
    SpellNumberToEnglish = Dollars & Cents
    End Function
    Function GetTens(pTens)
    Dim Result As String
    Result = ""
    If Val(Left(pTens, 1)) = 1 Then
        Select Case Val(pTens)
            Case 10: Result = "Ten"
            Case 11: Result = "Eleven"
            Case 12: Result = "Twelve"
            Case 13: Result = "Thirteen"
            Case 14: Result = "Fourteen"
            Case 15: Result = "Fifteen"
            Case 16: Result = "Sixteen"
            Case 17: Result = "Seventeen"
            Case 18: Result = "Eighteen"
            Case 19: Result = "Nineteen"
            Case Else
        End Select
    Else
    Select Case Val(Left(pTens, 1))
        Case 2: Result = "Twenty "
        Case 3: Result = "Thirty "
        Case 4: Result = "Forty "
        Case 5: Result = "Fifty "
        Case 6: Result = "Sixty "
        Case 7: Result = "Seventy "
        Case 8: Result = "Eighty "
        Case 9: Result = "Ninety "
        Case Else
    End Select
    Result = Result & GetDigit(Right(pTens, 1))
    End If
    GetTens = Result
    End Function
    Function GetDigit(pDigit)
    Select Case Val(pDigit)
        Case 1: GetDigit = "One"
        Case 2: GetDigit = "Two"
        Case 3: GetDigit = "Three"
        Case 4: GetDigit = "Four"
        Case 5: GetDigit = "Five"
        Case 6: GetDigit = "Six"
        Case 7: GetDigit = "Seven"
        Case 8: GetDigit = "Eight"
        Case 9: GetDigit = "Nine"
        Case Else: GetDigit = ""
    End Select
    End Function
    A screenshot showing the code editor
  4. "Alt" + "Q"를 눌러 워크시트로 돌아갑니다.

2단계: 함수 적용

  1. 셀에 아래 수식을 입력하고 "Enter" 키를 누릅니다.
    =SpellNumberToEnglish(A2)
  2. 그런 다음 채우기 핸들을 드래그하여 필요한 경우 다른 행에도 적용합니다. 이제 숫자가 다음과 같이 단어로 표시됩니다:
    A screenshot showing the user-defined function and the results

다른 통화로 맞춤 설정:

이 함수는 "Dollar(s)" 및 "Cent(s)" 값만 출력하며, 이는 USD에만 하드코딩되어 있습니다. 예를 들어 "영국 파운드"로 숫자를 변환하려면 다음 코드 줄에서 주요 및 부 단위를 직접 수정해야 합니다.

A screenshot showing how to change the codes to adapt for other currencies

워크북을 매크로 사용 가능 파일로 저장

기본적으로 워크북을 매크로 사용 가능 워크북으로 저장하지 않으면 VBA 함수는 유지되지 않습니다:

  1. "Ctrl" + "S"를 눌러 저장합니다.
  2. 매크로 관련 팝업 메시지에서 "돌아가기" 버튼을 선택합니다.
    참고: 팝업에 "예", "아니오", "도움말"만 표시되는 경우, "아니오"를 클릭합니다.
    A screenshot showing how to change the codes to adapt for other currencies
  3. "다른 이름으로 저장" 창에서.
    1. 저장 위치를 선택합니다.
    2. "Save as type" 드롭다운 목록에서 "Excel Macro-Enabled Workbook (*.xlsm)"를 선택합니다.
    3. "저장"을 클릭합니다.
      A screenshot showing how to change the codes to adapt for other currencies

SpellNumberToEnglish VBA 함수의 제한 사항

다중 언어 지원 불가
  • 이 함수는 영어로만 결과를 생성합니다.
  • 다른 언어(예: 프랑스어, 독일어)는 지원하지 않으며 통화 단위가 숫자 앞에 오는 경우(예: 인도 영어에서 "루피 백")도 처리하지 않습니다.
표준 Excel 파일에 저장되지 않음
  • 매크로 사용 가능 워크북(.xlsm)로 저장하지 않으면 Excel을 닫을 때 함수가 손실됩니다.
  • 일반 .xlsx 파일로 저장하면 모든 VBA 코드가 삭제됩니다.
공유 시 매크로 보안 경고
  • 매크로 사용 가능 파일을 다른 사람에게 보내면 열릴 때 "보안 경고 - 매크로가 비활성화되었습니다"라는 알림이 나타납니다.
  • 일부 사용자는 잠재적인 보안 위험을 우려하여 매크로를 활성화하기를 꺼리며 파일 사용을 거부할 수 있습니다.
맞춤을 위한 VBA 지식 필요
  • 통화 용어나 형식을 변경하려면 VBA 코드를 수동으로 편집해야 합니다.
  • 매크로나 스크립팅에 익숙하지 않은 사용자에게는 적합하지 않습니다.

방법 3: Kutools for Excel 사용 (수식이나 VBA 없이 가능)

"Kutools for Excel"을 설치하면 "Numbers to Words" 기능을 사용하여 숫자를 영어(통화 또는 일반), EUR, GBP, JPY 등 수십 개의 다른 언어 및 통화로 변환할 수 있습니다.

Excel에서 숫자를 단어로 변환하기 위한 코드 없이 사용자 친화적이고 다목적이며 간편한 솔루션을 찾고 있다면, Kutools for Excel의 전용 "Numbers to Words" 기능이 다음을 지원합니다:

  • 영어 (USD, GBP, EUR 등)
  • 수십 개의 다른 언어와 통화 (예: 일본 엔, 인도 루피, 중국 위안)
  • 통화 형식 또는 일반 단어 (예: "백 스물셋" 대신 "백 스물셋 달러")

사용 단계:

  1. 변환하려는 숫자가 포함된 셀을 선택합니다.
  2. "Kutools" > "텍스트" > "Numbers to Words"를 선택합니다.
  3. "Numbers to Currency Word" 대화 상자에서 다음을 수행해야 합니다:
    1. 원하는 언어와 통화 스타일을 선택합니다 (예: USD의 경우 영어 – 미국).
    2. "확인"을 클릭합니다.
      A screenshot showing the numbers to currency word dialog box

옵션: "Not converted to currency"를 선택하면 일반 영어 단어로 변환됩니다("달러" 또는 "센트" 없이).

선택한 숫자는 설정에 따라 적절한 통화 단어로 변환됩니다.

Kutools for Excel - 필수적인 300개 이상의 도구로 Excel을 강화하세요. 영구적으로 무료인 AI 기능을 활용하세요! 지금 바로 구매하기


역순 작업: 통화 단어를 숫자로 변환

영어 단어로 작성된 통화 금액 목록이 있을 경우, 예를 들어:

"백 스물셋 달러 사십오 센트"

그리고 Excel에서 실제 숫자(예: 123.45)로 변환하려면 다음과 같이 사용자 정의 VBA User Defined Function (UDF)을 사용할 수 있습니다.

1단계: VBA 편집기를 열고 VBA 코드 삽입

  1. Excel 워크북을 엽니다.
  2. "Alt" + "F11"을 눌러 "Microsoft Visual Basic for Applications (VBA)" 편집기를 엽니다.
  3. VBA 편집기에서 "삽입" > "모듈"을 클릭합니다.
  4. 다음 VBA 코드를 복사하여 빈 모듈 창에 붙여넣습니다:
    Function WordsToNumber(ByVal Txt As String) As Double
    'Updated by Extendoffice
        Dim x As Object: Set x = CreateObject("Scripting.Dictionary")
        Dim units, tens, specials
        Dim part As String, parts() As String
        Dim total As Double, partial As Double, multiplier As Double
        Dim i As Long, word As String
        
        Txt = LCase(Trim(Txt))
        Txt = Replace(Txt, ",", "")
        Txt = Replace(Txt, "-", " ")
        Txt = Replace(Txt, " and ", " ")
        Txt = Replace(Txt, "  ", " ")
        
        ' Setup basic number words
        x.Add "zero", 0: x.Add "one", 1: x.Add "two", 2: x.Add "three", 3
        x.Add "four", 4: x.Add "five", 5: x.Add "six", 6: x.Add "seven", 7
        x.Add "eight", 8: x.Add "nine", 9: x.Add "ten", 10: x.Add "eleven", 11
        x.Add "twelve", 12: x.Add "thirteen", 13: x.Add "fourteen", 14
        x.Add "fifteen", 15: x.Add "sixteen", 16: x.Add "seventeen", 17
        x.Add "eighteen", 18: x.Add "nineteen", 19: x.Add "twenty", 20
        x.Add "thirty", 30: x.Add "forty", 40: x.Add "fifty", 50
        x.Add "sixty", 60: x.Add "seventy", 70: x.Add "eighty", 80
        x.Add "ninety", 90: x.Add "hundred", 100: x.Add "thousand", 1000
        x.Add "million", 1000000: x.Add "billion", 1000000000
        
        Dim dollarPart As String, centPart As String
        Dim dollarValue As Double, centValue As Double
        
        ' Split into dollars and cents
        If InStr(Txt, "dollar") > 0 Then
            dollarPart = Trim(Split(Txt, "dollar")(0))
        End If
        If InStr(Txt, "cent") > 0 Then
            centPart = Trim(Split(Txt, "cent")(0))
            If InStr(centPart, "dollar") > 0 Then
                centPart = Trim(Split(centPart, "dollar")(1))
            End If
        End If
        
        dollarValue = ParseWordsToNumber(dollarPart, x)
        centValue = ParseWordsToNumber(centPart, x)
        
        WordsToNumber = dollarValue + centValue / 100
    End Function
    
    Private Function ParseWordsToNumber(ByVal Txt As String, x As Object) As Double
        Dim parts() As String: parts = Split(Txt, " ")
        Dim total As Double, current As Double
        Dim i As Long, val As Double
        
        For i = 0 To UBound(parts)
            If x.exists(parts(i)) Then
                val = x(parts(i))
                Select Case val
                    Case 100
                        If current = 0 Then current = 1
                        current = current * val
                    Case Is >= 1000
                        If current = 0 Then current = 1
                        total = total + current * val
                        current = 0
                    Case Else
                        current = current + val
                End Select
            End If
        Next i
        
        total = total + current
        ParseWordsToNumber = total
    End Function

2단계: 시트에서 함수 적용

  1. "Alt" + "Q"를 눌러 Excel로 돌아갑니다.
  2. 비어 있는 셀에 다음 수식을 입력하고 "Enter" 키를 누릅니다. 결과를 모두 얻으려면 "Fill Handle"을 드래그합니다.
    =WordsToNumber(A2)
    A screenshot showing how to convert words to numbers

결론

숫자를 단어로 변환하거나 그 반대로 변환하는 것은 Excel에서 기본적으로 제공되지 않지만, 이 가이드에서는 필요에 따라 다양한 실용적인 해결책이 있음을 보여주었습니다:

  • Microsoft 365 사용자는 현대적인 내장 함수인 TRANSLATE를 사용하여 공식으로 "주 단위 + 부 단위" 구조를 따르는 통화 숫자를 영어 단어로 변환할 수 있습니다.
  • VBA 사용자 정의 함수는 숫자를 단어로 변환하거나 통화 단어를 다시 숫자로 변환하는 데 더 큰 유연성을 제공하지만, 매크로 관련 보안 문제가 있으며 코딩에 익숙한 사용자에게 가장 적합합니다.
  • Kutools for Excel은 수식이나 코딩이 필요 없는 가장 쉬운 다국어 및 다목적 옵션을 제공하며 수십 개의 통화와 언어를 지원합니다.
  • 단어를 다시 숫자로 변환해야 할 경우, VBA 솔루션이 이 문제를 효과적으로 해결하지만 정확한 결과를 얻기 위해 (예: 쉼표 제거) 정리 작업이 필요할 수 있습니다.

금융 문서 준비, 수표 인쇄 자동화 또는 데이터 표현 향상 등 어떤 작업을 하든 적절한 방법을 선택하면 전문적이고 정확한 출력을 얻을 수 있습니다.


최고의 오피스 생산성 도구

🤖 Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행   |  코드 생성  |  사용자 정의 수식 생성  |  데이터 분석 및 차트 생성  |  Kutools Functions 호출
인기 기능: 중복 찾기, 강조 또는 중복 표시  |  빈 행 삭제  |  데이터 손실 없이 열 또는 셀 병합  |  반올림...
슈퍼 LOOKUP: 다중 조건 VLookup    다중 값 VLookup  |   다중 시트 조회   |   퍼지 매치 ....
고급 드롭다운 목록: 드롭다운 목록 신속 생성  |  의존형 드롭다운 목록  |  다중 선택 드롭다운 목록....
열 매니저: 지정 개수 열 추가  |  열 이동  |  숨겨진 열 표시 상태 전환 |  범위 및 열 비교 ...
주요 기능: 그리드 포커스  |  디자인 보기  |  향상된 수식 표시줄   통합 문서 & 시트 관리   |  자동 텍스트 라이브러리   |  날짜 선택기   |  데이터 병합   |  셀 암호화/해독   목록별 이메일 보내기  |  슈퍼 필터  |  특수 필터 (굵게/이탤릭/취소선 필터...)...
Top15 도구 세트12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...)  |  50+ 차트 유형(간트 차트, ...)  |  40+ 실용 수식(생일을 기반으로 나이 계산, ...)  |  19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...)  |  12개 변환 도구(단어로 변환하기, 통화 변환, ...)  |  7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...)  |  ... 그리고 그 외
Kutools를 원하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 등40가지 이상의 언어를 지원합니다!

Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...


Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다

  • Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
  • 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
  • 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!