• 최초 작성일: 2025-01-28
  • 최종 수정일: 2026-09-23
  • 조회수: 21 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 출고일 주말 자동 조정

들어가기 전에

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

어느 물류회사가 있습니다. 주문을 받으면 3일 이내에 자동으로 출고예정일이 지정됩니다. 그런데 출고일자가 주말인 경우 그 다음 주 월요일에 배송되도록 출고일자가 조정되어야 한다고 합니다. 어떻게 하면 될까요?

출고예정일 목록 중 토요일·일요일에 해당하는 행이 강조된 표
아이엑셀러

Weekday 함수의 특성을 이용하면 간단하게 해결할 수 있습니다.

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

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

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


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

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

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

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

출고일이 주말이면 다음 월요일로 자동 변경하기

핵심 요약: WEEKDAY로 주말 출고일 조정하기

WEEKDAY(날짜,1)은 일요일을 1, 토요일을 7로 반환합니다. 결과가 7(토)이면 +2일, 1(일)이면 +1일을 더하면 출고예정일이 항상 월요일 이후 평일로 조정됩니다.

  • 1단계: G열에 WEEKDAY(D3,1)로 요일 번호 계산
  • 2단계: G3:G22로 채우기 핸들 복사
  • 3단계: E열에 IF+WEEKDAY로 토(+2)/일(+1) 보정
  • 대안: 보조 열 없이 WEEKDAY를 IF 안에 바로 중첩해도 동일

① G3 셀에 '=WEEKDAY(D3, 1)'이라고 입력하고 <Enter> 키를 누릅니다.

Weekday 함수는 지정한 날짜의 요일에 해당하는 숫자를 구해줍니다. 두 번째 인수(return_type)를 1로 지정(또는 생략)하면 1(일요일), 2(월요일),..., 7(토요일) 사이의 숫자를 반환합니다.

셀에 '=weekday(d3,'를 입력하면 팝업 창이 나타나므로 return_type 인수에 대한 자세한 정보를 얻을 수 있습니다.

WEEKDAY 함수 입력 시 나타나는 인수 설명 팝업
아이엑셀러

② 여기서는 G3 셀에 그냥 '=weekday(d3)'이라고 입력합니다. 그런 다음 셀 우측 하단의 까만점(채우기 핸들)을 이용하여 수식을 G22 셀까지 복사합니다.

채우기 핸들로 G3부터 G22까지 WEEKDAY 결과를 복사한 모습
아이엑셀러

③ E3 셀에 다음 수식을 입력하고 수식을 아래로 복사합니다.

=IF(G3=7,D3+2,IF(G3=1,D3+1,D3))

참고: 수식 정정

원문에는 이 수식이 =IF(G3=6,D3+2,IF(G3=7,D3+1,D3))로 되어 있었으나, 바로 다음 문단의 설명("결과값이 7이면 토요일이니까 +2, 1이면 일요일이니까 +1")과 맞지 않았습니다. return_type=1 기준으로 7이 토요일, 1이 일요일이므로 위와 같이 G3=7 → D3+2, G3=1 → D3+1로 정정하였습니다.

원리는 간단합니다. Weekday(날짜, return_type)의 결과값이 7이면 토요일이니까 출고예정일에 2(이틀)를 더하고, 1이면 일요일이므로 출고예정일에 1(하루)을 더해주면 됩니다.

만약 수식을 나누어 작성하는 것이 오히려 번거롭다면 E3 셀에 아래 수식을 입력하고 수식을 복사하세요.

=IF(WEEKDAY(D3)=7,D3+2,IF(WEEKDAY(D3)=1,D3+1,D3))

참고: 수식 정정

원문에는 =IF(WEEKDAY(D3)=7,D3+2,IF(WEEKDAY(D3=1,D3+1,D3))로 되어 있었으나, 두 번째 WEEKDAY 함수의 괄호가 닫히지 않고 D3=1이 함수 인수 안에 잘못 들어가 있어 그대로는 오류가 발생합니다. WEEKDAY(D3)=1로 괄호 위치를 바로잡아 위와 같이 정정하였습니다.

함수는 하나를 알더라도 함수의 성질머리를 속속들이 알고 있어야 응용력이 생깁니다.

참고: 이미지에 대하여

이 글은 원래 네이버 포스트에 게재되었던 글로, 네이버 포스트 서비스 종료로 네이버 블로그로 옮기는 과정에서 원본 이미지가 소실되었습니다. 위 이미지는 본문 설명을 바탕으로 재구성한 예시 화면이며, 실제 엑셀 화면과 세부 디자인은 다를 수 있습니다.

정리 — WEEKDAY로 주말 출고일 조정하기

WEEKDAY 결과(return_type=1) 요일 보정
7 토요일 +2일 → 월요일
1 일요일 +1일 → 월요일
2~6 월~금요일 보정 없음

자주 묻는 질문 (FAQ)

Q1. WEEKDAY 함수의 return_type 1은 어떤 값을 반환하나요?

return_type을 1로 지정하거나 생략하면 일요일이 1, 월요일이 2, ..., 토요일이 7로 반환됩니다.

Q2. 출고예정일이 주말이면 왜 월요일로 조정해야 하나요?

물류회사가 주말에는 배송하지 않는 경우, 출고예정일이 토요일이나 일요일로 계산되면 실제로는 그다음 평일(월요일)에 처리해야 하기 때문입니다.

Q3. 토요일과 일요일에 각각 며칠을 더해야 하나요?

WEEKDAY 결과가 7(토요일)이면 이틀을 더해야 월요일이 되고, 1(일요일)이면 하루만 더하면 월요일이 됩니다.

마치며

VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.