하나 이상의 데이터베이스 이름 목록이 포함된 열이 있는 스프레드시트가 있습니다. 안타깝게도 이 보고서를 수정하는 데 소요되는 시간이 깁니다. 그래서 데이터를 조작해야 합니다.
열에는 단일 셀의 레코드와 관련된 모든 데이터베이스가 쉼표로 구분되어 포함됩니다. 이 목록을 분리하고 각 데이터베이스를 별도의 셀에 배치해야 합니다. 중요사항: 나는~ 아니다이 솔루션에서는 VBA 매크로/코드를 사용할 수 있습니다.
첫 번째는 쉽습니다. 첫 번째 쉼표를 찾고 그 왼쪽에 모든 것을 반환합니다. 내가 어려움을 겪고 있는 것은 다음 것들이다.
여러 데이터베이스가 나열되어 있는지 확인할 수 있도록 셀에 쉼표가 몇 개 있는지 계산하는 열을 만들었습니다.
다음 문제를 어떻게 처리할 수 있나요?
답변1
이것은 워크시트 함수 답변이 아니지만 VBA도 사용하지 않습니다.
'텍스트를 열로' 기능을 사용해 보셨나요? Excel 2010에서는 데이터 리본에 있는 단추 중 하나입니다.
- 열을 선택하세요.
- "텍스트를 열로" 버튼을 클릭하세요.
- 마법사의 첫 번째 페이지에서 "구분됨"을 선택한 후 다음을 선택합니다.
- 두 번째 페이지에서 "쉼표"를 선택하여 구분 기호로 선택합니다. 데이터 형식에 따라 다른 항목 중 일부를 선택/선택 해제할 수 있습니다.
- 이 시점에서 마침을 클릭하여 데이터를 열로 분할할 수 있지만 다음 페이지로 이동하여 열 형식을 변경할 수도 있습니다.
답변2
샘플 데이터 포함A1, 안에지하 1층입력하다:
=TRIM(MID(SUBSTITUTE($A1,",",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
복사:
편집#1:
열의 자료로 시작하면ㅏ그리고비이와 같이:
다음 짧은 매크로를 실행하세요.
Sub dural()
Dim N As Long, i As Long, K As Long
N = Cells(Rows.Count, "A").End(xlUp).Row
K = 1
For i = 2 To N
v = Cells(i, "A").Value
ary = Split(Cells(i, "B").Value, ",")
For Each a In ary
Cells(K, "C").Value = v
Cells(K, "D").Value = a
K = K + 1
Next a
Next i
End Sub
우리는 이것으로 끝날 것입니다 :