Tastiera e dati in uscita

Leggere codici a barre in Excel e Google Fogli senza perdere zeri e cifre

Il lettore scrive in Excel e Google Fogli come una tastiera, ma il foglio tratta il codice come un numero: toglie gli zeri iniziali, mostra 8,00123E+12 e oltre la quindicesima cifra sostituisce le cifre con zeri. La soluzione è formattare la colonna come Testo prima di leggere e scegliere il suffisso giusto: Invio per scendere di riga, Tab per passare alla colonna accanto.

I tre problemi, in un esempio

Leggi questi tre codici in una colonna con formato "Generale" di Excel:

Cosa succede in una cella con formato Generale
Codice lettoTipoCosa vedi in ExcelProblema
012345678905UPC-A (12 cifre)12345678905Zero iniziale perso
8001234567897EAN-138,00123E+12Notazione scientifica in visualizzazione
380012345000000017SSCC (18 cifre)380012345000000000Cifre oltre la quindicesima azzerate, dato perso

Il primo e il terzo caso sono perdite di dati: cambiare il formato dopo non riporta indietro né lo zero né le cifre finali. Il secondo è solo un problema di visualizzazione (allargando la colonna o impostando il formato Numero senza decimali torni a vedere tutte le 13 cifre), ma è comunque scomodo e porta a errori di copia.

Perché succede

  • Zeri iniziali. Per un foglio di calcolo 0123 è il numero 123. Codici UPC-A, GTIN-14 di imballo e molti codici interni iniziano con zero; vedi UPC-A e UPC-E.
  • Notazione scientifica. Il formato Generale di Excel mostra al massimo 11 cifre: un EAN-13 viene abbreviato in forma esponenziale.
  • Limite di 15 cifre. Excel memorizza i numeri con una precisione di 15 cifre significative: dalla sedicesima in poi le cifre diventano 0. Riguarda SSCC (18 cifre), stringhe GS1 lette da un GS1-128 o Data Matrix, codici di spedizione dei corrieri, numeri seriali lunghi. Anche Google Fogli usa numeri a virgola mobile con la stessa precisione pratica.
  • Conversioni impreviste. Codici come 12-03 o 3/4 possono diventare date; un codice come 12E5 diventa il numero 1200000.

Preparare Excel prima di leggere

  1. Seleziona la colonna dove leggerai i codici (clic sulla lettera della colonna).
  2. Imposta il formato Testo. Clic destro, Formato celle, Testo; oppure dalla scheda Home, menu del formato numero, Testo. Va fatto prima della lettura.
  3. Controlla la direzione dopo Invio. In File, Opzioni, Impostazioni avanzate, l'opzione "Dopo aver premuto Invio, sposta la selezione" deve indicare Giù se leggi in colonna.
  4. Valuta la conversione automatica dei dati. Nelle versioni recenti di Excel per Microsoft 365 trovi in File, Opzioni, Dati, una sezione dedicata alla conversione automatica (rimozione degli zeri iniziali, notazione scientifica, conversione di numeri lunghi). Se la tua versione la offre, puoi disattivare le voci che riguardano i codici; il formato Testo resta comunque la soluzione più robusta e portabile.
  5. Prova con un codice che inizia con 0 e, se ne usi, con un codice lungo oltre 15 cifre.

Il piccolo triangolo verde nell'angolo delle celle ("numero memorizzato come testo") è solo un avviso. Puoi ignorarlo o disattivare quel controllo errori: per i codici a barre è proprio ciò che vuoi.

Preparare Google Fogli

  1. Seleziona la colonna.
  2. Menu Formato, Numero, Testo normale.
  3. Disattiva il completamento automatico dal menu Strumenti se le tue letture tendono a essere "completate" con valori già presenti nella colonna: con codici di lunghezza diversa che iniziano allo stesso modo, l'Invio del lettore può confermare il suggerimento invece del dato letto.
  4. Prova la velocità. Google Fogli gira nel browser: se mancano caratteri leggendo in rapida successione, aggiungi un piccolo ritardo tra caratteri.

L'alternativa dell'apostrofo come prefisso

In entrambi i programmi un apostrofo all'inizio della cella forza il contenuto come testo e non viene mostrato. Puoi farlo aggiungere al lettore come prefisso personalizzato, utile quando non controlli il formato dei fogli che altri ti mandano.

Se il lettore usa il layout USA e il PC quello italiano, l'apostrofo arriva come à e finisce dentro il codice. Imposta prima la tastiera italiana sul lettore. Ricorda anche che l'apostrofo vale solo per i fogli di calcolo: se usi lo stesso lettore nel gestionale, il prefisso finirà nella ricerca.

Invio o Tab: come vuoi riempire il foglio

Scelta del suffisso per i fogli di calcolo
LavoroSuffissoRisultato
Elenco di codici, uno per rigaInvioOgni lettura scende di una riga
Codice e poi quantità digitata a manoTabIl cursore va nella colonna quantità; premi Invio e Excel torna alla prima colonna della riga successiva
Due codici per riga (es. articolo e lotto)TabLe due letture finiscono affiancate; poi Invio manuale
Inventario con conteggioInvioUn codice per riga, poi conteggio con CONTA.SE o tabella pivot

Come impostare il suffisso è spiegato in aggiungere Invio o Tab dopo la lettura. Se l'Invio non arriva affatto, vedi il lettore non invia Invio.

Codici GS1 lunghi: meglio non incollarli interi

Un Data Matrix farmaceutico o un'etichetta GS1-128 contengono più dati concatenati (GTIN, lotto, scadenza, seriale) separati dal carattere invisibile GS. In una cella diventano una stringa lunga in cui il separatore può sparire, rendendo impossibile capire dove finisce il lotto e inizia il seriale. Prima di progettare il foglio, analizza un campione con il decodificatore GS1 e leggi carattere GS e FNC1: spesso conviene far estrarre al lettore solo il campo che serve tramite la formattazione dei dati.

Caso tipico: un inventario fatto in Excel con colonna in formato Generale viene importato nel gestionale e un terzo degli articoli "non esiste". Sono i prodotti con codice UPC-A o GTIN che inizia con 0: lo zero è stato tolto in fase di lettura. Ripetere la lettura su una colonna in formato Testo risolve; per recuperare i dati già letti a 13 cifre si può usare una formula come =TESTO(A2;"0000000000000"), che però funziona solo se le cifre perse sono zeri iniziali e se conosci la lunghezza attesa.

Verifica rapida prima di un inventario

Leggi lo stesso codice nel test del lettore e nel foglio. Se nel test vedi 13 cifre più Invio e nel foglio qualcosa di diverso, il problema è il formato della cella; se anche il test mostra caratteri strani, è la configurazione del lettore.

Domande frequenti

Se cambio il formato in Testo dopo la lettura, recupero gli zeri?

No. Il valore memorizzato è già il numero senza zeri. Devi rileggere i codici o ricostruirli con una formula, solo se conosci la lunghezza esatta.

Excel può contare quante volte ho letto un codice?

Sì: con un codice per riga usa CONTA.SE o una tabella pivot sulla colonna. Assicurati che tutte le celle siano testo, altrimenti codici uguali in formati diversi vengono contati separatamente.

Il lettore scrive in Excel solo se la cella è selezionata?

Sì, come qualsiasi tastiera scrive nella cella attiva. Se Excel non è in primo piano, il codice finisce in un'altra finestra.

LibreOffice Calc si comporta allo stesso modo?

In modo simile: anche lì formatta la colonna come Testo prima di leggere.

Fonti e riferimenti

  • Specifiche e limiti di Excel e articoli sulla visualizzazione dei numeri lunghi, Microsoft Support.
  • GS1 General Specifications (struttura di GTIN, SSCC e Application Identifier), gs1.org.
  • ISO/IEC 15420, simbologie EAN/UPC, iso.org.

Altro in Tastiera e dati in uscita

Tutta la sezione Tastiera e dati in uscita