Come fermare Excel dalla formattazione automatica e farlo funzionare come un programma per la compressione dei numeri


19

Ho un vero problema con Excel nei file CSV in cui sta formattando i numeri in determinati modi e non riesco a ottenere Excel per visualizzare i dati nel modo giusto, qualunque cosa io faccia.

Immagina di avere una colonna chiamata "Product Reference". All'interno di quella colonna ho molti ID del tipo:

  • 001.145
  • 55666
  • 02133

Ogni volta che apro il file Excel, formatta questi numeri in modo che siano:

  • 1145
  • 55666
  • 2133

Il che è totalmente sbagliato. Quando evidenzio la colonna e la formatto come testo, gli 0 precedenti all'inizio dei numeri non ritornano.

Nel tentativo di risolvere questo, ho anche reso il file CSV prima un file di testo e poi importato il file in Excel e in particolare gli ho detto di non formattare i numeri rendendolo formato di testo all'interno dell'importazione, ma formatta ancora i numeri errati quando chiudo e riaprirlo a causa del fatto che csv non può definire i tipi, quindi Excel salva automaticamente il file come puro rifiuto.

Qualcuno ha trovato un modo per aggirare questo e potrebbe aiutarmi?

Grazie,


Per quanto ne so, l'unico modo per ottenere Excel per il rendering fedele di un CSV è importarlo come testo, come descritto.
Eccellente

Tuttavia, non è necessario rendere CSV un file di testo. La funzione Importa da file di testo funziona anche per i file CSV. Devi solo specificare che hai delimitatori di virgola.
Eccellente

Risposte:


19

È necessario specificare nel file CSV che si tratta di testo. Puoi farlo inserendo il tuo numero tra virgolette e precedendo con un segno di uguale, ad esempio:

="001145",="55666",="02133"

Il modo più semplice per farlo sarebbe quello di fare una ricerca-sostituzione ,con ",=", sostituendo la fine delle righe (potrebbe essere necessario utilizzare un editor avanzato come Notepad ++ per questo) con "\r\n="e fare manualmente l'inizio e la fine del file.


Bello :) Ci proverò e riporterò indietro
Sammaye,

11
  1. Modificare l'estensione del file da ".csv" a ".txt" sul file con cui si riscontrano problemi.
  2. Apri eccellere da solo. Non fare clic sul file per aprirlo.
  3. Fai clic su "Apri", modifica i tipi di file da cercare in "Tutti i file Excel" in "Tutti i file"
  4. Trova il tuo file e fai clic su Apri. Poiché Excel non formatta automaticamente txt, ti porterà attraverso la procedura guidata.
  5. Si assicura che il pulsante di opzione "Delimitato" sia selezionato. Fai clic sul pulsante "Avanti".
  6. Seleziona la casella delimitatore "virgola" e continua a premere il pulsante "successivo" finché non vedi (ma non fai clic su di esso) il pulsante Fine.
  7. scorrere attraverso ciascuna colonna del foglio di calcolo, evidenziare ogni colonna o le colonne che si desidera formattare manualmente e modificare il formato in "testo".
  8. Fai clic sul pulsante Fine.

Questo è un buon modo per risolvere il problema senza problemi.
Jack,

Mi hai salvato la giornata!
Dinesh YGV,

2

Installa OpenOffice da Oracle e fai lo stesso con il formato CSV di OpenOffice e funziona.

Ho avuto questo problema in Windows 7 Pro con Excel 2010. Prima ero in grado di copiare i contatti di Outlook in Excel, salvarli come CSV e importarli in Gmail e Android (i numeri di cellulare con zeri iniziali e segni +).


1

Fai clic con il pulsante destro del mouse sulle celle contenenti i tuoi dati e fai clic sulla voce di menu Formato celle ... Quindi, nella prima scheda ("Numero"), cambia la categoria da Generale a Testo . Ciò impedirà ad Excel di formattare automaticamente quelle celle come numeri e quindi rimuovere gli zeri iniziali (che sono privi di significato nel contesto dell'analisi numerica, ma molto significativi quando si tratta di ID prodotto).

Se i dati vengono importati e analizzati come numeri, è necessario utilizzare la procedura guidata Importazione dati e impostare ciascun tipo di colonna su "Testo" anziché "Generale". Quindi, fai la stessa cosa con le celle e quindi salva la cartella di lavoro di Excel.


I file CSV non mantengono la formattazione. Questo non aiuta.
Eccellente

@Excellll ovviamente, è solo un mucchio di caratteri ASCII separati da virgola. Per impostazione predefinita , Excel contrassegna i formati di cella come Generali e tenta di interpretare il valore (numeri, date, qualsiasi cosa) in modo che possa essere utilizzato con le formule (come il testo normale di solito non può). Devi dire manualmente a Excel di interpretare il valore come testo normale in modo che non lo converta automaticamente.
Sfondamento

Sì, funzionerebbe se Excel non "salvasse automaticamente" la formattazione dei campi :( Ho bisogno che Excel funzioni allo stesso modo di qualsiasi altro apri CSV / Linguaggio di programmazione.
Sammaye,

L'ho provato, Excel lo ripristina automaticamente quando apri il file Excel convertito. Quindi importazione da TXT a Excel e gli dico di visualizzarlo come testo, chiudere il file e aprirlo e Excel torna al formato numerico predefinito per i campi che nascondono il loro vero valore e sono tornato al punto di partenza.
Sammaye,

@Breakthrough, scusa se non ho espresso ciò che intendevo. Come hai detto nel tuo commento, quando un CSV viene aperto in Excel, Excel applicherà la formattazione generale a tutti i dati. A questo punto, il testo (ovvero gli zeri iniziali) effettivamente salvato nel file CSV non può essere recuperato da Excel. Il punto è che una volta aperto CSV in Excel, è troppo tardi per modificare la formattazione.
Eccellente

1

fai clic sulla cella che desideri mantenere gli zero iniziali quindi: fai clic con il pulsante destro del mouse> Formatta celle> personalizzato> 0> digita il numero totale che deve essere nella cella, ad esempio: Se ho bisogno di 00001234, inserirò 00000000 come numero di zero, tutto ciò che sta dicendo è fare un numero totale di 8 nella cella, ne ho già 1234 quindi compenserà la differenza con altri 4 zero iniziali.

Lo uso quotidianamente per importare fogli di calcolo.


0

Per aggiungere alla risposta di @ Jon da questa domanda, avevo un file CSV che aveva diverse colonne con zeri iniziali e numeri più lunghi che avrebbero perso lo zero iniziale o convertito il numero lungo in notazione scientifica, o entrambi, quando importato.

L'unico modo in cui ho potuto risolvere è stato innanzitutto formattare tutte le celle nel foglio vuoto Text, utilizzando i seguenti passaggi:

  1. Seleziona tutte le celle nel foglio:

inserisci qui la descrizione dell'immagine

  1. Cambia il formato di ogni cella:

inserisci qui la descrizione dell'immagine

Dopo aver formattato tutte le celle del foglio per essere Text, quindi ho potuto importare il CSV utilizzando i seguenti passaggi:

  1. Dalla Datascheda, fai clic su From Text:

inserisci qui la descrizione dell'immagine

  1. Seleziona il tuo .txto il .csvfile e fai clicImport

  2. Seleziona Delimitede fai clic su `Avanti:

inserisci qui la descrizione dell'immagine

  1. Seleziona il delimitatore appropriato (ho scelto Comma) e deseleziona tutti gli altri che non si applicano, quindi fai clic su Next:

inserisci qui la descrizione dell'immagine

  1. Scorri verso destra per trovare le colonne che devono essere formattate in modo Textda conservare gli zeri iniziali e impedire la notazione scientifica. Fai clic sulla colonna (dovrebbe scurirsi), quindi seleziona Textnell'elenco delle opzioni. Assicurati di selezionare tutte le colonne che devono essere formattate correttamente:

inserisci qui la descrizione dell'immagine

  1. Quindi fare clic Finish. Se scorri fino alle colonne che hai formattato, vedrai che tutti gli zeri iniziali vengono mantenuti e che lunghe stringhe di numeri non sono in notazione scientifica.

Spero possa aiutare!


0

Se i dati sono stati generati utilizzando SQL. L'aggiunta di un carattere di tabulazione al valore numerico che deve essere impedito al troncamento dovrebbe funzionare.

-- Oracle PL/SQL
select "01234567890123456" || chr(9) from dual;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.