• 최초 작성일: 2000-11-08
  • 최종 수정일: 2026-09-29
  • 조회수: 23 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: SUMIF 함수 응용 예제 두 가지

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

질문 하나

안녕하세요? 질문이 있는데요…

동별 인구자료가 있는데 비슷한 동네의 인구끼리 합산을 하는 방법이 없을까요?

무슨 방법이 있을 것 같은데, 지금은 이거 완전히 노가다로 하고 있습니다.

아시면 꼭 부탁드립니다.

참고: 원문의 예제 표들은 워크시트 화면이 옮겨지면서 다른 셀의 내용(와일드카드 조건 목록, 설명 문장)이 표 칸에 섞여 있고 콤보박스도 표시되지 않습니다. 그래서 예제 데이터, 조건 목록, 수식, 설명 문장을 나누어 정리했습니다. 표 안의 셀 주소(E14:E27, C38, B65:B80 등)는 원본 워크시트 기준입니다.

동명 가구수
서울시 마포구 원효로 1가 5000
서울시 마포구 원효로 2가 8500
서울시 영등포구 신길1동 6000
서울시 영등포구 신길2동 7000
서울시 영등포구 신길3동 6800
서울시 영등포구 신길4동 6300
서울시 영등포구 신길5동 7000
서울시 영등포구 신길6동 8000
서울시 영등포구 신길7동 8300
서울시 동작구 신대방1동 5000
서울시 동작구 신대방2동 5500
서울시 동작구 신대방3동 5400
서울시 용산구 한강로1가 10000
서울시 용산구 한강로2가 11000
계 =SUM(E14:E27)

구 단위 합산에 사용하는 와일드카드 조건 목록(G18:G21)은 서울시 마포구*, 서울시 영등포구*, 서울시 동작구*, 서울시 용산구* 네 가지입니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

SUMIF 함수 응용 예제 두 가지

핵심 요약

  • SUMIF의 조건에 와일드카드를 사용하면 주소 문자열에서 같은 구 단위의 가구수를 한 번에 합산할 수 있습니다.
  • 콤보박스와 INDEX를 연결하면 사용자가 선택한 행정구역에 따라 SUMIF 조건을 동적으로 바꿀 수 있습니다.
  • 날짜 조건에는 & 연산자를 함께 사용해 기준일에서 30일 이내와 같은 기간 조건의 합계도 계산할 수 있습니다.

위와 같은 표가 있다고 할 때, 區 단위로 가구수를 합산하고 싶다는 질문이시지요? Sumif() 함수는 예전에 다 배우셨으므로 이것을 약간 응용하시면 됩니다. 아래의 콤보 박스에서 원하는 항목을 선택하고 "가구수" 부분을 살펴보세요.

행정구역 선택(콤보박스 연결값, B38) 선택된 조건(C38) 가구수
1 =INDEX(G18:G21,B38) =SUMIF(B14:D27,C38,E14:E27)

콤보박스를 통해 "구"를 선택하니까 실시간으로 가구수가 구해지지요? 어떤 공식이 들어 있는지 살펴볼까요?

=SUMIF(B14:D27,C38,E14:E27)

콤보박스를 마우스 오른쪽 버튼으로 클릭하신 다음, "컨트롤 서식" 대화상자에서 "입력 범위"나, "셀 연결"이 어떻게 설정이 되었는지 확인해 보시기 바랍니다. 여기서 C38셀은 콤보박스 뒤에 숨겨져 있으며, 와일드 카드를 사용하였다는 점이 핵심입니다. 즉,

=SUMIF(B14:D27,"서울시 마포구*",E14:E27)

이런 식으로 조건부에 와일드 카드를 사용할 수 있는 것입니다.

질문 두울

… (중략) 실적 집계표가 있는데 오늘날짜를 기준으로 한달 이내의 자료들에 대해서만

합산을 하려면 어떻게 해야 하는지요?

지금까지는 sum 함수를 써서 일일이 더하고 있는 형편입니다.

어떤 함수가 있다고 하는데 잘 되지 않고… 회사 고참들도 잘 가르쳐 주지 않습니다.

수고하세요.

일자 매출액
2000-01-10 2000
2000-01-20 500
2000-01-31 3900
2000-02-29 5900
2000-10-15 9300
2000-10-01 7700
2000-11-10 6300
2000-05-31 4500
2000-09-10 3100
2000-09-15 9800
2000-09-30 2100
2000-10-25 5800
2000-06-15 7600
2000-06-30 7200
2000-07-20 900
2000-08-30 8000
총계 =SUM(C65:C80)

이것도 참으로 우리가 고쳐나가야 할 큰 문제입니다.

"회사 고참들도 잘 가르쳐 주지 않는다"고 하셨는데 비단 이 분의 회사만 그런 것은 아닐 것입니다.

우리는 자기가 가진 것을 죽어도 남에게 주지 않는 아주 못된 버릇이 있습니다. 좁은 땅덩이에 많은 사람들이 살다보니 경쟁이 치열해서 인지 몰라도...

그래서 누가 갑자기 다른 부서로 발령이 나거나 해외로 출장이라도 가면 업무가 마비 될 지경에 이르는 경우도 있을 것입니다. 그렇다고 변변한 업무 매뉴얼이 있는 것도 아니고…

이래서는 안되지요. 자기가 알고있는 것을 남에게도 알려 주어야 과거의 지식으로부터 자유로와 집니다. '이건 어렵게 얻은 것이니까 나만 알고 있어야지' 하다간 우물안 개구리 신세를 절대로(!) 벗어나지 못합니다. "전문 바보"가 되고 맙니다.

이와 같은 자료가 있다고 가정하고 아래의 기준일자 입력난에 원하시는 날짜를 입력해 보시기 바랍니다. 날짜를 입력하실 때에는 YY/MM/DD 형태로 입력하세요.

기준일자 입력 매출액
2000-11-04 =SUMIF(B65:B80,">="&B89-30,C65:C80)

입력한 기준일자에서 30일 이내에 해당되는 자료들의 매출액합계가 구해지지요? Sumif() 함수를 아래와 같은 형태로 구성할 수도 있습니다.

=SUMIF(B65:B80,">=" & B89-30,C65:C80)

이처럼 Sumif() 함수의 조건 부분에 & 연산자와 여러 가지 다른 조건들을 조합을

해서 사용할 수도 있습니다. 질문하신 분은 오늘날짜를 기준으로 30일 이내의 자료들에 대해 합산하고 싶다고 하셨으니까 수식을,

=SUMIF(B65:B80,">=" & Today()-30,C65:C80)

이런 식으로 바꾸어 주시면 되겠습니다. 많이들 응용해 보시기 바랍니다.

다음 시간에…

2000-11-08

정리 — SUMIF 함수 응용 예제 두 가지

구분내용
구 단위 합산=SUMIF(B14:D27,C38,E14:E27) — C38에 와일드카드 조건(예: 서울시 마포구*)이 들어감
조건 직접 입력=SUMIF(B14:D27,"서울시 마포구*",E14:E27)
콤보박스 연동콤보박스의 셀 연결 값을 =INDEX(G18:G21,B38)로 조건 문자열로 바꿔 사용
최근 30일 합계 (기준일 입력)=SUMIF(B65:B80,">="&B89-30,C65:C80)
오늘 기준 30일기준일 자리에 Today() 사용: =SUMIF(B65:B80,">="&Today()-30,C65:C80)

자주 묻는 질문 (FAQ)

Q1. 동 단위 자료를 구 단위로 합산하려면 어떻게 하나요?

SUMIF 함수의 조건에 와일드카드를 사용합니다. 서울시 마포구* 처럼 지정하면 마포구로 시작하는 모든 동의 가구수가 합산됩니다.

Q2. 콤보박스로 고른 구의 합계를 바로 보려면 어떻게 하나요?

콤보박스의 셀 연결 값을 INDEX 함수로 조건 문자열로 바꾸고, 그 셀을 SUMIF의 조건으로 지정하면 선택할 때마다 합계가 바뀝니다.

Q3. 기준일로부터 30일 이내의 합계는 어떻게 구하나요?

기준일에서 30을 뺀 날짜 이상이라는 조건을 문자열 연결로 만들어 SUMIF에 사용합니다. 오늘 기준으로 하려면 기준일 자리에 TODAY 함수를 넣으면 됩니다.

마치며

SUMIF 함수의 조건에는 와일드카드와 연결 연산자를 조합할 수 있으니 여러 상황에 응용해 보시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.