매출 데이터에서 "지역이 서울인 매장의 매출 합계"를 구해야 하는 상황을 떠올려보자. 손으로 하나씩 골라 더할 수도 있겠지만, 행이 수천 개라면 이야기가 달라진다. 이럴 때 등장하는 함수가 SUMIF다. 그런데 정작 "SUMIF가 정확히 어떤 방식으로 조건에 맞는 값만 골라내는가"를 설명해보라고 하면 의외로 막히는 경우가 많다. 이번 글에서는 SUMIF와 SUMIFS의 겉모습이 아니라, 그 내부에서 벌어지는 계산 원리를 뜯어본다. SUMIF의 기본 구조 복습 SUMIF는 세 개의 인수를 받는다. 조건을 검사할 범위, 그 조건 자체, 그리고 실제로 합산할 범위다. =SUMIF(A2:A100, "서울", C2:C100) 여기서 A2:A100은 지역명이 적힌 열, C2:C100은 매출액이 적힌 열이다. 겉으로는 단순히 "서울인 것만 더해줘"라는 명령처럼 보이지만, 내부적으로는 좀 더 구조적인 일이 벌어진다. 조건 배열과 합계 배열이 짝지어지는 방식 SUMIF는 먼저 조건 범위(A2:A100)의 각 셀을 하나씩 검사해서, "서울"과 일치하면 TRUE, 아니면 FALSE로 이루어진 하나의 논리값 배열을 머릿속으로 만든다고 생각하면 이해하기 쉽다. 예를 들어 A2가 "서울", A3이 "부산", A4가 "서울"이라면 그 결과는 {TRUE, FALSE, TRUE, ...} 와 같은 배열이 된다. 그다음 이 TRUE/FALSE 배열을 합계 범위(C2:C100)와 같은 위치끼리 짝지어 대응시킨다. A2가 TRUE이므로 C2의 값을 채택하고, A3이 FALSE이므로 C3의 값은 버리고, A4가 TRUE이므로 C4의 값을 채택하는 식이다. 결국 SUMIF는 "조건 범위에서 만든 참/거짓 지도를, 합계 범위 위에 그대로 겹쳐 놓고, 참인 위치의 값들만 골라 더하는" 함수라고 이해할 수 있다. 이 때문에 조건 범위와 합계 ...