<aside> ❗ 주의: 주말만 걸러내고, 추석, 설날 등의 공휴일은 해당되지 않습니다.
</aside>
<aside> ❗ 속성의 이름은 가급적 그대로 써주시되, 수식이 적용된 이후에는 바꾸셔도 상관없습니다.
</aside>
<aside> <img src="/icons/stars_blue.svg" alt="/icons/stars_blue.svg" width="40px" /> 시작일 기준 Workday 함수 구현 방법
사용되는 속성 종류는 이렇습니다.
Start: 시작일. 날짜 속성.
days: 근무 일수. 숫자 속성
End Date: 근무 일수를 계산한 마지막 근무일자. 수식 속성을 만들어 하단의 함수를 복사/붙여넣기 하세요.
lets(
시작일, prop("Start"), /* 시작 날짜 */
시작요일, toNumber(시작일.formatDate("d")), /* `시작일`의 요일, 숫자 형식으로 변환 */
days, prop("days")-1, /* 총 일수에서 하루를 뺀 값 */
/* `시작요일`이 주말일 때, 추가 일수 */
추가일수, if(시작요일 == 0, 1, 시작요일 == 6 ? 2 : 0),
/* 주어진 `days`가 5일 이상인 경우, 주말 일수 계산*/
주말일수, if(days>=5, floor(days/5)*2, 0),
/* `시작일`에 `주말일수`와 `추가일수`를 포함한 총 일수를 더한 날짜 */
확인날짜, 시작일.dateAdd(days + 주말일수 + 추가일수, "days"),
/* `확인날짜`의 요일. 숫자 형식으로 반환*/
확인요일, toNumber(확인날짜.formatDate("d")),
/*확인 날짜가 주말인지 확인하고 조정*/
if(
not empty(prop("days")),
/* `확인날짜`가 주말인 경우, 2일 추가하고, 평일이면 유지*/
if(
확인요일 == 6 || 확인요일 == 0,
확인날짜.dateAdd(2,"days"),
확인날짜
),
"day를 입력해주세요."
)
)
</aside>
<aside> <img src="/icons/stars_blue.svg" alt="/icons/stars_blue.svg" width="40px" /> 시작일-종료일 사이 Workday 일수 구하기
사용되는 속성 종류는 이렇습니다.
Start: 시작일. 날짜 속성
End: 종료일. 날짜 속성
Workdays: 계산된 근무일수. 수식 속성을 만들어 아래 함수를 복사/붙여넣기 하시면 됩니다.
prop("Start") < prop("End")
?
ceil(
dateBetween(
prop("End"), prop("Start"), "hours"
) / 24
) - (
floor(
ceil(
dateBetween(
prop("End"), prop("Start"), "hours"
) / 24
)/ 7
) * 2
) - (
toNumber(
formatDate(prop("Start"), "d")
)
-
toNumber(
formatDate(prop("End"), "d")
) >= 1
?
2 : 0
) - (
(
toNumber(
formatDate(prop("Start"), "d")
) == 0 &&
toNumber(
formatDate(prop("End"), "d")
) != 6
) || (
toNumber(
formatDate(prop("End"), "d")
) == 6 &&
toNumber(
formatDate(prop("Start"), "d")
) != 0
)
?
1 : 0
) - (
toNumber(formatDate(prop("Start"), "d"))
-
toNumber(formatDate(prop("End"), "d")) == -6
?
2 : 0
)
+ 1
: toNumber("")
</aside>
잘 모르시는 부분이 있다면 언제든 질문이나 문의주세요😊
<aside> 🦔 노킹 :: 노션 질문 오픈카톡방 | 블로그 | 뉴스레터 | 링크드인 | 후원
</aside>
Copyright 2024. 노킹 all rights reserved