Convertire numeri in parole in Excel – Una guida completa
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.

- Usa nuove funzioni integrate (Solo Microsoft 365)
- Usa una funzione definita dall'utente in VBA
- Usa Kutools per Excel con pochi clic
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.
- Seleziona una cella vuota (ad esempio B2), inserisci la formula sottostante. =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(B9),"th","en")),"baht","dollars"),"satang","cents"))
- Premi "Invio" e trascina la "Maniglia di riempimento" verso il basso per applicarla ad altre righe.
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:
Valuta | Sostituzione Unità Principale | Sostituzione Unità Minore | Formula 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
- Apri il foglio di lavoro dove desideri utilizzare questa funzionalità.
- Premi "Alt" + "F11" per aprire la finestra "Microsoft Visual Basic for Applications".
- 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
- Premi "Alt" + "Q" per tornare al foglio di lavoro.
Passo 2: Applica la funzione
- In una cella, inserisci la formula sottostante e premi "Invio". =SpellNumberToEnglish(A2)
- Poi trascina la maniglia di riempimento per applicarla ad altre righe se necessario. I tuoi numeri saranno ora scritti in parole come:
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.

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:
- Premi "Ctrl" + "S" per salvare.
- 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".
- Nella finestra "Salva con nome".
- Scegli una posizione di salvataggio.
- Seleziona "Cartella di Lavoro Abilitata per Macro di Excel (*.xlsm)" nell'elenco a discesa "Specifica formato di salvataggio".
- Clicca "Salva".
Limitazioni della Funzione VBA SpellNumberToEnglish
- 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).
- 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.
- 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.
- 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:
- Seleziona le celle che contengono i numeri che desideri convertire.
- Seleziona "Kutools" > "Testo" > "Numeri in Parole".
- Nella finestra di dialogo "Numeri in Parole Valutarie", devi:
- Scegliere la lingua e lo stile valutario che preferisci (ad esempio, Inglese – Stati Uniti per USD)
- Clicca "OK".
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:
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
- Apri la tua cartella di lavoro Excel.
- Premi "Alt" + "F11" per aprire l'editor "Microsoft Visual Basic for Applications (VBA)".
- Nell'editor VBA, clicca "Insert" > "Module".
- 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
- Premi "Alt" + "Q" per tornare a Excel.
- 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)
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
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!