Vá para a guia Data e, em seguida, à opção Text to Columns. Mais tarde, escolha a opção "Delimitado" e, em seguida, selecione "outro" e coloque qualquer delimitador que você deseja.
Minha coluna do excel está repleta de palavras como esta:
1.) ABC:DCF
2.) DCF:FED
Eu quero dividir cada palavra com base em ":" e colocar o resultado em colunas adjacentes de modo que "ABC: DCF" na célula "A: 1" se torne "ABC" na célula "B : 1 "e" DCF "na célula" C: 1 "e também valores correspondentes em cada coluna. Como fazer isso?
O texto para colunas funcionará. Outra opção, se você quiser manter o valor original, é usar fórmulas:
em B1
=left(a1,find(":",a1)-1)
em C1
=mid(a1,find(":",a1)+1,len(a1))
Se você puder usar o VBA, poderá usar a função Split()
. Aqui está uma função definida pelo usuário (UDF) que você pode usar em uma célula. Ele se divide na sua escolha de caractere e retorna o elemento n da lista de divisão.
Veja Como adiciono o VBA no MS Office? para obter informações sobre como definir uma UDF.
Function STR_SPLIT(str, sep, n) As String
Dim V() As String
V = Split(str, sep)
STR_SPLIT = V(n - 1)
End Function
Então você precisa digitar:
=STR_SPLIT(A1, ":", 1) // for the first half
=STR_SPLIT(A1, ":", 2) // for the second half
Cole-o em B1 e preencha-o nas colunas à direita e abaixo:
=TRIM(MID(SUBSTITUTE($A1,":",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
Editar: eu já postei a versão localizada da fórmula, onde ',' foi substituído por ';'. Isso não funciona na versão americana do Excel:
=TRIM(MID(SUBSTITUTE($A1;":";REPT(" ";999));COLUMNS($A:A)*999-998;999))
Tags microsoft-excel