como posso dividir os dados em várias colunas separando somente após os primeiros dois pontos no Excel

como posso dividir os dados em várias colunas separando somente após os primeiros dois pontos no Excel

Eu tenho uma lista enorme do Excel (mais de 20 mil linhas) e quero dividir essa lista de colunas em várias colunas. Anteriormente eu usei o Data|Text-to-Columns Wizard, mas parece ter uma limitação: não consigo especificar depois de quantas "divisões" parar para dividir. Dados de exemplo:

type: abds : das
files: asdfs:jgkd

objetivo é:

|type|abds : das|
|files|asdfs:jgkd|

Obrigado pelo seu tempo :)!

Responder1

VBAé uma ótima ferramenta para pequenas tarefas únicas como esta.

Supondo que os dados estejam na coluna Ae sejam contíguos de A1. Se este não for o caso, basta ajustar a linha Set rng = ...para se adequar aos seus dados.

Sub SplitColumn()
    Dim rng As Range
    Dim dat As Variant
    Dim i As Long, j As Long

    Set rng = Range([a1], [a1].End(xlDown)).Resize(, 2)
    dat = rng
    For i = 1 To UBound(dat, 1)
        j = InStr(dat(i, 1), ":")
        If j > 0 Then
            dat(i, 2) = Mid$(dat(i, 1), j + 1)
            dat(i, 1) = Left$(dat(i, 1), j - 1)
        End If
    Next
    rng = dat
End Sub

Responder2

Você pode substituir os primeiros dois pontos por um "|" - ou algum outro caractere que não aparecerá nos seus dados - usando:

=SUBSTITUTE(A1,":","|",1)

Em seguida, copie e cole os resultados como valores e faça um Text To Columns nesses valores.

Responder3

Normalmente você escreveria algum vbscript para realizar esta tarefa, mas se for uma planilha de uma coluna, você poderá salvá-la como Texto (delimitado por tabulações) e abri-la novamente. O Excel perguntará que tipo de arquivo de texto é esse. Diga que é um file with Separators, clique Nexte marque Othere digite dois pontos no campo de edição.

Responder4

A maneira mais simples que consigo pensar é começar com o que você já fez: o Data|Text-to-Columns Wizard .

Em seguida, você reconcatena os campos que foram divididos inadvertidamente.

informação relacionada