Come incollare i dati di Excel come testo a larghezza fissa?


16

Se copio i dati in Excel e li incollo in un file di testo, ottengo le schede tra le celle. Non va bene, voglio spazi - e voglio che le colonne siano allineate. Come posso raggiungere questo obiettivo senza troppi sforzi (ovviamente non voglio iniziare a eseguire regexps a mano ecc.)

L'uso di "Salva con nome" (come in questa domanda ) non è una soluzione per me, ho bisogno di copiare e incollare.


ho una possibile soluzione che implicherebbe incollare da una cartella di lavoro a un'altra cartella di lavoro (quindi dall'altra cartella di lavoro a qualsiasi punto in cui si è incollati. Si adatta al flusso di lavoro?
Pynner,

@Pynner: Beh, si adatta meglio di nessuna soluzione, quindi sì, vai avanti.
einpoklum,

Risposte:


14

Questo non è certamente semplice da spiegare ... ma una volta installato funzionerà con il minimo sforzo. Anche questa è una leggera variazione su ciò che @pnuts ha delineato

Suggerisco di utilizzare un foglio di calcolo modello in cui è possibile copiare e incollare. il modello che ho creato ha 3 schede che appaiono come segue.

schede

  • Data scheda è dove vengono incollati i dati
  • Length sta per fare un po 'di matematica per determinare la colonna più lunga
  • Space insert inserirà il numero appropriato di spazi (modifica) che è possibile copiare da qui e ottenere il risultato corretto

la scheda lunghezza è simile

lunghezza

La riga 1 ha il numero massimo di caratteri della colonna sottostante e contiene la formula

=MAX(A2:A101)+1

+1 crea il delimitatore.

Le righe da 2 a n (che ho esteso a 100 per questo esempio) contengono una formula per valutare la lunghezza di ogni stringa

=LEN('Data tab'!A1)

appare la scheda di inserimento dello spazio

inserto spazio

Ogni cella contiene una cella per valutare la lunghezza di se stessa rispetto al valore massimo (+ delimitatore) e inserire un numero appropriato di spazi.

='Data tab'!A1&REPT(" ",length!A$1-length!A2)

Nota $ che blocca la riga 1 se copi e incolli la formula

(modifica) è possibile copiare dalla scheda Inserisci spazio.

bloc notes


1
Ingegnosamente inventato!
einpoklum,

Ma ... perché ho davvero bisogno dell'ultimo foglio? Posso copiare e incollare dal terzo foglio. Inoltre, non voglio usare formule lunghe replicate per ogni colonna.
einpoklum,

Esatto ... ultima scheda non richiesta ... avevo ipotizzato che le celle avrebbero inserito caratteri aggiuntivi. Aggiornerò la mia risposta per risolverlo
Pynner il

Ottima risposta, grazie mille. Personalmente alcune delle mie colonne sono state pubblicate molto a lungo, quindi ho aggiunto una pagina con "= SINISTRA ('inserimento spazio'! A1, $ K $ 2) e IF (Lunghezza! A2> $ K $ 2," ... | ", "|") "dove $ K $ 2 è impostato su un valore appropriato (il massimo della colonna più importante). Funziona bene con le descrizioni ecc.,
Passaggio

il prossimo passo sarebbe il corretto allineamento dei
valori

3

La soluzione più semplice sarebbe quella di concatenare i dati numerici in una stringa "modificata" che si incolla correttamente in un file di testo. Creare la formula di Excel per una riga, quindi copiarla per tutte le righe del foglio di lavoro, quindi copiare la colonna della formula e incollarla nel file di testo. Per esempio,

Dati

Cella A1: 247

Cella B1: 19

Cella C1: 1437

Formula nella cella D1

= A1 & " "& B1 &"," & C1

Risultato testurizzabile

247,19,1437

C'è un altro approccio che non si basa sulle formule.

  • Innanzitutto, assicurati che le tue colonne di dati abbiano la stessa larghezza.
  • Quindi inserire un'altra colonna tra ciascuna coppia di colonne di dati, ciascuna con una larghezza di 2.
  • Immettere una virgola singola in ciascuna delle colonne inserite, copiandola per la lunghezza dei dati.
  • Infine, salva il foglio di lavoro come file di testo formattato (spazio delimitato) (* .prn).

Un vantaggio di questa alternativa è che preserva la formattazione dei dati. Se si desidera formattare i dati in virgola o mostrare solo un decimale, la formattazione verrà conservata nel file prn.


1
pnuts ha suggerito che mprovement è esattamente giusto. Ho aggiornato la mia risposta con un'altra alternativa che utilizza Salva con nome.
Chuff

Quindi, come ho detto nella domanda, il risparmio-come non è un'opzione. La soluzione REPT funzionerà con il copia-incolla? Inoltre, non sto ancora accettando come vorrei qualcosa di meno ingombrante.
einpoklum,

0

È possibile copiare i dati in Word e quindi utilizzare Trova e sostituisci (Ctrl + H) per sostituire le schede con spazi.

  1. Apri e incolla i dati in Word
  2. Premi Ctrl+H
  3. Altro >>
  4. Speciale
  5. Spazio bianco
  6. Inserisci uno spazio nel sostituisci con:
  7. Sostituisci tutto

Non è quello che ho chiesto, scusa, la larghezza delle colonne sarà diversa.
einpoklum,
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.