복잡한 엑셀 데이터 재정렬

복잡한 엑셀 데이터 재정렬

Excel에서 다시 정렬해야 하는 복잡한 데이터 세트가 있습니다.

테이블은 대략 이런 느낌이에요

+----+--------+--------+--------+--------+
| ID | Text A | Text B | Text C | Text D |
+----+--------+--------+--------+--------+
| 1  | xx     |        | yy     | zz     |
+----+--------+--------+--------+--------+
| 2  |        | aa     | bb     |        |
+----+--------+--------+--------+--------+
| 3  | cc     |        |        | dd     |
+----+--------+--------+--------+--------+

내가 출력해야 하는 결과는 본질적으로 전치와 합체의 조합입니다. 하지만 Excel에서 이 문제를 해결하는 방법을 모르겠습니다.

+----+------+
| ID | Text |
+----+------+
| 1  | xx   |
+----+------+
| 1  | yy   |
+----+------+
| 1  | zz   |
+----+------+
| 2  | aa   |
+----+------+
| 2  | bb   |
+----+------+
| 3  | cc   |
+----+------+
| 3  | dd   |
+----+------+

답변1

이는 원본 데이터가 다음 위치에 있다고 가정합니다.시트1출력은 다음 위치에 배치됩니다.시트2.

이 짧은 매크로를 실행하면:

Sub ReOrganizer()
    Dim N As Long, nCols As Long
    Dim i As Long, j As Long, k As Long
    Dim s1 As Worksheet, s2 As Worksheet

    Set s1 = Sheets("Sheet1")
    Set s2 = Sheets("Sheet2")
    N = s1.Cells(Rows.Count, 1).End(xlUp).Row
    nCols = 5
    k = 2

    For i = 2 To N
        Item = s1.Cells(i, 1)
        For j = 2 To nCols
            If s1.Cells(i, j) <> "" Then
                s2.Cells(k, 1) = Item
                s2.Cells(k, 2) = s1.Cells(i, j)
                k = k + 1
            End If
        Next j
    Next i
End Sub

다음과 같은 데이터를 가져옵니다.시트1:

여기에 이미지 설명을 입력하세요

그리고 이것을 생산시트2:

여기에 이미지 설명을 입력하세요

관련 정보