엑셀 가로 머리글별 열 합계 공식
지원 버전 자세히 보기
가로 머리글과 일치하는 열의 합계를 계산하는 공식입니다.
인수 설명
01첫 번째 일치 열 합계 (INDEX·MATCH 함수)
=SUM ( INDEX ( 범위, 0, MATCH ( 찾을값, 머리글범위, 0 ) ) )인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
02중복 머리글 전체 합계 (배열수식)
{=SUM ( IF ( 머리글범위=찾을값, 범위 ) )}인수 설명 자세히 보기
03중복 머리글 전체 합계 (Excel 2021 이후)
=SUM ( FILTER ( 범위, 머리글범위=찾을값 ) )인수 설명 자세히 보기
동작 원리
01첫 번째 일치 열 합계 (INDEX·MATCH 함수)
MATCH 함수는 첫 번째 일치 머리글의 위치를 찾고, INDEX 함수는 해당 열을 반환하며, SUM 함수는 그 값을 더합니다.
첫 번째 일치 열 합계 공식의 예제 시트에서 H2 셀이 7,942,000을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
MATCH 함수가 첫 번째 위치를 찾습니다
MATCH 함수는 G2의 떡보의하루를 B1:E1에서 정확히 일치하는 방식으로 검색합니다. 같은 머리글이 여러 개이므로 첫 번째 위치인 1을 반환합니다.
=MATCH ( G2, B1:E1, 0 )
첫 번째 떡보의하루 머리글의 위치를 찾습니다. = 1
B1:E1에서 첫 번째 열입니다. INDEX 함수가 해당 열을 반환합니다
INDEX 함수의 행 번호에 0을 입력하면 MATCH 함수가 찾은 첫 번째 열의 모든 숫자를 세로 배열로 반환합니다.
=INDEX ( B2:E8, 0, MATCH ( G2, B1:E1, 0 ) )
B2:B8의 숫자를 반환합니다. = {1440000;1936000;1577000;1941000;1048000;0;0}
첫 번째 떡보의하루 열의 7개 값입니다. SUM 함수가 열의 값을 더합니다
SUM 함수는 INDEX 함수가 반환한 일곱 숫자를 더해 첫 번째 떡보의하루 열의 합계를 계산합니다.
=SUM ( INDEX ( B2:E8, 0, MATCH ( G2, B1:E1, 0 ) ) )
1,440,000+1,936,000+1,577,000+1,941,000+1,048,000+0+0을 계산합니다. = 7942000
첫 번째 떡보의하루 열의 합계입니다. 02중복 머리글 전체 합계 (배열수식)
IF 함수는 찾을값과 일치하는 모든 머리글의 열만 남기고, SUM 함수는 남은 값을 더합니다.
중복 머리글 배열수식의 예제 시트에서 H2 셀이 10,842,000을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
머리글을 찾을값과 비교합니다
B1:E1의 각 머리글을 G2의 떡보의하루와 비교하면 첫 번째와 세 번째 위치만 TRUE를 반환합니다.
=B1:E1=G2
네 머리글을 떡보의하루와 비교합니다. = {TRUE,FALSE,TRUE,FALSE}
첫 번째와 세 번째 머리글이 일치합니다. IF 함수가 일치하는 열만 남깁니다
IF 함수는 TRUE에 해당하는 B열과 D열의 숫자만 남기고, 일치하지 않는 열은 FALSE로 반환합니다.
=IF ( B1:E1=G2, B2:E8 )
일치하는 두 열의 숫자를 남깁니다. = {1440000,FALSE,320000,FALSE;1936000,FALSE,410000,FALSE;1577000,FALSE,280000,FALSE;1941000,FALSE,500000,FALSE;1048000,FALSE,390000,FALSE;0,FALSE,450000,FALSE;0,FALSE,550000,FALSE}
일치하지 않는 열이 FALSE로 바뀐 7행×4열 배열입니다. SUM 함수가 남은 숫자를 더합니다
SUM 함수는 논리값을 제외하고 B열의 7,942,000과 D열의 2,900,000을 더합니다. Excel 2019 이하에서는 전체 수식을 Ctrl+Shift+Enter로 확정해야 합니다.
{=SUM ( IF ( B1:E1=G2, B2:E8 ) )}
두 떡보의하루 열의 숫자를 모두 더합니다. = 10842000
7,942,000+2,900,000의 결과입니다. 03중복 머리글 전체 합계 (Excel 2021 이후)
FILTER 함수는 일치하는 머리글의 열을 모두 추출하고, SUM 함수는 추출한 값을 더합니다.
Excel 2021 이후 공식의 예제 시트에서 H2 셀이 10,842,000을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
FILTER 함수가 일치하는 열을 추출합니다
FILTER 함수는 B1:E1에서 떡보의하루와 일치하는 첫 번째와 세 번째 열을 찾아 B2:B8과 D2:D8의 숫자를 함께 반환합니다.
=FILTER ( B2:E8, B1:E1=G2 )
두 떡보의하루 열을 7행×2열 배열로 추출합니다. = {1440000,320000;1936000,410000;1577000,280000;1941000,500000;1048000,390000;0,450000;0,550000}
B열과 D열만 남은 배열입니다. SUM 함수가 추출한 값을 더합니다
SUM 함수는 FILTER 함수가 반환한 열 두 개의 숫자를 모두 더해 중복 머리글의 전체 합계를 계산합니다.
=SUM ( FILTER ( B2:E8, B1:E1=G2 ) )
B열 7,942,000과 D열 2,900,000을 더합니다. = 10842000
두 떡보의하루 열의 합계입니다.
이때 여러 같은 조건에 해당하는 합계를 구하려고 하는데 방법이 없을까요??.. sumproduct나 시도 해봤는데 잘 안되는거 같아서 ㅎㅎ 부탁 드립니다!!!
INDEX 함수의 행/열 번호를 0으로 입력하면 전체 행 또는 열을 반환할 수 있습니다.
이렇게 반환된 전체열을 SUM 함수로 묶어서 합계를 구해보세요.
단, 2019 이전 버전에서는 CTRL + SHIFT + ENTER 로 배열수식으로 입력해야 합니다. 감사합니다.