Convertire una tabella Excel in elenco di testo per Word e InDesign: guida completa con formule dinamiche, Stampa unione e metodi alternativi

Hai un elenco in Excel con campi come “Ragione sociale”, “Sito web” e “Telefono” e vuoi trasformarlo in un elenco verticale pronto per Word o InDesign, senza ricopiare a mano. In questa guida pratica trovi tre metodi affidabili (formula, Stampa unione, copia‑incolla) con pro, contro, varianti e trucchi d’impaginazione.

Indice

Panoramica del problema

Molti database o anagrafiche vengono raccolti in Excel come tabella a più colonne. Quando si passa all’impaginazione (schede, rubrica, crediti, elenco partner, etc.), spesso serve un elenco verticale in cui ogni record occupa un blocco di righe, ad esempio:

Ragione sociale
Sito web
Telefono

Ragione sociale
Sito web
Telefono
… 

Qui sotto trovi tre approcci risolutivi, con una tabella di confronto e, a seguire, le istruzioni operative dettagliate e molti accorgimenti per gestire casi reali (zeri iniziali, celle vuote, numero variabile di colonne, collegamento con InDesign).

Soluzioni operative a confronto

ApproccioPassaggi essenzialiPunti di forzaLimiti / accorgimenti
1. Formula con funzioni dinamiche (Microsoft 365/Excel 2021+)1. Assicurarsi che l’area dati abbia intestazioni.
2. In una cella vuota (p. es. E1) inserire una delle formule:
  • =DROP(TOCOL(VSTACK(IF(SEQUENCE(,3),""),TRANSPOSE(A1:C1000)),,TRUE),1)
  • oppure =DROP(IFNA(TOCOL(HSTACK(A1:C1000,"")),""),-1)
3. La formula “spilla” un’unica colonna già pronta per il copia‑incolla in Word o InDesign.
• Automatica, aggiorna il risultato se il foglio cambia.
• Non richiede passaggi in Word.
• Richiede versioni che supportino TOCOL, VSTACK, DROP, HSTACK.
• Per non perdere lo zero iniziale dei telefoni: formattare la colonna Telefono come Testo prima di inserire i numeri oppure avvolgere il riferimento in TEXT(numero;"0##########").
2. Word “Stampa unione → Tipo: Directory”1. In Excel mettere titolo di colonna per ogni campo.
2. In Word: Lettere → Inizia stampa unione → Directory.
3. Selezionare la cartella Excel come origine dati.
4. Inserire i campi (Ragione sociale, Sito, Telefono) uno per riga nel documento principale.
5. Completare unione per generare la lista.
• Aggiornabile: basta rieseguire l’unione se il file Excel cambia.
• Mantiene automaticamente zeri iniziali perché usa i valori così come sono nell’origine dati.
• Più passaggi rispetto alla formula.
• Richiede familiarità con la Stampa unione di Word.
3. Copia → Incolla in Word → Tabella → Converti in testo1. Copiare l’intera tabella da Excel.
2. Incollare in Word (mantieni formattazione tabella).
3. Tabella → Converti → Tabella in testo, delimitatore: Paragrafo.
4. Eventuale rifinitura manuale (interruzioni di paragrafo).
• Funziona con qualsiasi versione di Office.
• Nessuna formula da imparare.
• Operazione manuale, non si aggiorna se Excel cambia.
• Può perdere gli zeri iniziali dei telefoni: formattare come Testo in Excel prima di copiare.

Approccio con formula (Microsoft 365/Excel 2021+)

Se hai Excel con funzioni dinamiche, questo è il metodo più rapido e “future‑proof”. L’idea è trasformare le colonne in una singola colonna testuale con eventuale riga vuota tra i record, pronta per il copia‑incolla in Word/InDesign.

Preparazione

  1. Assicurati che le colonne abbiano intestazioni (es. Ragione sociale, Sito web, Telefono).
  2. In Excel italiano spesso il separatore degli argomenti è ; (punto e virgola). Se le formule qui sotto usano , (virgola), adatta il separatore secondo le impostazioni locali.
  3. Per i numeri di telefono con zeri iniziali, imposta la colonna come Testo prima di digitare i numeri oppure usa TEXT/TESTO() per il rendering.

Formula pronta all’uso (range classico A:C)

Versione “VSTACK + TRANSPOSE” (mantiene l’ordine riga per riga e inserisce una riga vuota tra i record):

=DROP(TOCOL(VSTACK(IF(SEQUENCE(,3),""),TRANSPOSE(A1:C1000)),,TRUE),1)
  • SEQUENCE(,3) genera una riga di tre valori logici che, passati a IF(...,""), diventano tre celle vuote: la “riga bianca” tra i record.
  • TRANSPOSE(A1:C1000) ruota la tabella in 3 righe × N colonne.
  • VSTACK(...) impila la riga vuota sopra i dati trasposti.
  • TOCOL(...,,TRUE) appiattisce “per colonna”, producendo la sequenza Ragione sociale → Sito web → Telefono → (riga vuota) per ogni riga originale.
  • DROP(...,1) elimina la primissima riga vuota iniziale.

Versione “HSTACK” (più semplice da leggere). Se noti che l’output è raggruppato per colonna invece che per riga, aggiungi il 3° argomento di TOCOL impostato a FALSE:

=DROP(IFNA(TOCOL(HSTACK(A1:C1000,""),,FALSE),""),-1)

In Excel con separatore ;:

=DROP(IFNA(TOCOL(HSTACK(A1:C1000;"");;FALSO);"");-1)

Formula con Excel Table (riferimenti strutturati)

Consigliato per tabelle che crescono nel tempo (Ctrl+T per convertire in Tabella; ipotizziamo il nome Aziende):

=LET(
  dati; HSTACK(Aziende[Ragione sociale]; Aziende[Sito web]; Aziende[Telefono]; "");
  DROP(IFNA(TOCOL(dati;;FALSO);"");-1)
)

Vantaggi: la formula si adatta automaticamente quando aggiungi o rimuovi righe alla tabella.

Preservare e formattare i numeri di telefono

Se la colonna Telefono è numerica, Excel tende a rimuovere gli zeri iniziali. Evita problemi così:

  • Metodo 1 – colonna in formato Testo: imposta la colonna su “Testo” prima di inserire i numeri.
  • Metodo 2 – formattazione in formula (array‑enabled):
=LET(
  tel; IF(Aziende[Telefono]="","",TEXT(Aziende[Telefono],"0##########")),
  dati; HSTACK(Aziende[Ragione sociale]; Aziende[Sito web]; tel; ""),
  DROP(IFNA(TOCOL(dati;;FALSO);"");-1)
)

Adatta lo 0########## al numero tipico di cifre dei tuoi dati.

Gestire celle vuote e riga bianca finale

  • Se l’ultima cella dell’elenco risulta bianca, la versione con DROP(...,-1) elimina l’ultimo elemento indesiderato.
  • Se vuoi nessuna riga vuota fra un record e l’altro, rimuovi il HSTACK(...,"") (o la riga IF(SEQUENCE...)) e TOCOL(...,1, ...) con ignore=1 per ignorare eventuali blank.

Più o meno colonne? Nessun problema

Hai 4 colonne (es. aggiungi Indirizzo)? Estendi HSTACK e la sequenza si adatta:

=LET(
  dati; HSTACK(Aziende[Ragione sociale]; Aziende[Sito web]; Aziende[Telefono]; Aziende[Indirizzo]; ""),
  DROP(IFNA(TOCOL(dati;;FALSO);"");-1)
)

Approccio con Word: Stampa unione (Tipo “Directory”)

Se preferisci restare in Word e mantenere un collegamento aggiornabile all’Excel, la Stampa unione di tipo Directory è ideale.

Passaggi dettagliati

  1. In Excel, metti una riga di intestazioni e salva il file (meglio se il range è una Tabella).
  2. In Word: Lettere → Inizia stampa unione → Directory.
  3. Seleziona destinatari → Usa elenco esistente e scegli il file Excel. Seleziona il foglio o la tabella corretta.
  4. Nella pagina vuota, inserisci i campi in righe separate: Ragione sociale [Invio], Sito web [Invio], Telefono [Invio], poi un ulteriore Invio per la riga bianca fra i record.
  5. Opzionale: applica Stili di paragrafo (“Nome”, “Sito”, “Telefono”) per controllare font, corpo, spaziature e per l’import in InDesign.
  6. Anteprima risultati per verificare l’impaginazione.
  7. Completamento unione → Modifica singoli documenti per generare il documento finale. Puoi salvare in DOCX o RTF e importare in InDesign con File → Inserisci.

Vantaggi e buone pratiche

  • Aggiornabilità: se Excel cambia, riesegui l’unione e ottieni il nuovo elenco in pochi clic.
  • Integrità dei dati: Word prende i valori così come sono, mantenendo zeri iniziali, formattazioni testo e caratteri speciali.
  • Controllo tipografico: con stili ben definiti puoi importare in InDesign applicando un mapping 1:1 degli stili.

Accorgimenti

  • Non serve “Prossimo record” tra i paragrafi: il tipo Directory concatena automaticamente tutti i record.
  • Se noti spaziature strane, imposta “Spazio prima/dopo” negli stili di paragrafo anziché aggiungere righe vuote extra.

Approccio manuale: Copia → Incolla → Converti tabella in testo

Funziona su qualsiasi versione di Office e va benissimo per un lavoro una tantum.

Procedura

  1. In Excel, formattare come Testo la colonna Telefono se devi preservare gli zeri iniziali.
  2. Se desideri una riga bianca tra i record, aggiungi in Excel una colonna vuota a destra dei campi e lasciala vuota.
  3. Seleziona la tabella in Excel e copia.
  4. In Word, incolla mantenendo la formattazione tabella (o “Mantieni solo testo” se preferisci gestire gli stili manualmente).
  5. Con la tabella selezionata: Layout (Strumenti tabella) → Converti in testo, delimitatore: Paragrafo.
  6. Fai una rapida rifinitura con Trova/Sostituisci se serve (es. doppi spazi, linee extra).

Consigli

  • Se non hai aggiunto in Excel la colonna vuota, puoi inserire la riga bianca dopo ogni gruppo con Trova/Sostituisci avanzato, ma la soluzione della colonna vuota è più rapida e sicura.
  • Questo metodo è non aggiornabile: se Excel cambia, ripeti la procedura.

Raccomandazioni pratiche

  1. Hai Microsoft 365? Usa la formula dinamica: è la via più rapida e mantiene l’elenco sincronizzato; ricordati di impostare la colonna Telefono come testo o usare TEXT/TESTO() per preservare gli zeri iniziali.
  2. Vuoi restare collegato all’Excel? Scegli la Stampa unione – Directory di Word: ideale per revisioni frequenti o per impaginare direttamente in InDesign via RTF/IDML.
  3. Niente funzioni dinamiche o lavoro una tantum? Il metodo Copia → Incolla → Converti in testo è sufficiente.

Suggerimenti extra

  • Personalizzare il formato del telefono: in Excel usa un formato personalizzato tipo "0" seguito dagli zeri necessari (es. "0000000000") oppure scrivi i numeri preceduti da apostrofo ('01234…).
  • Importazione in InDesign: se esporti il testo in .txt o .docx puoi poi usare File → Inserisci in InDesign; se hai usato Mail Merge puoi esportare direttamente in RTF e importare mantenendo gli stili.
  • Verifica celle vuote: se la formula produce una cella bianca finale, la versione con DROP(...,-1) la elimina.
  • Separatore degli argomenti: se Excel usa ; al posto di ,, converti i separatori. Le funzioni più recenti possono talvolta restare in inglese (TOCOL, VSTACK, ecc.).
  • Dataset grandi: preferisci una Tabella Excel (Ctrl+T) e formule con LET per leggibilità. Con decine di migliaia di righe, valuta di generare l’elenco con Stampa unione per non appesantire il foglio.
  • Ordine e filtri: applica filtri/ordinamenti in Excel prima di generare l’elenco: la formula e la Stampa unione rifletteranno esattamente l’ordine correntemente visibile.
  • Caratteri speciali: se il sito web deve essere mostrato senza “http(s)://”, prepara una colonna calcolata in Excel (es. sostituzione tramite SUBSTITUTE/SOSTITUISCI()).

Varianti utili e modelli pronti

Formula “smart” con rilevamento automatico delle colonne

Se le colonne da concatenare non sono sempre le stesse, puoi selezionarle esplicitamente con HSTACK e CHOOSECOLS (quando disponibile) oppure con riferimenti strutturati. Esempio con 3 colonne note e riga bianca:

=LET(
  campi; HSTACK(Aziende[Ragione sociale]; Aziende[Sito web]; Aziende[Telefono]; ""),
  risultato; TOCOL(campi;;FALSO),
  DROP(IFNA(risultato;"");-1)
)

Versione senza riga bianca tra record

=LET(
  campi; HSTACK(Aziende[Ragione sociale]; Aziende[Sito web]; Aziende[Telefono]),
  TOCOL(campi;1;FALSO)   <!-- ignore=1 per ignorare eventuali blank -->
)

Versione con etichette prima del valore

Per produrre blocchi tipo “Ragione sociale: ABC Srl” su una riga, crea colonne testuali in Excel o costruisci le etichette in formula:

=LET(
  rs; "Ragione sociale: "&amp;Aziende[Ragione sociale],
  sw; "Sito web: "&amp;Aziende[Sito web],
  tl; "Telefono: "&amp;TEXT(Aziende[Telefono],"0##########"),
  campi; HSTACK(rs; sw; tl; ""),
  DROP(IFNA(TOCOL(campi;;FALSO);"");-1)
)

Alternative se non hai le funzioni dinamiche

Metodo con colonne di supporto (compatibile con Excel 2010/2013/2016)

  1. In un foglio vuoto, nella cella A1, imposta il numero di colonne k (es. 3).
  2. Nella colonna di output (es. E:E), usa queste formule e copia in basso quanto serve:
    • Riga di partenza (E1): =INDICE($A$1:$C$1000;QUOZIENTE(RIGHE($1:1)-1;k)+1;RESTO(RIGHE($1:1)-1;k)+1)
    • Ogni k+1 righe inserisci una riga vuota (puoi farlo con una formula SE(RESTO(RIGHE(...);k+1)=0;"";...) o con una colonna di servizio).
  3. Copia i valori e incolla in Word.

È più macchinoso, ma funziona ovunque.

Power Query (Ottimo per flussi ripetuti)

  1. Dati → Da tabella/Intervallo → carica la tabella.
  2. Trasforma → Trasponi, poi Unisci colonne con delimitatore Paragrafo (#(lf)).
  3. Trasponi di nuovo se serve e infine Connetti & Carica come tabella a colonna singola.

Power Query crea un passaggio riutilizzabile: aggiorni la query e l’elenco si rigenera.


InDesign: dal testo alla pagina, senza sorprese

  • Importa il DOCX/RTF o TXT con File → Inserisci e spunta “Mostra opzioni importazione” per mappare gli stili Word → stili InDesign.
  • Se hai creato blocchi con riga vuota, puoi controllare la spaziatura via stile (Spazio dopo) ed eliminare le righe vuote con un GREP (es. trova \r\r+ → sostituisci con \r\r o con una sola).
  • Per elenchi lunghi, usa Composizione in catena tra cornici testo e stili nidificati (prima riga Nome, seconda Sito, terza Telefono).

FAQ e troubleshooting

Vedo i dati raggruppati per colonna, non per riga.
Usa la versione di TOCOL con il 3° argomento impostato a FALSE (FALSO in italiano): TOCOL(...;;FALSO).

Compaiono errori #N/D o #VALORE! nell’elenco.
Avvolgi con IFNA/SE.ERRORE come nei modelli: IFNA(TOCOL(...), "").

Ho più/meno di tre colonne.
Amplia o riduci HSTACK (e la riga vuota finale "" se la desideri). Con tabelle strutturate usa direttamente i nomi di colonna.

Perdo gli zeri iniziali del telefono.
Imposta la colonna Telefono come Testo prima dell’inserimento, oppure usa TEXT/TESTO() nel calcolo dell’elenco.

La mia versione di Excel non conosce TOCOL/VSTACK/HSTACK/DROP.
Usa il metodo Stampa unione – Directory o le Alternative con colonne di supporto/Power Query.

Come rimuovere eventuali record vuoti all’inizio o alla fine?
Usa DROP(...,1) o DROP(...,-1) come mostrato nelle formule.


Checklist finale (per andare dritto al punto)

  • Decidi il flusso: Formula (rapido e dinamico), Stampa unione (aggiornabile e tipografico), Copia‑incolla (una tantum).
  • Prepara i dati: intestazioni chiare, colonna Telefono in Testo o formattata con TEXT/TESTO.
  • Genera l’elenco: usa la formula indicata o imposta la Directory in Word.
  • Impagina: applica stili, controlla spaziatura e gerarchia tipografica; in InDesign mappa gli stili di Word.
  • Verifica: cerca righe vuote indesiderate, accenti e apostrofi, URL corretti.

Conclusione

Convertire una tabella Excel in un elenco verticale pronto per Word o InDesign è semplice e preciso se scegli l’approccio giusto per il tuo contesto: con funzioni dinamiche ottieni un elenco “vivo” e sempre allineato al foglio; con la Stampa unione – Directory mantieni il collegamento ed eviti problemi di formattazione; con il flusso Copia → Incolla → Converti risolvi in fretta quando serve un’operazione manuale. Seguendo i passaggi e i suggerimenti di questa guida, in pochi minuti passi da Excel alla pagina, senza perdite di tempo né di qualità tipografica.


Appendice: tavola riassuntiva (da tenere a portata di mano)

ScenarioSoluzione consigliataPunto chiave
Microsoft 365, elenco aggiornabileFormula con LET + HSTACK/TOCOLUsa TOCOL(...;;FALSO) per l’ordine riga‑per‑riga; DROP(...,-1) per riga finale vuota.
Impaginazione professionale (stili/stesure)Word Stampa unione (Tipo Directory)Riesegui l’unione quando Excel cambia; importa in InDesign con mapping degli stili.
Una tantum, versione legacyCopia → Incolla → Converti in testoAggiungi in Excel una colonna vuota per ottenere la riga bianca.
Excel senza dinamiche ma processo ripetutoPower QueryCrea una query “Trasponi → Unisci con LF → Trasponi” e aggiorna quando serve.

Con questi metodi puoi passare in pochi minuti da una tabella Excel a un elenco verticale pronto per l’impaginazione, senza dover riscrivere manualmente i dati.

Indice