workday.intl 함수에 international 이 붙어 있어 우리나라에서는 적용될 여지가 없는지 알았는데, 나름 쓸모가 있는 함수였습니다.
workday나 networkdays 함수는 주 5일제를 기준으로 날짜를 계산하는데, workday.intl 함수는 나라별로 또는 내 마음대로 요일제를 결정할 수 있습니다. 그래서, 국제적이라는 의미가 됩니다.
networkdays.intl함수는 networkdays 함수와 같이 순 근무일수를 구하는 함수인데, workday.intl처럼 주말을 지정할 수 있다는 점만 다르니 설명을 생략하겠습니다.
1. 구문
WORKDAY.INTL(start_date, days, [weekend], [holidays])
start_date : 시작일
days : 일수로서 양수면 미래 날짜, 음수면 과거 날짜, 0이면 시작일을 표시합니다.
weekend : 주말이란 의미로 여기서 주말을 정할 수 있습니다. 생략하면 토,일요일이 주말이 되기 때문에 workday 함수와 동일한 결과가 됩니다.
weekend 숫자 | 요일 |
1 또는 생략 | 토요일, 일요일 |
2 | 일요일, 월요일 |
3 | 월요일, 화요일 |
4 | 화요일, 수요일 |
5 | 수요일, 목요일 |
6 | 목요일, 금요일 |
7 | 금요일, 토요일 |
11 | 일요일만 |
12 | 월요일만 |
13 | 화요일만 |
14 | 수요일만 |
15 | 목요일만 |
16 | 금요일만 |
17 | 토요일만 |
그러나, 11로 지정하면 일요일만 휴일이 되기 때문에 월요일부터 토요일까지 근무하는 주 6일제가 됩니다.
11을 외우기 어려우면 "0000001"식으로 문자열로 입력해도 됩니다.
요일이 월요일부터 시작하므로, 일요일은 일곱번째가 되며, 1은 휴일, 0은 근무일을 의미하므로 일요일만 휴일이 되는 것입니다. 그렇다면 다른 요일도 마찬가지가 되겠지요. 이게 외우기 쉬울 듯 합니다.
holidays : 휴일은 부처님 오신 날, 추석 등 나라별로 다른 휴일을 추가하기 위한 기능입니다. 이것은 workday함수와 동일하므로 아래 설명을 참고하기 바랍니다.
https://lsw3210.tistory.com/41
2. 적용
예를 들어 6월2일에서 4일째가 토요일인데,
이 날짜를 제외하지 않겠다고 하면 세번째 인수로 11을 주면 되므로,
=workday.intl(1,4,11) 라고 입력하면 됩니다.
문자열로 입력한다고 하면, 아래와 같이 =WORKDAY.INTL(A1,4,"0000001") 라고 입력하면 됩니다.
만약 수요일과 목요일이 휴일이라고 할 때, 표를 보면 5인데 어려우므로 "0011000"이라고 입력하면 편합니다.
수요일과 목요일이 휴일이므로, 이틀째가 토요일인 6월6일이 됩니다.
세번째 인수로 5를 입력해도 결과가 동일함을 알 수 있습니다.
3. 한글 번역의 문제점
WORKDAY.INTL 함수
이 문서에서는 수식 구문 및 WORKDAY 사용법에 대해 설명 합니다. 국제 함수 사용자 지정 주말 매개 변수를 사용하여 지정된 작업일수 이전 또는 이후 날짜의 일련 번호를 반환 합니다.
support.microsoft.com
한글 설명을 보면 1은 근무일, 0은 근무시간을 나타낸다고 하면서, 아래 예시는 "0000011이 토요일과 일요일이 주말임을 나타낸다"고 하여 이상해서
영문으로 변환후 확인해 보니, "1은 비근무일, 0은 근무일을 나타낸다"고 되어 있네요. 왜 한글 번역이 이럴까요? 이래서 영어를 배워야 하는건가요?
원어(영어)로 보려면, 위 페이지 맨 아래로 내려가서 왼쪽에 한국어(대한민국)이라고 표시된 부분을 클릭하면
아래와 같이 여러 가지 언어가 표시되어 그 중에 원하는 것을 클릭하면 됩니다. English(United States)를 눌러보겠습니다.
아래와 같이 영어로 표시됩니다. 잘은 몰라도 이것이 더 이해가 쉬운 느낌입니다.