Conversione di Converti in parole in Rupia indiana e altre valute in Excel (edizione 2025)
Ecco come convertire i numeri in parole in rupie indiane — o in qualsiasi altra valuta — direttamente in Excel.
Quando si lavora con documenti finanziari come fatture, preventivi, moduli fiscali, assegni o buoni di pagamento, è spesso necessario riportare i valori monetari sia in forma numerica che in formato Word scritto. Questo accorgimento aggiunge un tocco di professionalità e contribuisce a prevenire frodi o fraintendimenti.
Esempio
Sebbene Microsoft Excel non includa una funzione integrata per convertire i numeri in parole, esistono diversi metodi efficaci per ottenere questo risultato: tramite VBA, funzioni LAMBDA o il pratico componente aggiuntivo tutto-in-uno Kutools per Excel.
Convertire Converti in parole in Rupia indiana con VBA (tutte le versioni Microsoft)
- Convertire Converti in parole in altre valute (USD, EUR, ecc.)
- Salvare la cartella di lavoro come file abilitato alle macro
Convertire Converti in parole in Rupia indiana con la funzione LAMBDA (solo Microsoft 365)
Convertire numeri in USD, EUR e 30+ altre valute (tutte le versioni Microsoft)
Quando utilizzare ciascun metodo
Convertire Converti in parole in Rupia indiana con VBA (tutte le versioni Microsoft)
Per gli utenti di qualsiasi versione di Excel, VBA (Visual Basic for Applications) offre un metodo personalizzabile per convertire importi numerici in parole secondo il sistema numerico indiano — come migliaia, lakh e crore.
Passaggio 1. Premere Alt+F11 per aprire l'editor VBA (finestra di Microsoft Visual Basic for Applications).

Passaggio 2. Vai su Inserisci > Modulo.

Passaggio 3. Incollare il codice VBA nel modulo.
Convertire numeri in parole in Rupia indiana
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

Passaggio 4. Salvare e tornare a Excel.
Passaggio 5. Seleziona una cella e utilizza la formula in questo modo:
Premi il tasto Invio.

💡Suggerimento: questo metodo supporta i decimali (paise) e funziona offline.
Limitazioni dell'utilizzo di VBA
- Richiede il salvataggio della cartella di lavoro come file abilitato alle macro (.xlsm).
- Le macro potrebbero essere bloccate dalle impostazioni di sicurezza in determinati ambienti.
Convertire Converti in parole in altre valute (USD, EUR, ecc.)
Per personalizzare l'output per altre valute, come «Dollari» o «Euro», puoi modificare i valori stringa nella funzione VBA. Di seguito trovi una versione semplificata e più flessibile della funzione.
Modello flessibile di codice VBA (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 di esempio:

Formula VBA di esempio per altra valuta:
=NumberToWordsCustom(A2, «Euros», «Cents»)
=NumberToWordsCustom(A2, «Pounds», «Pence»)
Il codice è flessibile: basta indicare la valuta e la relativa suddivisione desiderata.
Salvare la cartella di lavoro come file abilitato alle macro
Se utilizzi VBA, è fondamentale salvare la cartella di lavoro in un formato con le macro abilitate; altrimenti, il codice andrà perso alla chiusura del file.
Passaggio 1. Andare su File > Salva con nome

Passaggio 2. Seleziona una posizione e scegli Cartella di lavoro abilitata alle macro di Excel (*.xlsm).

Passaggio 3. Fai clic su Salva.
✅ Le tue funzioni personalizzate, come =ConvertToRupees(A2), saranno ora sempre disponibili e pronte per essere riutilizzate in qualsiasi momento.
Convertire Converti in parole in Rupia indiana con la funzione LAMBDA (solo Microsoft 365)
Gli utenti di Excel 365 possono sfruttare LAMBDA, una nuova funzionalità che permette di creare formule personalizzate senza dover ricorrere a VBA.
🪄 Cos’è LAMBDA?
LAMBDA è una funzionalità di Excel che ti permette di creare le tue funzioni personalizzate usando semplici formule—proprio come le funzioni integrate, ad esempio SOMMA o SE, ma senza dover scrivere codice né utilizzare macro. È perfetta per semplificare logiche ripetitive e rendere i tuoi fogli di calcolo più puliti e facili da gestire.
Passaggio 1: vai su Gestione nomi e fai clic su Formule > Gestione nomi.

Passaggio 2: crea un nuovo nome.
Fai clic sul pulsante Nuovo.

Immettere un Nome.
Esempio: RupeeToWords

Passaggio 3: incollare questa formula LAMBDA nel campo Riferito a:
=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([[PH_1]], IF([[PH_1]]0, « » & INDEX(units, MOD([[PH_1]],10)+1), «») ) ) ), ConvertThree, LAMBDA(x, IF(x=0, «», IF([[PH_1]]0, « » & ConvertTwo(MOD([[PH_1]],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 ))Fai clic su OK per salvare il nuovo nome.

Passaggio 3. Chiudere Gestione nomi e tornare a Excel.
Passaggio 4. Utilizza la formula in qualsiasi cella in questo modo:
Premere il tasto Invio.

👀 Il codice completo della funzione LAMBDA gestisce Crore, Lakh, migliaia e decimali.
Convertire numeri in USD, EUR e 30+ altre valute (tutte le versioni Microsoft)
Per la soluzione più efficiente e professionale, utilizza lo strumento Kutools per Excel's Converti in parole. Questo potente strumento supporta:
🌍 Oltre 30 valute, tra cui:
- Dollari statunitensi (USD)
- Euro (EUR)
- Yuan cinesi (CNY)
- Sterline britanniche (GBP)
- ecc.
Passaggio 1. Seleziona le celle che desideri convertire.

Passaggio 2. Andare su Kutools > Contenuto > Converti in parole

Passaggio 3. Seleziona la valuta di destinazione e clicca su OK.

I numeri vengono automaticamente convertiti nella valuta selezionata.

😁Suggerimento: se si desidera convertire direttamente Converti in parole, selezionare l'opzione Non convertire in valuta; il risultato verrà visualizzato in questo modo:

Quando utilizzare ciascun metodo
Utilizza VBA se cerchi una soluzione flessibile e programmabile e hai già dimestichezza con le macro.
- Utilizza LAMBDA se lavori con Excel 365 e hai bisogno solo occasionalmente di convertire valori in rupia indiana. È una soluzione leggera e condivisibile, che non richiede macro né strumenti esterni, ideale per compiti semplici o personali.
- Utilizza Kutools per Excel se cerchi la soluzione più semplice, rapida e versatile, senza dover scrivere una sola riga di codice. Kutools si rivela particolarmente utile quando:
- Gestisci facilmente valute multiple.
- Devi convertire valori in blocco o set di dati di grandi dimensioni.
- Cerchi uno strumento professionale, privo di macro, con oltre 30 opzioni valutarie e potenziato dall’intelligenza artificiale?
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi

