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

Excel에서 숫자를 단어로 변환하는 방법
이 섹션에서는 Excel에서 통화 숫자를 단어로 변환하는 세 가지 효과적인 방법을 소개합니다. 사용 중인 Excel 버전과 용도에 따라 가장 적합한 방법을 선택하세요.
방법 1: 새로운 내장 함수 사용 (Microsoft 365 전용)
Microsoft 365용 Excel을 사용 중이라면, 창의적인 수식 조합을 통해 새 TRANSLATE 함수를 활용하여 쉽게 통화 숫자를 단어로 변환할 수 있습니다.
아래 스크린샷에 표시된 대로 범위 A2:A5의 통화 숫자를 단어로 변환하려면 다음 수식을 적용하여 처리할 수 있습니다.
- 빈 셀(예: B2)을 선택하고 아래 수식을 입력하세요. =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(B9),"th","en")),"baht","dollars"),"satang","cents"))
- "Enter" 키를 누르고 "채우기 핸들"을 드래그하여 다른 행에도 적용하세요.
수식 작동 원리:
- 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 코드 삽입
- 이 기능을 사용하려는 워크시트를 엽니다.
- "Alt" + "F11"을 눌러 "Microsoft Visual Basic for Applications" 창을 엽니다.
- 편집기에서 "삽입" > "모듈"을 클릭하고 다음 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
- "Alt" + "Q"를 눌러 워크시트로 돌아갑니다.
2단계: 함수 적용
- 셀에 아래 수식을 입력하고 "Enter" 키를 누릅니다. =SpellNumberToEnglish(A2)
- 그런 다음 채우기 핸들을 드래그하여 필요한 경우 다른 행에도 적용합니다. 이제 숫자가 다음과 같이 단어로 표시됩니다:
다른 통화로 맞춤 설정:
이 함수는 "Dollar(s)" 및 "Cent(s)" 값만 출력하며, 이는 USD에만 하드코딩되어 있습니다. 예를 들어 "영국 파운드"로 숫자를 변환하려면 다음 코드 줄에서 주요 및 부 단위를 직접 수정해야 합니다.

워크북을 매크로 사용 가능 파일로 저장
기본적으로 워크북을 매크로 사용 가능 워크북으로 저장하지 않으면 VBA 함수는 유지되지 않습니다:
- "Ctrl" + "S"를 눌러 저장합니다.
- 매크로 관련 팝업 메시지에서 "돌아가기" 버튼을 선택합니다. 참고: 팝업에 "예", "아니오", "도움말"만 표시되는 경우, "아니오"를 클릭합니다.
- "다른 이름으로 저장" 창에서.
- 저장 위치를 선택합니다.
- "Save as type" 드롭다운 목록에서 "Excel Macro-Enabled Workbook (*.xlsm)"를 선택합니다.
- "저장"을 클릭합니다.
SpellNumberToEnglish VBA 함수의 제한 사항
- 이 함수는 영어로만 결과를 생성합니다.
- 다른 언어(예: 프랑스어, 독일어)는 지원하지 않으며 통화 단위가 숫자 앞에 오는 경우(예: 인도 영어에서 "루피 백")도 처리하지 않습니다.
- 매크로 사용 가능 워크북(.xlsm)로 저장하지 않으면 Excel을 닫을 때 함수가 손실됩니다.
- 일반 .xlsx 파일로 저장하면 모든 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 등)
- 수십 개의 다른 언어와 통화 (예: 일본 엔, 인도 루피, 중국 위안)
- 통화 형식 또는 일반 단어 (예: "백 스물셋" 대신 "백 스물셋 달러")
사용 단계:
- 변환하려는 숫자가 포함된 셀을 선택합니다.
- "Kutools" > "텍스트" > "Numbers to Words"를 선택합니다.
- "Numbers to Currency Word" 대화 상자에서 다음을 수행해야 합니다:
- 원하는 언어와 통화 스타일을 선택합니다 (예: USD의 경우 영어 – 미국).
- "확인"을 클릭합니다.
옵션: "Not converted to currency"를 선택하면 일반 영어 단어로 변환됩니다("달러" 또는 "센트" 없이).
선택한 숫자는 설정에 따라 적절한 통화 단어로 변환됩니다.
Kutools for Excel - 필수적인 300개 이상의 도구로 Excel을 강화하세요. 영구적으로 무료인 AI 기능을 활용하세요! 지금 바로 구매하기
역순 작업: 통화 단어를 숫자로 변환
영어 단어로 작성된 통화 금액 목록이 있을 경우, 예를 들어:
그리고 Excel에서 실제 숫자(예: 123.45)로 변환하려면 다음과 같이 사용자 정의 VBA User Defined Function (UDF)을 사용할 수 있습니다.

1단계: VBA 편집기를 열고 VBA 코드 삽입
- Excel 워크북을 엽니다.
- "Alt" + "F11"을 눌러 "Microsoft Visual Basic for Applications (VBA)" 편집기를 엽니다.
- VBA 편집기에서 "삽입" > "모듈"을 클릭합니다.
- 다음 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단계: 시트에서 함수 적용
- "Alt" + "Q"를 눌러 Excel로 돌아갑니다.
- 비어 있는 셀에 다음 수식을 입력하고 "Enter" 키를 누릅니다. 결과를 모두 얻으려면 "Fill Handle"을 드래그합니다. =WordsToNumber(A2)
결론
숫자를 단어로 변환하거나 그 반대로 변환하는 것은 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 for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...
Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다
- Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
- 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
- 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!