Come tradurre un foglio di calcolo Excel senza rompere formule o menu a discesa
Scopri il testo che un traduttore cella per cella salta in un file .xlsx (testo delle formule, testo formattato, link, grafici, macro), correggi i menu a discesa e i codici che può rompere, e verifica il risultato con uno script gratuito e una cartella di lavoro di prova.

Per tradurre un'intera cartella di lavoro Excel, carica il file .xlsx su un traduttore di documenti invece di tradurre le celle una per una. Il comando Review > Translate di Excel funziona sul testo selezionato (Microsoft Support), il che va bene per un'etichetta ma è lento per un listino prezzi. Un traduttore di file legge ogni cella di testo, la traduce e la riscrive nello stesso indirizzo, così formule, numeri e date restano dove erano.
Quello che non ti dice è quale testo non ha mai letto. Testo digitato all'interno di una formula, una cella con una parola in grassetto, un link, una nota, il titolo di un grafico: in una traduzione cella per cella, tutti questi possono tornare nella lingua originale. E due cose possono rompersi: un menu a discesa i cui valori consentiti non sono stati tradotti, e un codice prodotto che lo è stato.
Abbiamo creato una cartella di lavoro di prova con due fogli e testo in ciascuno di quei punti, scritto un verificatore gratuito che elenca dove si trova il testo, e abbiamo eseguito la cartella di lavoro attraverso una riproduzione locale della gestione dei fogli di calcolo utilizzata da BookTranslator. Questa guida mostra cosa è tornato, cosa cambiare prima di caricare e come verificare il file tradotto.
Risposta rapida: cosa viene tradotto in una cartella di lavoro
| Dove si trova il testo | Esempio dal nostro test | Tradotto da BookTranslator? | Cosa fare |
|---|---|---|---|
| Celle di testo normale, comprese le righe di intestazione | "Quaderno blu", "Prezzo" | Sì | Niente |
| Numeri, date, valori booleani | 4.5, 2026-10-30 | Lasciati come erano | Controlla i formati numerici per il mercato di destinazione |
| Formule | =C2*D2 | Lasciate come erano | Niente |
| Testo all'interno di una formula | =IF(D2>5,"In stock","Low stock") | No | Sposta le parole nelle celle (vedi Passo 2) |
| Cella con formattazione mista | "Edizione limitata penna" | No, l'intera cella viene saltata | Cancella prima la formattazione, oppure traducila manualmente |
| Celle con collegamento ipertestuale | "Pagina prodotto" | No | Modifica il testo del link dopo la traduzione |
| Valore all'interno di una cella a discesa | "Cartoleria" | Sì, ma l'elenco a discesa no | Correggi l'elenco, altrimenti la cella non è più valida |
| Codici con lettere | "A-77", "B-09" | Inviato al traduttore | Controllali dopo la traduzione |
| Codici con solo cifre o simboli | "00123" | Lasciati come erano | Niente |
| Note e commenti | "Controlla il nome del fornitore prima del rilascio" | No | Traducili manualmente, oppure eliminali |
| Nomi dei fogli e intervalli denominati | "Prodotti", PriceRange | No, così le formule tra fogli continuano a funzionare | Rinomina i fogli manualmente solo se necessario, dopo aver controllato le formule |
| Grafici e macro | Un grafico a barre, un progetto VBA | Rimossi dal file tradotto nel nostro test | Conserva l'originale, ricostruisci dopo (vedi sotto) |
I file .xls più vecchi non sono accettati. Aprili in Excel e salvali come .xlsx prima. I file .xlsm con macro sono accettati, ma leggi la sezione sulle macro prima di caricarne uno: il file tradotto non contiene macro e, se il download termina ancora con .xlsm, rinominalo in .xlsx prima di aprirlo.
Passo 1: esegui il checker sulla tua cartella di lavoro
Scarica check_xlsx_text.py ed eseguilo sul tuo file:
python3 check_xlsx_text.py "Price list.xlsx"
Richiede solo Python 3 e legge il file senza modificarlo. Ecco il riepilogo per la nostra cartella di lavoro di esempio:
Counts by location:
cell code, ID or address 2
cell link text 1
cell mixed formatting 1
cell plain text 15
comments comment or note text 1
dropdown list of allowed values 1
formula text text inside a formula 6
sheet sheet name 2
workbook defined name 1
Plain text cells (translated by a cell-by-cell translator): 15
Items that need a decision before you upload: 12
Sotto i conteggi, elenca ogni elemento con il suo foglio e la sua cella, ad esempio Products!E2 formula text 'In stock'. Usa quell'elenco come lista di cose da fare per il Passo 2. Se la tua cartella di lavoro contiene grafici, caselle di testo, tabelle pivot o un progetto macro, compaiono anch'essi nei conteggi.
Il README descrive la cartella di lavoro di esempio, elenca gli hash dei file e fornisce i link agli script che la costruiscono, così puoi ripetere il test.
Cosa è successo alla nostra cartella di lavoro di test
Abbiamo eseguito la cartella di lavoro di esempio attraverso il codice utilizzato dal gestore di fogli di calcolo di BookTranslator, riprodotto localmente il 2026-11-01 con la stessa libreria (ExcelJS 4.4.0). Invece di una traduzione reale, abbiamo usato un segnaposto che aggiunge "[DE]" davanti al testo di ogni cella. In questo modo il modello linguistico resta fuori dal test, e i risultati mostrano solo ciò che la gestione dei file invia, conserva e scarta.
Il gestore legge ogni foglio cella per cella. Invia una cella per la traduzione solo se la cella contiene un valore di testo semplice, e salta qualsiasi testo composto solo da cifre, punteggiatura e simboli. Tutto il resto nella griglia delle celle viene copiato senza modifiche. BookTranslator restituisce quindi due file: una cartella di lavoro tradotta e una cartella di lavoro bilingue.
La cartella di lavoro tradotta
Questo è il file da usare. Tutte le 6 formule, i 7 numeri e date, i formati di valuta e data, le celle unite, la nota, la regola dell'elenco a discesa e l'intervallo denominato sono tornati invariati. Le 9 celle di intestazione e le altre celle di testo semplice sono state tradotte sul posto. Tre risultati richiedono attenzione:
Il testo all'interno delle formule rimane nella lingua di origine. La colonna Status usava =IF(D2>5,"In stock","Low stock"). Una formula non è una cella di testo, quindi il gestore non la legge mai, e "In stock" rimane in inglese in ogni riga. Lo stesso vale per il testo unito con & o CONCAT, e per il testo all'interno di HYPERLINK.
Un valore tradotto di un elenco a discesa non corrisponde più alla sua lista. La cella H2 aveva un elenco a discesa che consentiva "Stationery, Office, Art". Il valore della cella è stato tradotto, ma la lista è memorizzata nella regola di convalida, non in una cella, quindi non è stata tradotta. La modalità di confronto del nostro checker lo ha segnalato così:
Problems: 3
Products!A3: code changed: 'A-77' -> '[DE] A-77'
Products!A4: code changed: 'B-09' -> '[DE] B-09'
Products!H2: '[DE] Stationery' is not in its dropdown list ['Art', 'Office', 'Stationery']
Excel mantiene un valore che viola la sua regola di convalida, ma la prossima persona che apre l'elenco a discesa vede solo le vecchie scelte, e Dati > Cerchia dati non validi segnalerà la cella.
I codici con lettere vengono inviati al traduttore. "00123" è stato saltato perché contiene solo cifre. "A-77" e "B-09" sono stati inviati, perché contengono una lettera. Che un codice torni invariato dipende quindi dal modello; nulla nella gestione dei file lo protegge. Uno SKU che torna come "A-77-Artikel" rompe ogni ricerca che lo utilizza.
La cartella di lavoro bilingue
Il file bilingue inserisce una colonna di traduzione a destra di ogni colonna che aveva almeno una cella tradotta, con intestazioni come "Name (Translated)". Sposta i valori delle celle nelle nuove colonne, ma non sposta i formati delle celle né aggiorna le formule. Nel nostro test:
- il formato del prezzo
$#,##0.00è rimasto nella colonna C, che ora contiene i nomi dei prodotti, mentre i prezzi si sono spostati nella colonna E senza di esso; - il formato data è rimasto nella colonna G, che ora contiene la quantità, quindi una quantità di 10 veniva visualizzata come data;
=C2*D2si è spostata nella colonna K ma puntava ancora a C2 e D2, che ora contengono il nome del prodotto e la sua traduzione, quindi non può più restituire 45;- nel foglio Summary,
=SUM(Products!F2:F4)ora sommava una colonna di traduzione vuota.
Quindi la cartella di lavoro bilingue serve per leggere l'originale e la traduzione affiancati, non per calcolare. Non modificarla né copiarne le formule.
Grafici e macro
In una copia separata della cartella di lavoro, abbiamo aggiunto un grafico e un progetto di macro, memorizzati come fa Excel. Nessuno dei due era presente nel file tradotto o in quello bilingue. ExcelJS legge e scrive fogli di lavoro, stili, testo condiviso, immagini, tabelle e commenti, e non ha codice per le parti dei grafici o per il progetto VBA, quindi li omette al salvataggio. Lo stesso codice non ha nulla per le tabelle pivot, quindi aspettati che anche queste vengano eliminate, anche se non ne abbiamo testata una. Il gestore salva inoltre il suo output come file .xlsx, che non può contenere macro.
Un'altra limitazione del test: abbiamo creato la cartella di lavoro di esempio con ExcelJS stesso, che è il caso più favorevole per mantenere formati, unioni di celle e regole di convalida. Una cartella di lavoro salvata da Excel può contenere funzionalità che ExcelJS non modella, quindi esegui il passaggio di confronto qui sotto sul tuo file invece di dare per scontato lo stesso risultato pulito.
Passaggio 2: prepara la cartella di lavoro prima di caricarla
Lavora su una copia. Il verificatore ti dice quali celle modificare.
- Sposta il testo delle formule nelle celle. Inserisci le parole in un piccolo foglio "Labels" e fai puntare la formula a esse:
=IF(D2>5,Labels!$A$1,Labels!$A$2). Le celle delle etichette sono testo semplice, quindi vengono tradotte, e ogni formula recepisce la traduzione. Questa singola modifica di solito risolve la maggior parte del conteggio "testo nelle formule", perché la stessa frase tende a ripetersi lungo un'intera colonna. - Sposta gli elenchi a discesa nelle celle. In Dati > Convalida dati, cambia l'Origine da un elenco digitato (
Stationery,Office,Art) a un intervallo nel foglio Labels (=Labels!$B$1:$B$3). I valori dell'elenco vengono quindi tradotti insieme alle celle che li usano. Controlla alcune celle in seguito: l'elenco a discesa accetta il valore tradotto solo se il modello ha tradotto "Stationery" allo stesso modo in entrambi i punti. - Rimuovi la formattazione mista. Una cella con una parola in grassetto o colorata è memorizzata come sequenze formattate e viene saltata del tutto. Seleziona la cella e scegli Home > Cancella > Cancella formati, oppure riscrivila, poi riapplica il grassetto dopo la traduzione. Se ne hai molte, annotale prima.
- Decidi cosa fare con note e commenti. Non vengono tradotti. Elimina le note di revisione che non vuoi inviare a un servizio di traduzione e traduci il resto a mano.
- Salva le cartelle di lavoro con macro come
.xlsx. Conserva il tuo.xlsmcome master. Traduci una copia.xlsx, poi o copia le colonne di testo tradotte nel master (Incolla speciale > Valori, solo colonne di testo, per non sovrascrivere le formule) oppure esporta i moduli VBA e importali nel file tradotto. - Lascia i grafici per dopo. Un grafico ha poco testo: un titolo, i titoli degli assi e una legenda che di solito proviene dalle celle di intestazione. Spesso è più rapido ricostruire il grafico nella cartella di lavoro tradotta dagli stessi intervalli, oppure incollare le colonne di testo tradotte nella cartella di lavoro originale in modo che i suoi grafici e le tabelle pivot si aggiornino da soli.
Passaggio 3: traduci l'intero file
Carica il file .xlsx sulla pagina del traduttore di documenti, scegli la lingua di destinazione e controlla il prezzo mostrato prima di pagare. Il caricamento dell'intero file traduce ogni cella di testo su ogni foglio in un'unica attività, il che rende più facile mantenere lo stesso nome di prodotto nella riga 3 e nella riga 3.000. La nostra guida per creare un glossario di traduzione spiega come fissare i termini che non devono variare.
Al termine dell'attività, la pagina Cronologia offre entrambi i download. Usa la cartella di lavoro tradotta. Apri la cartella di lavoro bilingue solo per rivedere la formulazione con qualcuno che legge entrambe le lingue.
Se lavori in Google Sheets, ci sono altre due strade. La scheda Documenti di Google Translate accetta file .xlsx fino a 10 MB (Guida di Google Translate); la nostra guida alla traduzione di Google Docs confronta le sue opzioni. E Sheets ha una funzione GOOGLETRANSLATE(text, source_language, target_language) (Guida di Google Docs Editors) che puoi trascinare in una nuova colonna accanto all'originale. È comodo per una colonna di etichette brevi, ma i risultati sono formule, quindi incollali come valori prima di condividere il foglio. Anche DeepL traduce documenti; vedi cosa significano in pratica i suoi limiti sui documenti. Qualunque strumento usi, esegui prima il verificatore sull'originale: il testo dentro le formule, i link e i grafici si trova negli stessi punti indipendentemente da quale strumento legga il file.
Passaggio 4: controlla la cartella di lavoro tradotta
-
Esegui la modalità di confronto. Metti l'originale e il file tradotto affiancati:
python3 check_xlsx_text.py --compare "Price list.xlsx" "Price list (translated).xlsx"Verifica che ogni formula, numero e data sia invariato, che i codici con lettere siano tornati esattamente come erano e che ogni valore dell'elenco a discesa sia presente nella sua lista. Usalo solo sulla cartella di lavoro tradotta. Poiché il file bilingue sposta le colonne, quasi ogni cella verrebbe segnalata.
-
Ricalcola. Se una formula mostra ancora il vecchio testo dopo aver corretto le etichette, premi F9 (o Formule > Calcola ora).
-
Traduci i residui. Usa l'elenco del verificatore dal Passaggio 1: testo dei link, note, titoli dei grafici e qualsiasi cella di cui hai cancellato la formattazione.
-
Controlla i testi troncati. Le traduzioni sono spesso più lunghe dell'originale, e le stringhe brevi crescono di più. Il W3C cita le linee guida IBM che indicano un'espansione media dall'inglese alle lingue europee del 200–300% per testi fino a 10 caratteri (W3C). Le intestazioni di colonna sono brevi, quindi allarga le colonne o attiva Testo a capo dove vengono tagliate.
-
Controlla la visualizzazione di numeri e date. I valori non sono stati toccati, ma "4.50" potrebbe dover apparire come "4,50" per un lettore tedesco. Si tratta di un formato di cella o di un'impostazione locale, non di una traduzione.
-
Non "correggere" i nomi delle funzioni. Se l'Excel francese di un collega mostra
SOMMEinvece diSUM, è Excel che visualizza i propri nomi di funzione localizzati; la formula è la stessa. -
Imposta i fogli da destra a sinistra. Per arabo, ebraico, persiano o urdu, attiva Layout di pagina > Foglio da destra a sinistra e controlla l'allineamento delle celle.
-
Fallo rivedere da un lettore fluente se è destinato ai clienti, come un listino prezzi o un catalogo prodotti. Una traduzione automatica è una buona prima bozza, non una versione finale.
File CSV e TSV
Un file .csv non ha formule, formati o menu a discesa, quindi la maggior parte dei problemi sopra scompare. Tre cose sono diverse:
- La riga di intestazione non viene tradotta. Il gestore tratta la prima riga come intestazioni e traduce solo le righe di dati. Traduci le intestazioni a mano, oppure copiale in una riga di dati prima di caricare e spostale di nuovo dopo.
- Una colonna viene tradotta nel suo insieme. Se una cella di una colonna contiene una lettera, ogni cella di quella colonna che contiene una lettera viene inviata, codici inclusi. La modalità confronto legge solo
.xlsx, quindi controlla a mano una colonna di codici CSV: copiala da entrambi i file in un unico foglio e confronta le due colonne con=EXACT(A2,B2). - Un CSV torna separato da virgole. Qualunque delimitatore usasse l'originale, il CSV tradotto usa le virgole; un file
.tsvmantiene le tabulazioni. Nel nostro test, un CSV separato da punti e virgola è tornato separato da virgole, con le virgole decimali come "4,50" mantenute tra virgolette. Il file è UTF-8 senza byte order mark. Microsoft afferma che Excel apre normalmente un CSV UTF-8 quando ha quel mark, e altrimenti consiglia di importarlo con Dati > Recupera dati > Da testo/CSV (Microsoft Support). Se fai doppio clic sul file e vedi accenti illeggibili, importalo invece in quel modo.
Se i tuoi dati si trovano in una cartella di lavoro con formule, traduci il file .xlsx. Esportare in CSV per tradurlo elimina ogni formula.
Problemi comuni
| Problema | Causa probabile | Cosa fare |
|---|---|---|
| Un'intera colonna dice ancora "Disponibile" | Le parole sono dentro una formula IF | Spostale in celle etichetta e fai puntare la formula a quelle |
| Un menu a discesa rifiuta il valore tradotto | I valori consentiti sono digitati nella regola di convalida | Cambia l'Origine della regola in un intervallo di celle e traduci l'intervallo |
| Un codice prodotto è cambiato | Contiene lettere, quindi è stato inviato al traduttore | Correggilo dall'originale; esegui la modalità confronto a ogni consegna |
| Una cella non è stata affatto tradotta | Ha una formattazione mista oppure è un collegamento | Rimuovi la formattazione o modifica il testo del collegamento, poi ritraducila o correggila manualmente |
| Il grafico o le macro sono scomparsi | La libreria usata per riscrivere il file non li salva | Traduci una copia .xlsx e riporta il testo tradotto nel file originale |
| I totali sono errati nel file bilingue | Le colonne aggiunte spostano i valori ma non le formule o i formati | Usa la cartella di lavoro tradotta per qualsiasi calcolo |
| Gli accenti appaiono corrotti in un CSV tradotto | Excel ha indovinato la codifica sbagliata | Importalo con Dati > Recupera dati > Da testo/CSV |
| Il caricamento viene rifiutato | Il file è .xls oppure richiede una password per l'apertura | Salvalo come un normale .xlsx senza password di apertura (la sola protezione del foglio va bene) |
Lo stesso principio vale per le presentazioni: anche una presentazione PowerPoint conserva il testo in punti che un traduttore salta, e il verificatore per quell'articolo funziona allo stesso modo di questo.
Post Correlati





