https://cafe.naver.com/excelmaster/159162에 올라온 질문입니다.
왼쪽의 표에 있는 명단을 가지고
각 사람이 출석한 횟수, 1번이라도 출석한 사람 현황 파악하는 것이 질문의 요지입니다.
사실, 이런 표구성으로는 어떤 통계든 뽑아내기가 힘들기에
처음부터 표구성을 잘 하는 것이 관건이기도 합니다.
파워쿼리를 이용하면 금방 끝나는 작업이며
이번에는 매크로로는 모든 명단을 한 줄로 정렬하여 피벗으로 해결하였습니다.
Sub Macro() Dim i As Integer Columns("H:K").Clear '기존 자료 삭제 Range("H1") = "취합" 'H1열에 제목 삽입 With Range("A1").CurrentRegion '모든 명단을 한 줄로 세우는 작업 For i = 1 To .Columns.Count .Offset(1).Resize(.Rows.Count - 1).Columns(i).Copy Cells(Rows.Count, "H").End(3)(2) Next End With MakePivot End Sub Sub MakePivot() '한줄로 나열된 명단을 피벗테이블로 추출 ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ Range("H1").CurrentRegion, Version:=xlPivotTableVersion12).CreatePivotTable _ TableDestination:=Range("J1"), TableName:="피벗 테이블1", DefaultVersion:= _ xlPivotTableVersion12 With ActiveSheet.PivotTables("피벗 테이블1") .AddDataField ActiveSheet.PivotTables( _ "피벗 테이블1").PivotFields("취합"), "개수 : 취합", xlCount With .PivotFields("취합") .Orientation = xlRowField .Position = 1 End With End With End Sub | cs |
'VB(A)' 카테고리의 다른 글
[정규식] 문자 숫자 섞여있는 셀에서 숫자만 더하기 (3) | 2019.02.26 |
---|---|
표 변환하기(셀삽입) (0) | 2019.02.18 |
표 내용을 띄엄띄엄 복사 (0) | 2019.01.18 |
데이터를 셀별로 나누기 (0) | 2019.01.17 |
[추가기능] 주소변환(지번주소, 도로명주소, 우편번호) (2) | 2018.06.22 |