KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Conversione di Converti in parole in Rupia indiana e altre valute in Excel (edizione 2025)

AutoreXiaoyang Data di modifica

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

12,350,50 → Rupees Twelve Thousand Three Hundred Fifty and Fifty Paisas Only

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 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).

vba-editor

Passaggio 2. Vai su Inserisci > Modulo.

select-module

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
paste-code

Passaggio 4. Salvare e tornare a Excel.

Passaggio 5. Seleziona una cella e utilizza 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'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:

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

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

use-save-as

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

use-save-as-macro-enabled

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.

select-name-manager

Passaggio 2: crea un nuovo nome.

  • Fai clic sul pulsante Nuovo.

    create-new-name
  • Immettere un Nome.

    Esempio: RupeeToWords

    create-name
  • 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 ))
  • paste-lambda-function
  • 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:

=RupeeToWords(A2)

Premere il tasto Invio.

use-lambda-formula

👀 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.
Scarica

Passaggio 1. Seleziona le celle che desideri convertire.

select-cells

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

select-numbers-to-words

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

select-currency-in-dialog

I numeri vengono automaticamente convertiti nella valuta selezionata.

kutools-convert-result

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

convert-to-words

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

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

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.

ExcelWordOutlookTabsPowerPoint
  • 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