Skip to main content

Kutools for Office — 하나의 패키지. 다섯 가지 도구. 더 많은 일을 처리하세요.

엑셀에서 인도 루피 및 기타 통화로 숫자를 단어로 변환하기 (2025년 버전)

Author Xiaoyang Last modified

다음은 엑셀에서 숫자를 인도 루피 또는 기타 통화로 단어로 변환하는 방법입니다.

인보이스, 견적서, 세금 신고서, 수표 또는 지불 증명서와 같은 금융 문서를 다룰 때, 통화 값을 숫자와 글로 된 형식 모두로 표현해야 하는 경우가 많습니다. 이는 전문성을 더하고 사기나 오해를 방지하는 데 도움이 됩니다.

예시

12,350.50 → 루피 십이만 삼천오백오십 및 오십 파이사 만

마이크로소프트 엑셀에는 숫자를 단어로 변환하는 내장 기능이 없지만, VBA, LAMBDA 함수 또는 올인원 Kutools for Excel 추가 기능을 통해 이를 효과적으로 수행할 수 있는 여러 가지 방법이 있습니다.

VBA를 사용하여 인도 루피로 숫자를 단어로 변환하기 (모든 Microsoft 버전)

LAMBDA 함수를 사용하여 인도 루피로 숫자를 단어로 변환하기 (Microsoft 365 전용)

USD, EUR 및 30개 이상의 다른 통화로 숫자를 단어로 변환하기 (모든 Microsoft 버전)

각 방법을 언제 사용할 것인가


VBA를 사용하여 인도 루피로 숫자를 단어로 변환하기 (모든 Microsoft 버전)

모든 엑셀 버전의 사용자에게 VBA(Visual Basic for Applications)는 인도 번호 체계(예: 천, 락, 크로어)를 사용하여 숫자를 단어로 변환하는 맞춤형 방법을 제공합니다.

1단계. Alt + F11을 눌러 VBA 편집기(Microsoft Visual Basic for Applications 창)를 엽니다.

vba-editor

2단계. 삽입 > 모듈로 이동합니다.

select-module

3단계. VBA 코드를 모듈에 붙여넣습니다.

인도 루피로 숫자를 단어로 변환하기

Function ConvertToRupees(ByVal MyNumber)
'UpdatebyExtendoffice
    Dim Units As String, SubUnits As String, TempStr As String
    Dim DecimalPlace As Integer, Count As Integer
    Dim Place(9) As String
    Place(2) = " Thousand "
    Place(3) = " Lakh "
    Place(4) = " Crore "
    
    MyNumber = Trim(Str(MyNumber))
    DecimalPlace = InStr(MyNumber, ".")
    
    If DecimalPlace > 0 Then
        SubUnits = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))
        MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
    End If
    
    Count = 1
    Do While MyNumber <> ""
        TempStr = GetHundreds(Right(MyNumber, 3))
        If TempStr <> "" Then Units = TempStr & Place(Count) & Units
        If Len(MyNumber) > 3 Then
            MyNumber = Left(MyNumber, Len(MyNumber) - 3)
        Else
            MyNumber = ""
        End If
        Count = Count + 1
    Loop
    
    ConvertToRupees = "Rupees " & Application.WorksheetFunction.Trim(Units)
    If SubUnits <> "" Then
        ConvertToRupees = ConvertToRupees & " and " & SubUnits & " Paise"
    End If
    ConvertToRupees = ConvertToRupees & " Only"
End Function

Private Function GetHundreds(ByVal MyNumber)
    Dim Result As String
    If Val(MyNumber) = 0 Then Exit Function
    MyNumber = Right("000" & MyNumber, 3)
    
    If Mid(MyNumber, 1, 1) <> "0" Then
        Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
    End If
    
    If Mid(MyNumber, 2, 1) <> "0" Then
        Result = Result & GetTens(Mid(MyNumber, 2))
    Else
        Result = Result & GetDigit(Mid(MyNumber, 3))
    End If
    GetHundreds = Result
End Function

Private Function GetTens(TensText)
    Dim Result As String
    If Val(Left(TensText, 1)) = 1 Then
        Select Case Val(TensText)
            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"
        End Select
    Else
        Select Case Val(Left(TensText, 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 "
        End Select
        Result = Result & GetDigit(Right(TensText, 1))
    End If
    GetTens = Result
End Function

Private Function GetDigit(Digit)
    Select Case Val(Digit)
        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
paste-code

4단계. 저장하고 엑셀로 돌아갑니다.

5단계. 셀을 선택하고 다음과 같이 수식을 사용합니다:

=ConvertToRupees(A2)

Enter 키를 누릅니다.

use-formula

💡 : 이 방법은 소수점(파이사)을 지원하며 오프라인에서도 작동합니다.

VBA 사용의 제한사항

  • 통합 문서를 매크로가 활성화된 파일(.xlsm)로 저장해야 합니다.
  • 일부 환경에서는 보안 설정에 의해 매크로가 차단될 수 있습니다.

다른 통화(USD, EUR 등)로 숫자를 단어로 변환하기

"달러" 또는 "유로"와 같은 다른 통화로 출력을 맞춤설정하려면 VBA 함수의 문자열 값을 조정할 수 있습니다. 아래는 간단하고 유연한 버전의 함수입니다.

유연한 VBA 코드 템플릿 (맞춤형 통화)

'UpdatebyExtendoffice
Public Function NumberToWordsCustom(ByVal num As Double, Optional ByVal currency2 As String, Optional ByVal subCurrency As String) As String
    Dim result As String
    Dim dollars As Long
    Dim cents As Long

    dollars = Int(num)
    cents = Round((num - dollars) * 100)
  
    If Len(currency2) = 0 Then currency2 = "Dollars"
    If Len(subCurrency) = 0 Then subCurrency = "Cents"
    result = currency2 & " " & SpellNumber_English(dollars)

    If cents > 0 Then
        result = result & " and " & SpellNumber_English(cents) & " " & subCurrency
    End If

    NumberToWordsCustom = result & " Only"
End Function

Private Function SpellNumber_English(ByVal MyNumber As Long) As String
    Dim Units As Variant, Tens As Variant, Teens As Variant
    Dim Place() As String
    Dim TempStr As String
    Dim Count As Integer
    Dim t As String
    Dim StrNumber As String
    Dim n As Integer

    Place = Split(" Thousand Million Billion", " ")
    Units = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine")
    Tens = Array("", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
    Teens = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")

    StrNumber = Trim(Str(MyNumber))
    Count = 0

    Do While StrNumber <> ""
        n = Val(Right(StrNumber, 3))
        If n <> 0 Then
            t = ConvertHundreds(n, Units, Tens, Teens)
            If Count > 0 Then t = t & " " & Place(Count - 1)
            TempStr = t & " " & TempStr
        End If
        If Len(StrNumber) > 3 Then
            StrNumber = Left(StrNumber, Len(StrNumber) - 3)
        Else
            StrNumber = ""
        End If
        Count = Count + 1
    Loop

    SpellNumber_English = Trim(TempStr)
End Function

Private Function ConvertHundreds(ByVal n As Integer, Units As Variant, Tens As Variant, Teens As Variant) As String
    Dim result As String
    If n >= 100 Then
        result = Units(Int(n / 100)) & " Hundred "
        n = n Mod 100
    End If
    If n >= 20 Then
        result = result & Tens(Int(n / 10)) & " "
        n = n Mod 10
    ElseIf n >= 10 Then
        result = result & Teens(n - 10) & " "
        n = 0
    End If
    If n > 0 Then
        result = result & Units(n)
    End If
    ConvertHundreds = Trim(result)
End Function

예제 VBA 수식:

=NumberToWordsCustom(A2, "Dollars", "Cents")
vba-formula-to-other-currency

다른 통화 예제 VBA 수식:

=NumberToWordsCustom(A2, "Euros", "Cents")

=NumberToWordsCustom(A2, "Pounds", "Pence")

코드는 유연합니다. 원하는 통화와 부속 단위를 입력하기만 하면 됩니다.


매크로가 활성화된 파일로 통합 문서 저장하기

VBA를 사용 중이라면, 작업 내용을 잃지 않으려면 반드시 매크로가 활성화된 상태로 통합 문서를 저장해야 합니다. 그렇지 않으면 파일을 닫았을 때 코드가 손실됩니다.

1단계. 파일 > 다른 이름으로 저장으로 이동합니다.

use-save-as

2단계. 위치를 선택하고 파일 형식을 선택합니다: Excel 매크로 사용 가능 통합 문서 (*.xlsm).

use-save-as-macro-enabled

3단계. 저장을 클릭합니다.

✅ =ConvertToRupees(A2)와 같은 사용자 정의 함수는 이제 유지되며 언제든지 재사용할 수 있습니다.


LAMBDA 함수를 사용하여 인도 루피로 숫자를 단어로 변환하기 (Microsoft 365 전용)

엑셀 365 사용자는 LAMBDA라는 새로운 엑셀 기능을 사용하여 사용자 정의 수식을 정의할 수 있으며, VBA가 필요 없습니다.

🪄 LAMBDA란 무엇인가요?

LAMBDA는 SUM이나 IF와 같은 내장 함수처럼, 코드나 매크로 없이 수식을 사용하여 자신의 사용자 정의 함수를 만들 수 있게 해주는 엑셀의 기능입니다. 이 기능은 반복적인 논리를 단순화하고 스프레드시트를 깔끔하고 유지 관리하기 쉽게 만듭니다.

1단계: 이름 관리자로 이동하여 수식 > 이름 관리자를 클릭합니다.

select-name-manager

2단계: 새 이름을 생성합니다.

  • 새로 만들기 버튼을 클릭합니다.

    create-new-name
  • 이름을 입력합니다.

    예: RupeeToWords

    create-name
  • 3단계: 참조 대상 필드에 이 LAMBDA 수식을 붙여넣습니다:

    =LAMBDA(n, LET( units, {"","One","Two","Three","Four","Five","Six","Seven","Eight","Nine"}, teens, {"Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"}, tens, {"","","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"}, num, INT(n), paise, ROUND((n - INT(n)) * 100, 0), ConvertTwo, LAMBDA(x, IF(x<10, INDEX(units, x+1), IF(x<20, INDEX(teens, x-9), INDEX(tens, INT(x/10)+1) & IF(MOD(x,10)>0, " " & INDEX(units, MOD(x,10)+1), "") ) ) ), ConvertThree, LAMBDA(x, IF(x=0, "", IF(x<100, ConvertTwo(x), INDEX(units, INT(x/100)+1) & " Hundred" & IF(MOD(x,100)>0, " " & ConvertTwo(MOD(x,100)), "") ) ) ), words, IF(num=0, "Zero", TEXTJOIN(" ", TRUE, IF(INT(num/10000000)>0, ConvertTwo(INT(num/10000000)) & " Crore", ""), IF(MOD(INT(num/100000),100)>0, ConvertTwo(INT(MOD(num,10000000)/100000)) & " Lakh", ""), IF(MOD(INT(num/1000),100)>0, ConvertTwo(INT(MOD(num,100000)/1000)) & " Thousand", ""), IF(MOD(INT(num/100),10)>0, INDEX(units, INT(MOD(num,1000)/100)+1) & " Hundred", ""), IF(MOD(num,100)>0, ConvertTwo(MOD(num,100)), "") ) ), result, "Rupees " & words & IF(paise>0, " and " & ConvertTwo(paise) & " Paise", "") & " Only", result ))
  • paste-lambda-function
  • 확인을 클릭하여 새 이름을 저장합니다.

3단계. 이름 관리자를 닫고 엑셀로 돌아갑니다.

4단계. 다음과 같이 아무 셀에서 수식을 사용합니다:

=RupeeToWords(A2)

Enter 키를 누릅니다.

use-lambda-formula

👀 전체 LAMBDA 함수 코드는 크로어, 락, 천, 소수까지 처리합니다.


USD, EUR 및 30개 이상의 다른 통화로 숫자를 단어로 변환하기 (모든 Microsoft 버전)

가장 효율적이고 전문적인 솔루션을 위해 Kutools for Excel의 Numbers to Words를 사용하세요. 이 강력한 도구는 다음을 지원합니다:

🌍 30개 이상의 통화, 포함:

  • 미국 달러 (USD)
  • 유로 (EUR)
  • 중국 위안 (CNY)
  • 영국 파운드 (GBP)
  • 등등.
다운로드

1단계. 변환하려는 셀을 선택합니다.

select-cells

2단계. Kutools > 텍스트 > Numbers to Words로 이동합니다.

select-numbers-to-words

3단계. 목표 통화를 선택하고 확인을 클릭합니다.

select-currency-in-dialog

숫자는 지정된 통화로 변환됩니다.

kutools-convert-result

😁 : 숫자를 직접 단어로 변환하려면 통화로 변환하지 않음 옵션을 선택하면 결과는 다음과 같이 표시됩니다:

convert-to-words

각 방법을 언제 사용할 것인가

  • 프로그래밍 가능한 유연한 솔루션이 필요하고 매크로에 익숙하다면 VBA를 사용하세요.

  • 엑셀 365를 사용하고 인도 루피 값을 가끔씩 변환해야 하는 경우 LAMBDA를 사용하세요. 이는 매크로나 외부 도구가 필요 없는 가벼운 공유 가능한 솔루션으로, 단순하거나 개인적인 작업에 적합합니다.
  • 가장 쉽고 빠르며 다재다능한 솔루션을 원하고 코딩이 필요 없다면 Kutools for Excel을 사용하세요. 특히 다음 상황에서 유용합니다:
    • 여러 통화를 다룰 때
    • 대량 또는 대규모 데이터셋의 값을 변환해야 할 때
    • 30개 이상의 통화 옵션과 AI 기반 성능을 갖춘 매크로 없는 전문적인 도구를 원할 때

최고의 오피스 생산성 도구

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

Kutools for Excel과 함께 엑셀 능력을 한 단계 끌어 올리고, 이전에 없던 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능으로 생산성을 높이고 저장 시간을 단축합니다.  가장 필요한 기능을 바로 확인하려면 여기를 클릭하세요...


Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 더욱 간편하게 만듭니다

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기를 활성화합니다.
  • 새 창 대신 같은 창의 새로운 탭에서 여러 파일을 열고 생성할 수 있습니다.
  • 생산성이50% 증가하며, 매일 수백 번의 마우스 클릭을 줄여줍니다!

모든 Kutools 추가 기능. 한 번에 설치

Kutools for Office 제품군은 Excel, Word, Outlook, PowerPoint용 추가 기능과 Office Tab Pro를 한 번에 제공하여 Office 앱을 활용하는 팀에 최적입니다.

Excel Word Outlook Tabs PowerPoint
  • 올인원 제품군 — Excel, Word, Outlook, PowerPoint 추가 기능 + Office Tab Pro
  • 설치 한 번, 라이선스 한 번 — 몇 분 만에 손쉽게 설정(MSI 지원)
  • 함께 사용할 때 더욱 효율적 — Office 앱 간 생산성 향상
  • 30일 모든 기능 사용 가능 — 회원가입/카드 불필요
  • 최고의 가성비 — 개별 추가 기능 구매 대비 절약