다른 열의 고유한 값에 따라 한 열의 셀을 전치하려면 어떻게 해야 하나요?
두 개의 열을 포함하는 데이터 범위가 있다고 가정해 봅시다. 이제 다른 열의 고유한 값에 따라 한 열의 셀을 가로 행으로 전치하여 다음 결과를 얻으려고 합니다. Excel에서 이 문제를 해결하기 위한 좋은 아이디어가 있나요?
수식을 사용하여 고유한 값에 따라 한 열의 셀 전치하기
VBA 코드를 사용하여 고유한 값에 따라 한 열의 셀 전치하기
Kutools for Excel을 사용하여 고유한 값에 따라 한 열의 셀 전치하기
수식을 사용하여 고유한 값에 따라 한 열의 셀 전치하기
다음 배열 수식을 사용하면 고유한 값을 추출하고 해당 데이터를 가로 행으로 전치할 수 있습니다. 아래 단계를 따르세요:
1. 배열 수식 =INDEX($A$2:$A$16, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$16), 0)) 을 빈 셀인 D2에 입력하고 Shift + Ctrl + Enter 키를 함께 눌러 올바른 결과를 얻습니다. 스크린샷 참고:
참고: 위 수식에서 A2:A16은 고유한 값을 추출하려는 열이고, D1은 이 수식이 있는 셀 위의 셀입니다.
2. 그런 다음 채우기 핸들을 아래로 드래그하여 모든 고유한 값을 추출합니다. 스크린샷 참고:
3. 그런 다음 E2 셀에 다음 수식을 입력합니다: =IFERROR(INDEX($B$2:$B$16, MATCH(0, COUNTIF($D2:D2,$B$2:$B$16)+IF($A$2:$A$16<>$D2, 1, 0), 0)), 0) 그리고 결과를 얻으려면 Shift + Ctrl + Enter 키를 꼭 누릅니다. 스크린샷 참고:
참고: 위 수식에서 B2:B16은 전치하려는 열 데이터이며, A2:A16은 전치 기준이 되는 열이고, D2는 1단계에서 추출한 고유한 값을 포함합니다.
4. 그런 다음 채우기 핸들을 오른쪽으로 드래그하여 전치된 데이터를 나열할 셀까지 이동하다가 0이 표시되면 멈춥니다. 스크린샷 참고:
5. 그런 다음 계속해서 채우기 핸들을 아래로 드래그하여 다음과 같은 스크린샷처럼 전치된 데이터를 얻습니다:
VBA 코드를 사용하여 고유한 값에 따라 한 열의 셀 전치하기
수식이 복잡하게 느껴진다면, 원하는 결과를 얻기 위해 다음 VBA 코드를 실행할 수 있습니다.
1. ALT + F11 키를 눌러 Microsoft Visual Basic for Applications 창을 엽니다.
2. 삽입 > 모듈을 클릭하고 모듈 창에 다음 코드를 붙여넣습니다.
VBA 코드: 다른 열의 고유한 값에 따라 한 열의 셀 전치하기:
Sub transposeunique()
'updateby Extendoffice
Dim xLRow As Long
Dim i As Long
Dim xCrit As String
Dim xCol As New Collection
Dim xRg As Range
Dim xOutRg As Range
Dim xTxt As String
Dim xCount As Long
Dim xVRg As Range
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("please select data range(only two columns):", "Kutools for Excel", xTxt, , , , , 8)
Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
If xRg Is Nothing Then Exit Sub
If (xRg.Columns.Count <> 2) Or _
(xRg.Areas.Count > 1) Then
MsgBox "the used range is only one area with two columns ", , "Kutools for Excel"
Exit Sub
End If
Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
If xOutRg Is Nothing Then Exit Sub
Set xOutRg = xOutRg.Range(1)
xLRow = xRg.Rows.Count
For i = 2 To xLRow
xCol.Add xRg.Cells(i, 1).Value, xRg.Cells(i, 1).Value
Next
Application.ScreenUpdating = False
For i = 1 To xCol.Count
xCrit = xCol.Item(i)
xOutRg.Offset(i, 0) = xCrit
xRg.AutoFilter Field:=1, Criteria1:=xCrit
Set xVRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)
If xVRg.Count > xCount Then xCount = xVRg.Count
xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible).Copy
xOutRg.Offset(i, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Next
xOutRg = xRg.Cells(1, 1)
xOutRg.Offset(0, 1).Resize(1, xCount) = xRg.Cells(1, 2)
xRg.Rows(1).Copy
xOutRg.Resize(1, xCount + 1).PasteSpecial Paste:=xlPasteFormats
xRg.AutoFilter
Application.ScreenUpdating = True
End Sub
3. 그런 다음 F5 키를 눌러 이 코드를 실행하고, 사용하려는 데이터 범위를 선택하라는 메시지 상자가 나타납니다. 스크린샷 참고:
4. 확인 버튼을 클릭하면 결과를 배치할 셀을 선택하라는 또 다른 메시지 상자가 나타납니다. 스크린샷 참고:
6. 확인 버튼을 클릭하면, A열의 고유한 값에 따라 B열의 데이터가 전치됩니다. 스크린샷 참고:
Kutools for Excel을 사용하여 고유한 값에 따라 한 열의 셀 전치하기
Kutools for Excel이 있다면 고급 행 결합 및 셀 분할 기능을 결합하여 수식이나 코드 없이도 이 작업을 빠르게 완료할 수 있습니다.
Kutools for Excel 설치 후 다음 단계를 수행하세요:
1. 사용하려는 데이터 범위를 선택합니다. (원본 데이터를 유지하려면 먼저 데이터를 다른 위치에 복사하여 붙여넣으세요.)
2. 그런 다음 Kutools > 병합 및 분할 > 고급 행 결합을 클릭합니다. 스크린샷 참고:
3. 열 기반 행 결합 대화상자에서 다음 작업을 수행하세요:
(1.) 전치하려는 열 이름을 클릭하고 주요 키를 선택합니다.
(2.) 전치하려는 다른 열을 클릭하고 결합을 클릭한 다음 공백, 쉼표, 세미콜론과 같은 구분 기호를 선택하여 결합된 데이터를 구분합니다.
4. 확인 버튼을 클릭하면 A열을 기준으로 B열의 데이터가 한 셀에 결합됩니다. 스크린샷 참고:
5. 그런 다음 결합된 셀을 선택하고 Kutools > 병합 및 분할 > 셀 분할을 클릭합니다. 스크린샷 참고:
6. 셀 분할 대화상자에서 유형 옵션에서 열로 분할을 선택하고 결합된 데이터를 구분하는 구분 기호를 선택합니다. 스크린샷 참고:
7. 확인 버튼을 클릭하고 팝업 대화상자에서 분할 결과를 배치할 셀을 선택합니다. 스크린샷 참고:
8. 확인을 클릭하면 필요한 결과를 얻을 수 있습니다. 스크린샷 참고:
지금 바로 Kutools for Excel 다운로드 및 무료 체험하기!
데모: Kutools for Excel을 사용하여 고유한 값에 따라 한 열의 셀 전치하기
최고의 오피스 생산성 도구
🤖 | Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행 | 코드 생성 | 사용자 정의 수식 생성 | 데이터 분석 및 차트 생성 | Kutools Functions 호출… |
인기 기능: 중복 찾기, 강조 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 병합 | 반올림... | |
슈퍼 LOOKUP: 다중 조건 VLookup | 다중 값 VLookup | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 드롭다운 목록 신속 생성 | 의존형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
열 매니저: 지정 개수 열 추가 | 열 이동 | 숨겨진 열 표시 상태 전환 | 범위 및 열 비교 ... | |
주요 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 & 시트 관리 | 자동 텍스트 라이브러리 | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록별 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵게/이탤릭/취소선 필터...)... | |
Top15 도구 세트: 12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...) | 50+ 차트 유형(간트 차트, ...) | 40+ 실용 수식(생일을 기반으로 나이 계산, ...) | 19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...) | 12개 변환 도구(단어로 변환하기, 통화 변환, ...) | 7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...) | ... 그리고 그 외 |
Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...
Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다
- Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
- 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
- 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!