세로 블록 쌓기 데이터를 보고서 형식으로 만드는 방법 좀 알려주세요.

VBA
작성자
silverf****
작성일
2022-05-23 15:43
조회
120
엑셀버전 : M365

운영체제 : 윈도우10

보고서 형식으로 된 것을 파워쿼리를 이용해서 세로 블럭 쌓기 정규화 형식으로 바꾸는 강의는 봤는데요.

이런식으로 되어 있는 로우데이터를 VBA로

이런 월별 보고서 테이블에 맞게 넣는 방법이 궁금합니다.

제 능력이 안되서 그런거겠지만, 일주일 넘게 찾아봐도 못찾아서 조언 좀 부탁드립니다.

 

회원등급 : 4레벨
포인트 : 190 EP
총질문 : 6 개 (마감율 : 50%)
채택답변 : 0 개
전체 6

  • 2022-05-23 15:55
    채택된 답변

    @silverf**** 님 피벗테이블을 사용하면 됩니다.

    VBA를 사용하지 않아도 vlookup 함수나 index/match 함수로 쉽게 해결할 수 있을겁니다.

    https://www.oppadu.com/%EC%97%91%EC%85%80-vlookup-match-%EC%9D%91%EC%9A%A9/

    꼭 VBA를 사용하셔야 한다면 application.worksheetfunction 으로 셀 안에 함수를 작성하면 될 듯 합니다.


    • 2022-05-24 07:24

      @더블유에이 님 답변 감사드립니다.

      =IFERROR(INDEX(EXPIVOT!$H$2:$H$43,MATCH(1,(업체별!$B7=EXPIVOT!$D$2:$D$43)*(업체별!E$6=EXPIVOT!$G$2:$G$43),0)),"")

      이렇게 해서 원하는 값은 얻었습니다.

      근데 이걸 vba로 각 셀에 넣는 건 어떻게 하면 좋을까요?
      for each 문으로 돌려야 하는건가요?

      여러가지 이유로 셀에 함수를 넣어서 하는건 안될것 같아서요.

      혹시 아신다면 답변 좀 부탁드립니다.


    • 2022-05-24 08:34

      @더블유에이 님 For Each rngC In Range("e7:ai" & L)

      rngC.Value = WorksheetFunction.Index(Sheets("EXPIVOT").Range("h:h"), WorksheetFunction.Match(1,(Range("$b7").Value, Sheets("EXPIVOT").Range("d:d") * Range("e$6").Value, Sheets("EXPIVOT").Range("g:g"), 0))

      Next

      이렇게 했는데 컴파일 구문오류가 나는데 뭐가 틀렸는지 모르겠네요...

       


      • 2022-05-24 14:09

        @silverf**** 님 WorksheetFunction 은 특정 함수를 실행할 때 쓰는거구요

        현재 상황을 봤을땐.. 함수를 직접 넣으셔야 할 것 같습니다

        rngC.Formula = "=IFERROR(INDEX(EXPIVOT!$H$2:$H$43,MATCH(1,(업체별!$B7=EXPIVOT!$D$2:$D$43)*(업체별!E$6=EXPIVOT!$G$2:$G$43),0)),"""")"

        이렇게 바꿔보시고 B7, E6만 바꾸면 될겁니다

        $B7을 "B"&rngC.Row, E$6을 worksheetfunction.address(rngc.row,rngc.column)

        으로 바꿔보세요


        • 2022-05-26 13:15

          @더블유에이 님 가뭄에 단비같은 답변 정말 감사드립니다.
          출장을 다녀오느라 확인이 늦어 죄송합니다.

          수식을 직접 입력해야 하는거군요...
          절대 참조를 바꾼부분이 오류가 나는데 한번 찾아보고 해결해보겠습니다.

          다시 한번 감사드립니다.


        • 2022-05-26 14:11

          @더블유에이 님 rngC.Formula = "=IFERROR(INDEX(EXPIVOT!$H$2:$H$10000,MATCH(1,(업체별!"b"&rngC.Row)=EXPIVOT!$D$2:$D$43)*(업체별!worksheetfunction.address(rngc.row,rngc.column)=EXPIVOT!$G$2:$G$10000),0)),"")"

          이렇게 하면 에러가 나는데요....
          워크시트 펑션이 들어가기전에 수식을 한번 끊어야 하는건가요?


전체 6,869
번호 카테고리 제목 작성자 작성일 추천 조회
알림
📌 -- VBA 기초-활용 4주 완성, 특별 스터디 모집을 시작합니다! ~7/8(금) 까지 -- 📌 (96)
오빠두엑셀 | 2022.06.23 | 추천 141 | 조회 17282
오빠두엑셀 2022.06.23 141 17282
공지사항 함수/공식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (79)
오빠두엑셀 | 2021.10.28 | 추천 97 | 조회 5323
오빠두엑셀 2021.10.28 97 5323
38909 파워쿼리/피벗
New 파워쿼리 작성 엑셀파일
당신을축복하는올빼미 | 13:27 | 추천 0 | 조회 12
당신을축복하는올빼미 13:27 0 12
38907 함수/공식
New INDEX + MATCH 함수 에러 문제관련
brain hoon | 13:09 | 추천 -1 | 조회 11
brain hoon 13:09 -1 11
38905 VBA
New [1주차]VBA 미션... 다들 해보셧나요? 도움 좀..ㅠ 첨부파일 (1)
배성철 | 13:02 | 추천 0 | 조회 9
배성철 13:02 0 9
38899 함수/공식
New 어떤 함수를 써야 될지 (2)
정상진 | 11:52 | 추천 0 | 조회 20
정상진 11:52 0 20
38895 대시보드
New 데이터 입력시 자동으로 보고서 작성 첨부파일 (2)
bmmania | 11:23 | 추천 0 | 조회 23
bmmania 11:23 0 23
38889 함수/공식
New 중복 데이터 에서 2개 이상 조건을 만족하는 고유 항목 개수 세기
곱칭 | 10:45 | 추천 -1 | 조회 20
곱칭 10:45 -1 20
38868 VBA
New 행복한 한 주 시작 하시길 바랍니다. 도와주세요(고급필터 애러) 엑셀파일첨부파일
파란맥 | 08:42 | 추천 0 | 조회 20
파란맥 08:42 0 20
38839 VBA
New 1주차 VBA 강의 질문입니다 첨부파일 (1)
WWW | 2022.07.03 | 추천 0 | 조회 32
WWW 2022.07.03 0 32
38828 VBA
New VBA 스터디 1주차 두번째 미션 실패 ㅠㅠ 도와주세요 첨부파일 (1)
YJ | 2022.07.03 | 추천 0 | 조회 25
YJ 2022.07.03 0 25
38811 구글시트
New COUNTA 함수 엑셀파일 (6)
거꾸로문 | 2022.07.03 | 추천 0 | 조회 36
거꾸로문 2022.07.03 0 36
38785 VBA
New 1주차 VBA 강의 질문입니다 첨부파일 (2)
sebin**** | 2022.07.03 | 추천 0 | 조회 31
sebin**** 2022.07.03 0 31
38758 VBA
New 고급필터 자동화 범위 설정시 애러 문의 합니다. 첨부파일
파란맥 | 2022.07.03 | 추천 0 | 조회 15
파란맥 2022.07.03 0 15
38730 파워쿼리/피벗
New 피벗테이블 정렬 순서 변경에 관해서 질문드립니다.
월마리아 | 2022.07.03 | 추천 1 | 조회 21
월마리아 2022.07.03 1 21
38686 VBA
New VBA 4주 완성 1편에서 Visual Basic 질문 첨부파일 (3) 답변완료
도토리이 | 2022.07.03 | 추천 0 | 조회 47
도토리이 2022.07.03 0 47
38660 VBA
New VBA, 매크로, 함수 중에 조건에 맞는 값을 가져오기 문의 합니다. 엑셀파일첨부파일 (2)
파란맥 | 2022.07.03 | 추천 0 | 조회 43
파란맥 2022.07.03 0 43
38655 함수/공식
New 근무시간 산출 함수식 문의 드립니다. 엑셀파일 (1)
민쉬 | 2022.07.03 | 추천 0 | 조회 32
민쉬 2022.07.03 0 32
38530 피벗테이블
New 피벗테이블에서 총합계만 보고싶을때 엑셀파일첨부파일 (2)
까까오똑 | 2022.07.02 | 추천 0 | 조회 20
까까오똑 2022.07.02 0 20
38483 VBA
New VBA 두 피벗테이블 슬라이서 연동
라바 | 2022.07.02 | 추천 0 | 조회 22
라바 2022.07.02 0 22
38370 VBA
New 행에 마지막 입력값 삭제하는 방법 문의 드림니다. 첨부파일 (2) 답변완료
033cola | 2022.07.02 | 추천 0 | 조회 45
033cola 2022.07.02 0 45
38356 VBA
New VBA 또는 매크로 사용하여 시트1의 원한는 내용만 시트2에 표기하는 스크립트 문의 합니다. 엑셀파일첨부파일 (6) 답변완료
파란맥 | 2022.07.02 | 추천 1 | 조회 61
파란맥 2022.07.02 1 61
38287 VBA
New VBA 범위 입력 소스 문의 합니다. (6) 답변완료
파란맥 | 2022.07.02 | 추천 1 | 조회 63
파란맥 2022.07.02 1 63
38284 기능/도구
New 엑셀 여러가지파일 탭으로 보기 첨부파일
asfdadfs | 2022.07.02 | 추천 -1 | 조회 31
asfdadfs 2022.07.02 -1 31
38260 파워쿼리/피벗
New 청사 출입기록을 월별, 인원별로 정리하고 싶은데 선배님들 조언을 구합니다. 엑셀파일첨부파일 (1)
비에리 | 2022.07.02 | 추천 0 | 조회 30
비에리 2022.07.02 0 30
38258 VBA
New 기준열과 동일하게 셀병합 하는 vba 엑셀파일첨부파일 (2) 답변완료
007 | 2022.07.02 | 추천 0 | 조회 46
007 2022.07.02 0 46
38251 함수/공식
New 엑셀 다중조건으로 다른시트에 추출후 수정해서 원본시트에 업데이트방법? 엑셀파일
제임스딘 | 2022.07.02 | 추천 0 | 조회 36
제임스딘 2022.07.02 0 36
38197 VBA
New VBA 매크로 SelectionChange 명령문(스크립트) 조언 받고자 합니다. 엑셀파일첨부파일 (2) 답변완료
파란맥 | 2022.07.01 | 추천 0 | 조회 27
파란맥 2022.07.01 0 27
38191 함수/공식
New 특정 텍스트만 추출하는 함수에서.. (1) 답변완료
최사무엘 | 2022.07.01 | 추천 0 | 조회 32
최사무엘 2022.07.01 0 32
38187 기능/도구
New 엑린이] 시트값을 자동으로 불러오고 싶습니다 (2) 답변완료
세잎 | 2022.07.01 | 추천 0 | 조회 33
세잎 2022.07.01 0 33
38183 VBA
New VBA 매크로 SelectionChange 명령문 조언 받고자 합니다. 엑셀파일첨부파일 (7) 답변완료
파란맥 | 2022.07.01 | 추천 1 | 조회 38
파란맥 2022.07.01 1 38
38182 함수/공식
New FILTER함수 사용시에 함수가 안먹히는 문제 첨부파일 (1)
엑셀고수되는방법좀 | 2022.07.01 | 추천 0 | 조회 27
엑셀고수되는방법좀 2022.07.01 0 27