Analisar dados no excel - delimitados por espaço - da direita para a esquerda

0
1     Exxon Mobil     452,926.0     41,060.0
2     Wal-Mart Stores     446,950.0     15,699.0
3     Chevron     245,621.0     26,895.0
4     ConocoPhillips     237,272.0     12,436.0
5     General Motors     150,276.0     9,190.0
6     General Electric     147,616.0     14,151.0
7     Berkshire Hathaway     143,688.0     10,254.0

Como faço para pegar os dados acima e criar quatro colunas de dados no excel? Classificação # Nome da empresa # data1 # data2

Divida o texto na função de colunas no Excel
esta solução chega perto ...

Onde está a "linha de leitura da direita para a esquerda" e usa os dois primeiros espaços para delimitar a função de texto?

Chers, Mw

    
por mario wilson 27.08.2013 / 23:06

2 respostas

1

Eu faria isso em duas etapas.

  1. Os dados parecem usar cinco espaços para delimitar, então eu faria um localizar e substituir em um editor de texto substituir qualquer sequência de cinco espaços por um caractere "seguro", como uma tabulação ou um pipe (|)
  2. Abra o arquivo no Excel e selecione o delimitador apropriado ou use os dados > Texto para colunas
por 28.08.2013 / 02:11
0

Você também pode fazer isso com fórmulas. Na coluna B, copie esta fórmula:

=SUBSTITUTE(A2,"     ","|")

Isso substituirá cinco espaços por | , resultando em 1|Exxon Mobil|452,926.0|41,060.0

Na coluna C, copie esta fórmula:

=TRIM(LEFT(SUBSTITUTE($B2,"|",REPT(" ",50)),50))

Isso substituirá o | por 50 espaços, terá os 50 espaços à esquerda e os espaços de preenchimento serão reduzidos. Então você acaba com 1

Na coluna D, copie esta fórmula:

=TRIM(MID(SUBSTITUTE($B2,"|",REPT(" ",50)),50,50))

Em vez de tomar a esquerda 50, são necessários 50 caracteres a partir do caractere 50.

A coluna E é a mesma, mas a partir do caractere 100:

=TRIM(MID(SUBSTITUTE($B2,"|",REPT(" ",50)),100,50))

A coluna F está tomando os 50 caracteres mais à direita:

=TRIM(RIGHT(SUBSTITUTE($B2,"|",REPT(" ",50)),50))

Se você não gosta de ter a coluna intermediária, pode substituir $B2 pela fórmula original: =SUBSTITUTE(A2," ","|") para pular uma etapa.

Você também pode alterar essa fórmula original de =SUBSTITUTE(A2," ","|") para =SUBSTITUTE(A2,REPT(" ",5),"|") , o que pode ser mais fácil de ler e interferir se seus dados forem alterados.

    
por 28.08.2013 / 04:24