Skip to main content

Conversione di Numeri in Parole in Rupie Indiane e Altre Valute in Excel (Edizione 2025)

Author: Xiaoyang Last Modified: 2025-08-06

Ecco come convertire i numeri in parole in Rupie Indiane o qualsiasi altra valuta in Excel.

Quando si lavora con documenti finanziari come fatture, preventivi, moduli fiscali, assegni o buoni di pagamento, è spesso necessario rappresentare i valori delle valute sia in formato numerico che scritto. Questo aggiunge un livello di professionalità e aiuta a prevenire frodi o interpretazioni errate.

Esempio

12.350,50 → Rupie Dodicimila Trecentocinquanta e Cinquanta Paisa Solamente

Sebbene Microsoft Excel non abbia una funzionalità incorporata per convertire i numeri in parole, esistono diversi modi efficaci per raggiungere questo obiettivo—attraverso VBA, funzioni LAMBDA o l'add-in completo Kutools per Excel.

Convertire Numeri in Parole in Rupie Indiane con VBA (Tutte le Versioni Microsoft)

Convertire Numeri in Parole in Rupie Indiane con Funzione LAMBDA (Solo Microsoft 365)

Convertire Numeri in USD, EUR e Oltre 30 Altre Valute (Tutte le Versioni Microsoft)

Quando Usare Ogni Metodo


Convertire Numeri in Parole in Rupie Indiane con VBA (Tutte le Versioni Microsoft)

Per gli utenti di qualsiasi versione di Excel, VBA (Visual Basic for Applications) fornisce un metodo personalizzabile per convertire importi numerici in parole utilizzando il sistema di numerazione indiano (ad esempio, migliaia, lakh, crore).

Passo 1. Premere Alt + F11 per aprire l'editor VBA (finestra Microsoft Visual Basic for Applications).

vba-editor

Passo 2. Vai su Inserisci > Modulo.

select-module

Passo 3. Incolla il codice VBA nel Modulo.

Convertire numeri in parole in Rupie Indiane

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

Passo 4. Salva e torna a Excel.

Passo 5. Seleziona una cella e usa la formula in questo modo:

=ConvertToRupees(A2)

Premi il tasto Invio

use-formula

💡 Suggerimento: Questo metodo supporta i decimali (Paise) e funziona offline.

Limitazioni dell'uso di VBA

  • Richiede di salvare la cartella di lavoro come file abilitato per macro (.xlsm).
  • Le macro possono essere bloccate dalle impostazioni di sicurezza in alcuni ambienti.

Convertire Numeri in Parole in Altre Valute (USD, EUR, ecc.)

Per personalizzare l'output per altre valute, come "Dollari" o "Euro", puoi modificare i valori delle stringhe nella funzione VBA. Di seguito è riportata una versione semplificata e più flessibile della funzione.

Modello di Codice VBA Flessibile (Valuta Personalizzata)

'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

Formula VBA Esempio:

=NumberToWordsCustom(A2, "Dollari", "Centesimi")
vba-formula-to-other-currency

Formula VBA Esempio di Altra Valuta:

=NumberToWordsCustom(A2, "Euro", "Centesimi")

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

Il codice è flessibile—passa semplicemente la valuta desiderata e la sotto-unità.


Salvare la Cartella di Lavoro come File Abilitato per Macro

Se stai usando VBA, è fondamentale salvare la tua cartella di lavoro con le macro abilitate. Altrimenti, il tuo codice andrà perso quando il file verrà chiuso.

Passo 1. Vai su File > Salva con nome

use-save-as

Passo 2. Seleziona una posizione e scegli il tipo di file: Cartella di Lavoro Abilitata per Macro Excel (*.xlsm).

use-save-as-macro-enabled

Passo 3. Clicca Salva.

✅ Le tue funzioni personalizzate come =ConvertToRupees(A2) ora persistono e possono essere riutilizzate in qualsiasi momento.


Convertire Numeri in Parole in Rupie Indiane con Funzione LAMBDA (Solo Microsoft 365)

Per gli utenti di Excel 365, puoi usare LAMBDA, una nuova funzionalità di Excel che ti permette di definire formule personalizzate—senza bisogno di VBA.

🪄 Cos'è LAMBDA?

LAMBDA è una funzionalità in Excel che ti consente di creare le tue funzioni personalizzate utilizzando formule—proprio come le funzioni incorporate come SOMMA o SE, ma senza bisogno di alcun codice o macro. È fantastico per semplificare la logica ripetitiva e rendere i tuoi fogli di calcolo più puliti e facili da mantenere.

Passo 1: Vai al Gestore Nomi e clicca Formule > Gestore Nomi.

select-name-manager

Passo 2: Crea un nuovo Nome.

  • Clicca sul pulsante Nuovo.

    create-new-name
  • Inserisci un Nome.

    Esempio: RupeeToWords

    create-name
  • Passo 3: Incolla questa formula LAMBDA nel campo Si riferisce a:

    =LAMBDA(n, LET( units, {"","Uno","Due","Tre","Quattro","Cinque","Sei","Sette","Otto","Nove"}, teens, {"Dieci","Undici","Dodici","Tredici","Quattordici","Quindici","Sedici","Diciassette","Diciotto","Diciannove"}, tens, {"","","Venti","Trenta","Quaranta","Cinquanta","Sessanta","Settanta","Ottanta","Novanta"}, 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) & " Cento" & 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)) & " Mille", ""), IF(MOD(INT(num/100),10)>0, INDEX(units, INT(MOD(num,1000)/100)+1) & " Cento", ""), IF(MOD(num,100)>0, ConvertTwo(MOD(num,100)), "") ) ), result, "Rupie " & words & IF(paise>0, " e " & ConvertTwo(paise) & " Paise", "") & " Solamente", result ))
  • paste-lambda-function
  • Clicca OK per salvare il nuovo Nome.

Passo 3. Chiudi il Gestore Nomi e torna a Excel.

Passo 4. Usa la formula in qualsiasi cella in questo modo:

=RupeeToWords(A2)

Premi il tasto Invio.

use-lambda-formula

👀 Il codice completo della funzione LAMBDA gestisce Crore, Lakh, Mille e decimali.


Convertire Numeri in USD, EUR e Oltre 30 Altre Valute (Tutte le Versioni Microsoft)

Per la soluzione più efficiente e professionale, utilizza Numbers to Words di Kutools per Excel. Questo potente strumento supporta:

🌍 Oltre 30 valute, tra cui:

  • Dollari USA (USD)
  • Euro (EUR)
  • Yuan Cinese (CNY)
  • Sterline Britanniche (GBP)
  • ecc.
Scarica

Passo 1. Seleziona le celle che vuoi convertire.

select-cells

Passo 2. Vai su Kutools > Testo > Numbers to Words

select-numbers-to-words

Passo 3. Scegli la tua valuta di destinazione e clicca OK.

select-currency-in-dialog

I numeri vengono convertiti nella valuta specificata.

kutools-convert-result

😁 Suggerimento: Se vuoi convertire direttamente i numeri in parole, seleziona l'opzione Non convertito in Valuta e il risultato sarà mostrato come segue:

convert-to-words

Quando Usare Ogni Metodo

  • Usa VBA se hai bisogno di una soluzione flessibile e programmabile e sei familiare con le macro.

  • Usa LAMBDA se stai usando Excel 365 e devi convertire occasionalmente valori in Rupie Indiane. È una soluzione leggera e condivisibile che non richiede macro o strumenti esterni—perfetta per compiti semplici o personali.
  • Usa Kutools per Excel se vuoi la soluzione più facile, veloce e versatile—non è richiesto alcun codice. Kutools è particolarmente utile quando:
    • Hai a che fare con molteplici valute.
    • Devi convertire valori in massa o grandi set di dati.
    • Vuoi uno strumento professionale pronto all'uso senza macro, con oltre 30 opzioni di valuta e prestazioni potenziate dall'intelligenza artificiale.

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l’analisi dei dati grazie a: Esecuzione intelligente | Genera codice | Crea formule personalizzate | Analizza dati e genera grafici | Richiama Funzioni avanzate
Funzionalità popolari: Trova, evidenzia o identifica duplicati | Elimina righe vuote | Combina colonne o celle senza perdere dati | Arrotonda
Super RICERCA.VERT: Ricerca con criteri multipli    Ricerca valori multipli  |   Ricerca su più fogli   |   Corrispondenza approssimativa ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa a selezione multipla….
Gestione colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia lo stato di visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro & Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email da elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
I15 migliori kit di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule utili (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci immagine dal percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti per unire & dividere (Unione avanzata righe, Dividi celle, ...) | ...e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre!

Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice

  • Abilita la modifica a schede e la lettura in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
  • Aumenta la tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!