Excel에서 첫 번째 콜론 이후에만 데이터를 여러 열로 분할하려면 어떻게 해야 합니까?

Excel에서 첫 번째 콜론 이후에만 데이터를 여러 열로 분할하려면 어떻게 해야 합니까?

저는 거대한 Excel 목록(20,000개 이상의 행)을 가지고 있으며 해당 열 목록을 여러 열로 분할하고 싶습니다. 이전에는 Data|Text-to-Columns Wizard를 사용했지만 제한 사항이 있는 것 같습니다. 분할을 중지할 "분할" 횟수를 지정할 수 없습니다. 예시 데이터:

type: abds : das
files: asdfs:jgkd

목표는 다음과 같습니다

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

시간 내 줘서 고마워 :)!

답변1

VBA이와 같은 소규모 일회성 작업을 위한 훌륭한 도구입니다.

데이터가 열에 있고 A에서 연속되어 있다고 가정합니다 A1. 그렇지 않은 경우 Set rng = ...데이터에 맞게 선을 조정하면 됩니다.

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

답변2

첫 번째 콜론을 "|"로 바꿀 수 있습니다. - 또는 데이터에 표시되지 않는 다른 문자 - 사용:

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

그런 다음 결과를 값으로 복사하여 붙여넣고 해당 값에 대해 Text To Columns를 수행합니다.

답변3

일반적으로 이 작업을 수행하려면 몇 가지 vbscript를 작성하지만 1열 시트인 경우 텍스트(탭으로 구분)로 저장한 다음 다시 열 수 있습니다. Excel에서 어떤 종류의 텍스트 파일인지 묻습니다. 이라고 말하고 file with Separators클릭 Next한 후 선택 Other하고 편집 필드에 콜론을 입력하세요.

답변4

제가 생각하는 가장 간단한 방법은 이미 수행한 작업인 Data|Text-to-Columns Wizard부터 시작하는 것입니다.

그런 다음 의도치 않게 분할된 필드를 다시 연결합니다.

관련 정보