• 최초 작성일: 2000-03-04
  • 최종 수정일: 2026-09-29
  • 조회수: 37 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 날짜 조건으로 합계 구하기

들어가기 전에

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

질문 하나

…(중략)… 저혼자 아무리 해봐도 모르겠네요. 책을 봐도 물론 없구요.

sumif 함수에서 문자필드를 검색할 때에는, 예를 들어 성이 "김"씨인 사람을 검색할려면

"김*"과 같이 지정해주면 되는데…

날짜필드를 검색할 때에는 어떻게 해야 하는지 모르겠군요. 날짜필드 중에서 1월에

해당하는 값만 sumif 함수를 써서 더하고자 하는 경우에는 어떻게 해야 할까요?

저좀 도와 주십시오(어라? 질문에 답해 달랬더니 뭘 도와달라는 것이여~~).

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

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

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


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

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

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

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

날짜 조건으로 합계 구하기

핵심 요약

  • TEXT 함수로 날짜를 연/월 문자열로 바꾸면 특정 월인지 비교할 수 있습니다.
  • 조건 비교 결과 TRUE와 FALSE는 배열 계산에서 1과 0처럼 사용되어 합계 대상 값을 걸러냅니다.
  • SUM과 조건 배열을 곱한 배열수식으로 원하는 월의 금액만 합계할 수 있습니다.

어떠한 질문이라도 괜찮고 어느 시간대에 질문하셔도 상관이 없습니다.

단 한가지, 질문을 하실 때 가급적이면 상세하게, 그리고 기밀을 요하는 사항이 아니라면 실제 파일도 함께 보내주시면 좋겠습니다. 그래야 예제파일 만드느라 소비할 시간을 아껴서 새로운 걸 하나라도 더 소개해 드릴 수 있을 테니까요.

위 질문하신 분도 실제 파일을 안보내 주셨으니 우선 예제 파일을 하나 만들고… (에구 힘듬!)

참고: 원문의 이 표는 워크시트 화면을 옮긴 것으로, 표 오른쪽 칸에 들어 있던 설명 문장과 1월~3월 합계 결과는 표 아래로 옮겼습니다. 그에 맞추어 "왼쪽과 같은"은 "위와 같은"으로 바꾸었습니다. 표의 값으로 직접 더해 보아도 합계는 같습니다.

28 B C D
29 월 브랜드 판매금액
30 00/1 미로 198,000
31 00/2 아이오페 210,000
32 00/1 아이오페 210,000
33 00/3 미로 237,600
34 00/2 아이오페 262,500
35 00/1 아이오페 297,500
36 00/1 아이오페 367,500
37 00/2 미로 415,800
38 00/1 미로 415,800
39 00/2 마몽드 436,600
40 00/1 마몽드 466,200
41 00/1 라네즈 473,200
42 00/1 미로 475,200
43 00/1 미로 495,000
44 00/2 미로 501,600
45 00/1 아이오페 507,500
46 00/3 아이오페 542,500
47 00/1 미로 574,200
48 00/2 미로 620,400
49 00/2 미로 627,000

위와 같은 소스파일을 가지고서 아래와 같은 결과를 얻고싶다 이런 질문이시지요?

1월 합계 4,480,100
2월 합계 3,073,900
3월 합계 780,100

1월 합계 부분의 셀에는 이런 공식이 들어 있습니다.

{=SUM((TEXT(B30:B49,"yy/mm")="00/1")*D30:D49)}

참고: TEXT 함수의 서식 코드 yy/mm은 1월을 00/01처럼 월을 두 자리로 표시합니다. 그러므로 비교값을 "00/1"로 쓰려면 서식 코드를 "yy/m"으로, 서식 코드를 "yy/mm"으로 두려면 비교값을 "00/01"로 써야 두 값이 일치합니다.

① 일단 중괄호({})로 둘러져 있으니 배열수식을 사용한 것이고… ② 수식이 길면 안쪽부터 분해해서 보라고 힌트를 드렸지요. 수식이 입력된 요 셀로 셀포인터를 옮기고 <F2>키를 누른후 수식입력바로 가서 TEXT(B30:B49,"yy/mm")="00/1") 부분을 범위로 잡고 <F9>키(→아주 오래 전에 설명드린 즉석 계산 기능이지요)를 누르면 아래와 같은 얄궂은 화면이 나타납니다.

날짜 조건으로 합계 구하기 예제 화면 1
아이엑셀러

이게 대체 먼 소릴까?

TEXT(B30:B49,"yy/mm")="00/1") 부분은 "B30,B31,B32,…B49 셀 중에서 년월이 "00/1"인 것을 지정하는 것입니다. 즉 B30셀은 1월이 맞으니까 TRUE이고 B31은 2월이니까 FALSE, B32셀은 1월이니까 TRUE… 이렇게 B49까지 모두 검사해서 TRUE, FALSE 여부를 일일이 따지는 것이지요.

참 친절하게 설명 잘한다!! Exceller는 처음 이것을 이해하는데 일주일 걸렸습니다. 아마 어떤 책을 사서 보시더라도 이렇게 상세히 설명해 놓은 경우는 찾기가 쉽지 않을 것입니다.

③ 그 다음에 "D30:D49" 부분을 선택하고 마찬가지로 <F9>키를 눌러 보세요.

날짜 조건으로 합계 구하기 예제 화면 2
아이엑셀러

이상한 숫자가 뜨는데... 자세히 살펴보니 바로 D30 ~ D49 각각의 셀에 들어있는 자료값이지요? 여기서 중요한 사실 한 가지! 사실 위에서 장황하게 설명한 것 다 몰라도 이것 한가지만 건지면 오늘 본전은 뽑은 것입니다.

컴퓨터는 모든 자료를 0과 1의 조합, 즉 디지털 신호화해서 받아들인다는 것은 다들 아시는 사항일테고, 모든 소프트웨어(하드웨어도 마찬가지)에서 0은 False를, 1은 True를 나타냅니다.

④ 이상을 요약해 보면,

28 B C D
29 월 브랜드 판매금액
30 00/1 미로 198,000
31 00/2 아이오페 210,000
32 00/1 아이오페 210,000
33 00/3 미로 237,600
34 00/2 아이오페 262,500
35 00/1 아이오페 297,500
. . . . . . . . .
49 00/2 미로 627,000

B30셀은 1월 이니까 TRUE, 즉 1, 1에다 198000을 곱하면 198000

B31셀은 2월 이니까 FALSE, 즉 0, 0에다 210000을 곱하면 0

B32셀은 1월 이니까 TRUE, 즉 1, 1에다 210000을 곱하면 210000

B33셀은 3월 이니까 FALSE, 즉 0, 0에다 237600을 곱하면 0

B34셀은 2월 이니까 FALSE, 즉 0, 0에다 262500을 곱하면 0

B35셀은 1월 이니까 TRUE, 즉 1, 1에다 297500을 곱하면 297500

……………………………………………………………………

B49셀은 2월 이니까 FALSE, 즉 0, 0에다 627000을 곱하면 0

⑤ 이렇게 일련의 과정을 통해 월이 "1월"인 것만 더하라는 명령어가

{=SUM((TEXT(B30:B49,"yy/mm")="00/1")*D30:D49)}

인 것입니다.

2월, 3월의 합계를 구하려면 요 부분을 "00/2", "00/3"으로 고쳐주면 되겠지요? 분량이 좀 많지만 몇번만 들여다 보면 감이 팍~~ 올 것입니다.

다음에 또…

정리 — 날짜 조건으로 합계 구하기

구분내용
문제날짜 필드에서 특정 월에 해당하는 값만 합계
수식{=SUM((TEXT(B30:B49,"yy/mm")="00/1")*D30:D49)}
조건 부분TEXT 함수로 날짜를 연/월 문자열로 바꿔 특정 월과 비교하여 TRUE/FALSE 배열 생성
계산 원리TRUE는 1, FALSE는 0이므로 금액 배열과 곱하면 해당 월의 금액만 남음
다른 월비교값을 00/2, 00/3으로 변경
예제 결과1월 4,480,100 / 2월 3,073,900 / 3월 780,100

자주 묻는 질문 (FAQ)

Q1. 날짜 필드에서 특정 월의 합계는 어떻게 구하나요?

TEXT 함수로 날짜를 연/월 형태의 문자열로 바꿔 원하는 월과 비교하고, 그 결과에 금액 범위를 곱해 SUM 함수로 더하는 배열수식을 사용합니다.

Q2. TRUE와 FALSE에 금액을 곱하는 이유는 무엇인가요?

컴퓨터는 TRUE를 1, FALSE를 0으로 받아들이므로 곱하면 조건에 맞는 금액만 남고 나머지는 0이 됩니다.

Q3. 2월이나 3월의 합계는 어떻게 구하나요?

비교하는 값을 각각 00/2, 00/3으로 고쳐 주면 됩니다.

마치며

조건에 맞는 값만 남기는 원리를 이해하면 월별뿐 아니라 다양한 조건의 합계에도 응용할 수 있습니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.