Skip to main content

Convertire numeri in parole in Excel – Una guida completa

Author: Xiaoyang Last Modified: 2025-08-06

La conversione dei numeri in parole scritte è spesso necessaria per i rapporti finanziari, i documenti legali, le fatture o gli assegni. Sebbene Excel non offra questa funzionalità di base, ci sono diversi metodi affidabili per raggiungere questo obiettivo, che vanno dalle funzioni integrate di Microsoft 365 alle funzioni definite dall'utente in VBA e ai potenti add-in di terze parti. Questa guida completa ti accompagna attraverso ogni metodo, evidenziando i loro vantaggi e limitazioni, e ti aiuta a scegliere l'approccio migliore per le tue esigenze specifiche.

A screenshot showing converting numbers to words in Excel

Metodi per convertire numeri in parole in Excel

Questa sezione introduce tre metodi efficaci per convertire numeri valutari in parole in Excel. Scegli quello che meglio si adatta alla tua versione di Excel e al tuo caso d'uso.


Metodo 1: Usa nuove funzioni integrate (Solo Microsoft 365)

Se stai utilizzando Excel per Microsoft 365, puoi sfruttare la nuova funzione TRANSLATE per convertire facilmente i numeri valutari in parole utilizzando una combinazione creativa di formule.

Come mostrato nello screenshot qui sotto, per convertire i numeri valutari nell'intervallo A2:A5 in parole, puoi applicare la seguente formula per farlo.

  1. Seleziona una cella vuota (ad esempio B2), inserisci la formula sottostante.
    =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(B9),"th","en")),"baht","dollars"),"satang","cents"))
  2. Premi "Invio" e trascina la "Maniglia di riempimento" verso il basso per applicarla ad altre righe.
    A screenshot showing how to use the new function to convert numbers to words

Come funziona la formula:

  • BAHTTEXT: Converte il numero in testo baht thailandese (ad esempio, “หนึ่งบาทถ้วน”).
  • TRANSLATE(...,"th","en"): Traduce il testo da una lingua all'altra (richiede Microsoft 365). In questo caso, traduce dal thailandese all'inglese.
  • LOWER(): Converte l'intera stringa in minuscolo per coerenza.
  • SUBSTITUTE(): Sostituisce parole valutarie come "baht" e "satang" con i termini desiderati.
  • PROPER(): Mette in maiuscolo la prima lettera di ogni parola per una corretta formattazione.

Adatta per altre valute:

La formula sopra produce dollari USA. Puoi personalizzarla per altre valute sostituendo l'unità principale e quella minore:

  • Sostituisci "dollars" con l'unità principale della tua valuta target, ad esempio "pounds" per la Sterlina Britannica.
  • Sostituisci "cents" con l'unità minore, ad esempio "pence" per la Sterlina Britannica.

La tabella seguente elenca le valute compatibili e le corrispondenti formule che puoi utilizzare:

ValutaSostituzione Unità PrincipaleSostituzione Unità MinoreFormula Esempio (Assumendo valore nella cella 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"))

Limitazioni di questo metodo:

  • Funziona solo in Excel per Microsoft 365 (a causa della funzione TRANSLATE()).
  • L'output dipende fortemente dalla precisione della formattazione BAHTTEXT().
  • Questo metodo è adatto per valute che, come il Baht thailandese, hanno sia un'unità principale che una subunità (ad esempio, dollari e centesimi). Non è consigliato per valute che non seguono una struttura valutaria simile.

Metodo 2: Usa una funzione definita dall'utente in VBA

In questa sezione, imparerai come utilizzare una Funzione Definita dall'Utente (UDF) basata su VBA per convertire valori numerici in parole valutarie inglesi—specificamente adattate per Dollari USA (USD) di default.

Passo 1: Inserisci il codice VBA

  1. Apri il foglio di lavoro dove desideri utilizzare questa funzionalità.
  2. Premi "Alt" + "F11" per aprire la finestra "Microsoft Visual Basic for Applications".
  3. Nell'editor, clicca "Insert" > "Module", e incolla il seguente codice 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
    A screenshot showing the code editor
  4. Premi "Alt" + "Q" per tornare al foglio di lavoro.

Passo 2: Applica la funzione

  1. In una cella, inserisci la formula sottostante e premi "Invio".
    =SpellNumberToEnglish(A2)
  2. Poi trascina la maniglia di riempimento per applicarla ad altre righe se necessario. I tuoi numeri saranno ora scritti in parole come:
    A screenshot showing the user-defined function and the results

Adatta per altre valute:

La funzione emette valori in “Dollar(s)” e “Cent(s)”, che sono hardcoded solo per USD. Se vuoi convertire numeri in altre valute, ad esempio, "Sterlina Britannica", devi modificare manualmente le unità principali e minori nelle seguenti righe di codice.

A screenshot showing how to change the codes to adapt for other currencies

Salva la cartella di lavoro come file abilitato per macro

Di default, le funzioni VBA non verranno conservate a meno che la cartella di lavoro non sia salvata come cartella di lavoro abilitata per macro:

  1. Premi "Ctrl" + "S" per salvare.
  2. E seleziona il pulsante "Go back" nel messaggio pop-up relativo alle macro.
    Nota: Se il pop-up mostra solo "Sì", "No" e "Aiuto", clicca "No".
    A screenshot showing how to change the codes to adapt for other currencies
  3. Nella finestra "Salva con nome".
    1. Scegli una posizione di salvataggio.
    2. Seleziona "Cartella di Lavoro Abilitata per Macro di Excel (*.xlsm)" nell'elenco a discesa "Specifica formato di salvataggio".
    3. Clicca "Salva".
      A screenshot showing how to change the codes to adapt for other currencies

Limitazioni della Funzione VBA SpellNumberToEnglish

Nessun supporto per più lingue
  • Questa funzione genera risultati solo in inglese.
  • Non supporta altre lingue (ad esempio, francese, tedesco), né gestisce strutture valutarie in cui l'unità valutaria precede il numero (ad esempio, “Rupie Cento” in inglese indiano).
Non salvato nei file Excel standard
  • Se non salvi la cartella di lavoro come cartella di lavoro abilitata per macro (.xlsm), la funzione andrà persa quando chiudi Excel.
  • Se salvato come file normale .xlsx, tutto il codice VBA verrà rimosso.
Avviso di sicurezza delle macro quando condiviso
  • Inviare il file abilitato per macro ad altri attiverà un avviso "Attenzione di Sicurezza – Le macro sono state disabilitate" quando viene aperto.
  • Alcuni utenti potrebbero esitare ad abilitare le macro, temendo potenziali rischi di sicurezza, e potrebbero scegliere di non utilizzare il file.
Richiede conoscenza di VBA per la personalizzazione
  • Qualsiasi modifica ai termini valutari o alla formattazione richiede la modifica manuale del codice VBA.
  • Non ideale per gli utenti non familiari con macro o scripting.

Metodo 3: Usa Kutools per Excel (Nessuna formula o VBA necessaria)

Se installi "Kutools per Excel", usa la sua funzionalità "Numeri in Parole" per convertire numeri in inglese (valuta o semplice), decine di altre lingue e valute come EUR, GBP, JPY, ecc.

Se stai cercando una soluzione senza codice, user-friendly e versatile per convertire numeri in parole in Excel, Kutools per Excel offre una funzionalità dedicata “Numeri in Parole” che supporta:

  • Inglese (USD, GBP, EUR, ecc.)
  • Decine di altre lingue e valute (ad esempio, Yen giapponese, Rupia indiana, Yuan cinese)
  • Formato valuta o parole semplici (ad esempio, "Cento Ventitré" invece di "Cento Ventitré Dollari")

Passaggi per l'uso:

  1. Seleziona le celle che contengono i numeri che desideri convertire.
  2. Seleziona "Kutools" > "Testo" > "Numeri in Parole".
  3. Nella finestra di dialogo "Numeri in Parole Valutarie", devi:
    1. Scegliere la lingua e lo stile valutario che preferisci (ad esempio, Inglese – Stati Uniti per USD)
    2. Clicca "OK".
      A screenshot showing the numbers to currency word dialog box

Opzionale: Spunta "Non convertire in valuta" se vuoi parole inglesi semplici (senza "dollari" o "centesimi").

I numeri selezionati verranno ora convertiti nelle corrispondenti parole valutarie, a seconda delle tue impostazioni.

Kutools per Excel - Potenzia Excel con oltre 300 strumenti essenziali. Goditi funzionalità AI gratuite per sempre! Ottienilo ora


Operazione inversa: Convertire parole valutarie in numeri

Se hai un elenco di importi valutari scritti in parole inglesi, come:

"Cento ventitré dollari e quarantacinque centesimi"

e vuoi convertirli in numeri effettivi in Excel (ad esempio, 123.45), puoi usare una funzione personalizzata VBA User Defined Function (UDF) come segue.

Passo 1: Apri l'Editor VBA e inserisci il codice VBA

  1. Apri la tua cartella di lavoro Excel.
  2. Premi "Alt" + "F11" per aprire l'editor "Microsoft Visual Basic for Applications (VBA)".
  3. Nell'editor VBA, clicca "Insert" > "Module".
  4. Copia e incolla il seguente codice VBA nella finestra del modulo vuoto:
    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

Passo 2: Applica la funzione nel tuo foglio

  1. Premi "Alt" + "Q" per tornare a Excel.
  2. In qualsiasi cella vuota, inserisci questa formula e premi "Invio". Trascina la "Maniglia di riempimento" verso il basso per ottenere il resto dei risultati.
    =WordsToNumber(A2)
    A screenshot showing how to convert words to numbers

Conclusione

Convertire numeri in parole - o parole di nuovo in numeri - non è qualcosa che Excel offre nativamente, ma questa guida ha dimostrato che ci sono varie soluzioni pratiche a seconda delle tue esigenze:

  • Gli utenti di Microsoft 365 possono sfruttare moderne funzioni integrate come TRANSLATE per convertire numeri valutari in parole inglesi con formule, specialmente per valute che seguono una struttura "principale + subunità".
  • Le funzioni definite dall'utente in VBA offrono maggiore flessibilità sia per convertire numeri in parole che per invertire parole valutarie in valori numerici. Tuttavia, presentano preoccupazioni relative alla sicurezza delle macro e sono più adatte agli utenti con conoscenze di programmazione.
  • Kutools per Excel offre l'opzione più facile, multilingue e ricca di funzionalità - senza necessità di formule o codice, e copre decine di valute e lingue.
  • Se hai bisogno di invertire parole in numeri, la soluzione VBA colma efficacemente questa lacuna, anche se potrebbe richiedere pulizia (ad esempio, rimozione di virgole) per risultati accurati.

Che tu stia preparando documenti finanziari, automatizzando la stampa di assegni o semplicemente migliorando la presentazione dei dati, scegliere il metodo giusto ti aiuta a ottenere output professionali e accurati.


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!