엑셀 가로-세로 필터링, 1페이지 보고서 만들기 | 기초부터 활용까지
엑셀 가로세로 필터링 목차 바로가기
영상 강의
예제파일 다운로드
오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.
- [엑셀고급] 엑셀 가로세로 필터링, 1페이지 보고서 핵심 스킬예제파일[엑셀고급] 엑셀 가로세로 필터링, 1페이지 보고서 핵심 스킬완성파일
라이브 강의 전체영상도 함께 확인해보세요!
위캔두 회원이 되시면 매주 오빠두엑셀에서 진행하는 라이브강의 풀영상을 확인하실 수 있습니다.
FILTER 함수로 특정 필드만 출력하는 방법
엑셀 FILTER 함수는 데이터 분석과 보고서 작성에 매우 유용한 함수입니다. 보통 FILTER 함수는 범위의 모든 필드를 출력하지만, 보고서를 작성하면서 특정 필드만 필요할 때에는 간단한 방법으로 해결할 수 있습니다.
=FILTER(FILTER(범위,조건),{1,0,1,0...})
'출력할 필드는 1, 숨길 필드는 0으로 입력합니다.- FILTER 함수로 특정 필드만 출력하기 : 예제파일을 다운로드 받은 후, [출력필드설정] 시트로 이동합니다. 이후 I4셀에 아래 수식을 작성 후 입력하면, 학년이 동일하고 동시에 평균 점수가 x점 이상인 항목이 필터링됩니다.
=FILTER(B3:G15,(B3:B15=J2)*(G3:G15>=L2))오빠두Tip : 다중조건 필터링 공식에 대한 설명은 이전 영상 강의에서 자세히 정리했습니다. 아래 영상 강의를 참고해주세요!
- 만약 출력할 범위를 '학년 ~ 영어'까지 일부 범위로 제한하려면, 아래와 같이 함수를 작성할 수 있습니다.
=FILTER(B3:E15,(B3:B15=J2)*(G3:G15>=L2))
- 하지만 연속된 범위가 아닌, 떨어진 범위를 필터링 결과로 출력해야 할 경우에는 간단한 트릭으로 해결할 수 있습니다. 작성한 FILTER 함수를 다시 FILTER 함수로 묶어서 특정 필드를 출력하면 됩니다. I4셀에 작성한 수식을 아래와 같이 수정하면, 선택한 범위에서 "학년, 이름, 평균" 필드만 출력됩니다.
=FILTER(FILTER(B3:G15,(B3:B15=J2)*(G3:G15>=L2)),{1,1,0,0,0,1})
- 필터링 결과에 머리글을 포함하는 방법 : 단, 방금과 같이 {1,0,1,0,,,} 으로 특정 필드를 출력할 경우, 필터링 결과에 머리글이 누락되는 문제가 있습니다. M365 버전을 사용중이라면, VSTACK 함수로 이 문제를 쉽게 해결할 수 있지만 엑셀 2021 에서는 VSTACK 함수가 제공되지 않아 다른 해결 방법이 필요합니다.
=VSTACK({"학년","이름","평균"},FILTER(FILTER(B3:G15,(B3:B15=J2)*(G3:G15>=L2)),{1,1,0,0,0,1}))오빠두Tip : VSTACK 함수를 활용해 FITLER 함수의 머리글까지 완벽하게 자동화하는 방법은, 위캔두 멤버십 라이브 강의 풀영상을 확인해주세요! 👇
- 오늘은 엑셀 2021 버전 기준으로, FILTER 함수만 사용해서 머리글 출력을 자동화하는 방법을 알아보겠습니다. 먼저 I3:N3 범위에 작성된 머리글을 지운 후, I4셀에 작성한 수식을 잘라내서 I3셀에 붙여넣기합니다.
- 이후 I3셀에 작성된 수식을 아래와 같이 수정합니다. 아래와 같이 수정하면, B3:B15 범위 중에서 값이 "학년"인 항목(=머리글)을 항상 표시할 수 있습니다.
=FILTER(FILTER(B3:G15,(B3:B15=J2)*(G3:G15>=L2)+(B3:B15="학년")),{1,1,0,0,0,1})오빠두Tip : 단, 위와 같이 FILTER 함수의 결과로 머리글을 포함하면, 결과를 정렬했을 시 머리글이 함께 정렬되어 잘못된 결과가 반환되는 점을 주의하세요!
- 수식을 입력하면, FILTER 함수의 결과 값으로 머리글을 포함한 특정 필드의 데이터가 출력됩니다.
FILTER 함수 가로-세로 필터링 자동화 공식
이전 강의에서 알아본 있어?!(ISNUMBER/SEARCH) 공식과 FILTER 함수의 특정 필드만 출력하는 원리를 활용하면, FILTER 함수 가로-세로 필터링 자동화 공식을 완성할 수 있습니다. 특정 단어 포함여부를 확인하는 있어?!공식 사용법은 이전 강의에서 자세히 정리했으니, 아래 링크를 확인해주세요!👇
- 가로-세로 필터링 공식 기초 : 시트에서 Q4:Q9 범위에 미리 작성한 필드 목록에 출력여부를 1과 0으로 작성합니다. 이번 예제에서는 학년과 이름, 평균을 출력하도록 {1,1,0,0,0,1} 로 작성하겠습니다.
- 이전 단계에서 I3셀에 작성한 수식 중 {1,0,1,0,...}으로 작성한 배열을 지운 후, Q4:Q9 범위를 입력하고, TRANSPOSE 함수로 묶어서 입력한 범위를 세로 → 가로로 전환합니다.
=FILTER(FILTER(B3:G15,(B3:B15=J2)*(G3:G15>=L2)+(B3:B15="학년")),TRANSPOSE(Q4:Q9))오빠두Tip : TRANSPOSE 함수를 작성하지 않으면 FILTER 함수의 결과로 #VALUE! 오류가 반환됩니다. 배열의 쉼표와 세미콜론으로 행/열을 구분하는 방법은 영상강의 11:20을 참고하세요!
- 이제 Q4:Q9 범위의 출력여부를 각각 1,0 으로 변경해서 출력 범위를 자동으로 갱신할 수 있습니다.
- 단어 포함 조건, 가로-세로 필터링 : 출력여부 범위에 단어의 포함여부를 확인하는 있어?(ISNUMBER/SEARCH) 공식을 적용하면, 단어 포함 조건으로 가로-세로 필터링을 완벽하게 자동화할 수 있습니다. Q4셀에 아래 공식을 입력한 후, 아래로 자동채우기합니다.
=ISNUMBER(SEARCH(P4,$N$2))*1
- 수식을 모두 입력한 후, N2셀에 출력할 항목을 작성하면 출력여부에 1과 0이 계산됩니다.
- 이제 출력 항목에 머리글을 하나씩 작성해보세요! 가로-세로 필터링 보고서가 완성되었습니다.
로그인
지금 가입하고 댓글에 참여해보세요!
1 댓글