Dividindo dados de uma célula em várias no Microsoft Excel 2010 usando o separador de dois pontos

Dividindo dados de uma célula em várias no Microsoft Excel 2010 usando o separador de dois pontos

Quero recuar as palavras após os dois pontos em novas colunas, então, no exemplo abaixo, gostaria de Specie em B, jehwejkrhwejkrhwe em C, 07/06/2018 em D, Kim's Wizard Wand Shop em E e Q18FSESPE00374 em F. Qualquer Ideias?

[Produto: Espécie], [UMR: jehwejkrhwejkrhwe], [EffDt: 07/06/2018], [Insd: Loja de varinhas mágicas de Kim], [PolNo: Q18FSESPE00374]

Responder1

=MID(A1,SEARCH(":",A1)+1,LEN(A1)-(SEARCH(":",A1)+1))

Minha fórmula terá que ser aplicada aos dados de cada célula.

Se for melhor fazer isso na planilha 2, aponte para seus dados na planilha 1.

Responder2

Isso pode ser feito de um desses dois jeitos.


1 - Com uma linha auxiliar e duas fórmulas simples:

Captura de tela da fórmula com linha auxiliar

A fórmula em B2é:

=FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))

E a fórmula em B3é:

=MID($A$1,B2+1,FIND("]",$A$1,B2)-B2-1)


2 - Sem linhas auxiliares, mas com fórmula complexa:

Captura de tela da fórmula sem linha auxiliar

A fórmula em B2é:

=MID($A$1,FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))+1,FIND(CHAR(1),SUBSTITUTE($A$1,"]",CHAR(1),COLUMN()-COLUMN($B:$B)+1))-1-FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1)))

A versão embelezada da fórmula acima é a seguinte:

=
MID(
  $A$1,
  FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))+1,
  FIND(CHAR(1),SUBSTITUTE($A$1,"]",CHAR(1),COLUMN()-COLUMN($B:$B)+1))-1
  -FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))
)

Notas

  • CHAR(1)foi usado porque é quase certo que esse caractere não aparecerá em uma string. É claro que ele poderia ser alterado para qualquer outro caractere que você tenha certeza que nunca será encontrado na string de origem.

informação relacionada