메인 컨텐츠로 가기

행렬 스타일 테이블을 Excel에서 세 개의 열로 변환하는 방법은 무엇입니까?

열 머리글과 행 머리글이 포함 된 행렬 스타일 테이블이 있고 이제이 스타일 테이블을 세 개의 열 테이블로 변환하려고한다고 가정하면 다음 스크린 샷과 같이 목록 테이블이라고도합니다.이 문제를 해결할 좋은 방법이 있습니까? Excel에서 문제가 있습니까?

피벗 테이블을 사용하여 행렬 스타일 테이블을 목록으로 변환

VBA 코드를 사용하여 행렬 스타일 테이블을 목록으로 변환

Excel 용 Kutools를 사용하여 매트릭스 스타일 테이블을 목록으로 변환

doc 매트릭스를 목록으로 변환 1


Excel에는 행렬 스타일 테이블을 XNUMX 열 테이블로 변환하는 직접적인 기능이 없지만 피벗 테이블에 익숙하다면 도움이 될 수 있습니다. 다음 단계를 따르십시오.

1. 사용하려는 워크 시트를 활성화 한 다음 Alt + D, 다음을 누릅니다. P 키보드에서 튀어 나와 피벗 테이블 및 피벗 차트 마법사 대화 상자에서 선택하십시오. 다양한 통합 범위 아래 분석하려는 데이터는 어디에 있습니까? 섹션을 선택한 다음 피벗 테이블 아래 어떤 종류의 보고서를 작성 하시겠습니까 섹션, 스크린 샷 참조 :

doc 매트릭스를 목록으로 변환 2

2. 그런 다음 다음 보기 버튼, 2a / 3 단계 마법사에서 페이지 필드를 만들겠습니다. 옵션, 스크린 샷 참조 :

doc 매트릭스를 목록으로 변환 3

3. 클릭으로 이동 다음 보기 버튼, 2b / 3 단계 마법사를 클릭하십시오. doc 매트릭스를 목록으로 변환 5 버튼을 클릭하여 변환 할 데이터 범위를 선택한 다음 추가 버튼을 눌러 데이터 범위를 모든 범위 목록 상자, 스크린 샷 참조 :

doc 매트릭스를 목록으로 변환 4

4. 클릭 다음 보기 버튼, 안으로 3의 3 단계 마법사에서 원하는대로 피벗 테이블의 위치를 ​​선택합니다.

doc 매트릭스를 목록으로 변환 6

5. 그런 다음 마감재 버튼, 피벗 테이블이 한 번에 생성되었습니다. 스크린 샷을 참조하십시오.

doc 매트릭스를 목록으로 변환 7

6. 피벗 테이블에서 총합계의 교차 셀을 두 번 클릭합니다.이 경우 F22 셀을 두 번 클릭하면 다음 스크린 샷과 같이 세 개의 열 테이블이 생성됩니다.

doc 매트릭스를 목록으로 변환 8

7. 마지막으로 테이블을 선택하여 테이블 형식을 정상 범위로 변환 한 다음 작업대 > 범위로 변환 컨텍스트 메뉴에서 스크린 샷을 참조하십시오.

doc 매트릭스를 목록으로 변환 9


첫 번째 방법이 마음에 들지 않으면 다음 VBA 코드도 도움이 될 수 있습니다.

1. 프레스 Alt + F11 를 표시하려면 응용 프로그램 용 Microsoft Visual Basic 창.

2. 창에서 끼워 넣다 > 모듈 새 모듈 창을 표시하려면 다음 VBA 코드를 복사하여 모듈 창에 붙여 넣습니다.

VBA 코드 : 행렬 스타일 테이블을 목록으로 변환

Sub ConvertTable()
'Update 20150512
Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
xTitleId = "KutoolsforExcel"
Set cRng = Application.InputBox("Select your Column labels", xTitleId, Type:=8)
Set rRng = Application.InputBox("Select Your Row Labels", xTitleId, Type:=8)
Set Rng = Application.InputBox("Select your data", xTitleId, Type:=8)
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
    For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
        outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
        outRng.Cells(k, 2) = xWs.Cells(xRow, j)
        outRng.Cells(k, 3) = xWs.Cells(i, j)
        k = k + 1
    Next j
Next i
End Sub

3. 그런 다음 F5 키를 눌러이 코드를 실행하면 데이터의 열 레이블을 선택할 수있는 프롬프트 상자가 나타납니다. 스크린 샷을 참조하십시오.

doc 매트릭스를 목록으로 변환 10

4. 그런 다음 OK 버튼을 누르고 다음 프롬프트 상자에서 행 레이블을 선택하고 스크린 샷을 참조하십시오.

doc 매트릭스를 목록으로 변환 11

5. 클릭으로 이동 OK을 클릭 한 다음 프롬프트 상자에서 열 및 행 머리글을 제외한 데이터 범위를 선택합니다 (스크린 샷 참조).

doc 매트릭스를 목록으로 변환 12

6. 그런 다음 OK,이 대화 상자에서 결과를 찾을 셀을 선택하십시오. 스크린 샷보기 :

doc 매트릭스를 목록으로 변환 13

7. 마지막으로 OK, 한 번에 XNUMX 개의 열 테이블이 생성됩니다.


위의 두 방법 모두 다소 번거 롭습니다. 여기서는 쉬운 방법을 소개하겠습니다. Excel 용 Kutools그와 테이블 차원 전치 기능을 사용하면 셀 행렬과 목록 테이블을 빠르게 변환 할 수 있습니다.

Excel 용 Kutools : 300 개 이상의 편리한 Excel 추가 기능으로 30 일 동안 제한없이 무료로 사용해 볼 수 있습니다.

설치 후 Excel 용 Kutools, 다음 단계를 수행하십시오.

1. 딸깍 하는 소리 쿠툴 > 범위 > 테이블 차원 전치, 스크린 샷 참조 :

2. 에서 테이블 차원 전치 대화 상자 :

(1.) 선택 목록에 크로스 테이블 아래의 옵션 조옮김 유형.

(2.) 그런 다음 doc 매트릭스를 목록으로 변환 5 밑에있는 버튼 출처 범위 변환 할 데이터 범위를 선택합니다.

(3.) 그런 다음 doc 매트릭스를 목록으로 변환 5 밑에있는 버튼 결과 범위 결과를 넣을 셀을 선택합니다.

doc 매트릭스를 목록으로 변환 15

3. 그런 다음 OK 버튼을 클릭하면 원래 셀 서식을 포함하는 다음 결과가 표시됩니다.

doc 매트릭스를 목록으로 변환 16

이 유틸리티를 사용하면 플랫리스트 테이블을 2 차원 크로스 테이블로 변환.

이 Transpose Table Dimensions 기능에 대해 자세히 알아보십시오.

Excel 용 Kutools를 지금 다운로드하고 무료로 평가하십시오!


Excel 용 Kutools: 300 개 이상의 편리한 Excel 추가 기능으로 30 일 동안 제한없이 무료로 사용해 볼 수 있습니다. 지금 다운로드 및 무료 평가판!

최고의 사무 생산성 도구

🤖 Kutools AI 보좌관: 다음을 기반으로 데이터 분석을 혁신합니다. 지능형 실행   |  코드 생성  |  사용자 정의 수식 만들기  |  데이터 분석 및 차트 생성  |  Kutools 기능 호출...
인기 기능: 중복 항목 찾기, 강조 표시 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열이나 셀 결합   |   수식없이 반올림 ...
슈퍼 조회: 다중 기준 VLookup    다중 값 VLookup  |   여러 시트에 걸친 VLookup   |   퍼지 조회 ....
고급 드롭다운 목록: 드롭다운 목록을 빠르게 생성   |  종속 드롭다운 목록   |  다중 선택 드롭 다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  Toggle 숨겨진 열의 가시성 상태  |  범위 및 열 비교 ...
특색 지어진 특징: 그리드 포커스   |  디자인보기   |   큰 수식 바    통합 문서 및 시트 관리자   |  리소스 라이브러리 (자동 텍스트)   |  날짜 선택기   |  워크 시트 결합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵게/기울임꼴/취소선 필터링...) ...
상위 15개 도구 세트12 본문 도구 (텍스트 추가, 문자 제거,...)   |   50+ 거래차트 유형 (Gantt 차트,...)   |   40+ 실용 방식 (생일을 기준으로 나이 계산,...)   |   19 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입,...)   |   12 매출 상승 도구 (숫자를 단어로, 환율,...)   |   7 병합 및 분할 도구 (고급 결합 행, 셀 분할,...)   |   ... 그리고 더

Excel용 Kutools로 Excel 기술을 강화하고 이전과는 전혀 다른 효율성을 경험해 보세요. Excel용 Kutools는 생산성을 높이고 시간을 절약하기 위해 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하십시오...

상품 설명


Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thanks for the tips. It's greatly saved my time and manual efforts.
This comment was minimized by the moderator on the site
Anybody know how to do this in a mac?
This comment was minimized by the moderator on the site
Sub ConvertTable_UseThis()

Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
Dim xRng As Range, cRow As Integer, cCol As Integer


xTitleId = "Convert Table"
Set xRng = Application.Selection
Set xRng = Application.InputBox("Please select range:", "Number Range", Selection.Address, , , , , 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Set cRng = Range(xRng.Cells(1, 2), xRng.Cells(1, cCol))
Set rRng = Range(xRng.Cells(2, 1), xRng.Cells(cRow, 1))
Set Rng = Range(xRng.Cells(2, 2), xRng.Cells(cRow, cCol))
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
This comment was minimized by the moderator on the site
For the VBA Code, one seems to really need this:xColumns = cRng.Column
xRow = rRng.Row
This comment was minimized by the moderator on the site
do you have a code with a tweak where the leftmost column of a selection is column labels and the topmost row of a selection is row labels?

Thanks in advance,
This comment was minimized by the moderator on the site
Sub ConvertTable_UseThis()

Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
Dim xRng As Range, cRow As Integer, cCol As Integer


xTitleId = "Convert Table"
Set xRng = Application.Selection
Set xRng = Application.InputBox("Please select range:", "Number Range", Selection.Address, , , , , 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Set cRng = Range(xRng.Cells(1, 2), xRng.Cells(1, cCol))
Set rRng = Range(xRng.Cells(2, 1), xRng.Cells(cRow, 1))
Set Rng = Range(xRng.Cells(2, 2), xRng.Cells(cRow, cCol))
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
This comment was minimized by the moderator on the site
Thanks a Ton, really appreciate the way you have explained. very useful
This comment was minimized by the moderator on the site
Thanks alot for this useful tool
This comment was minimized by the moderator on the site
Thanks, this was exactly what I was looking for. Awesome:)
This comment was minimized by the moderator on the site
what if i have 4 or more column?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations