노션 수식: 남은 날짜 자동 계산을 위한 수식 코드 활용 방법
24. 11. 27.
이번에 프로젝트 관리하면서 마감일까지 남은 날짜를 자동으로 계산해주고 싶은데, 그러기 위해 요일에 따라 일수 계산하는 방법이 있을까요?
요일에 따라 남은 일수를 계산하려면 아래 수식 코드를 사용하세요. 이 코드는 각 요일을 숫자로 변환하고, 현재 요일과 비교하여 남은 날짜를 계산합니다!
수식 코드
lets(
today, if(now().day() != 7, now().day(), 0),
day, ifs(
prop("요일")=="일요일", 0,
prop("요일")=="월요일", 1,
prop("요일")=="화요일", 2,
prop("요일")=="수요일", 3,
prop("요일")=="목요일", 4,
prop("요일")=="금요일", 5,
prop("요일")=="토요일", 6
),
between, if(day != today, day - today, 7),
delta, if(day >= today, between, 7 - (today - day)),
result, if(prop("요일"), now().dateAdd(delta, "days"), fromTimestamp(toNumber(""))),
result.formatDate("YYYY-MM-DD").parseDate()
)
간략한 설명
노션 수식 코드 설명
1. 변수 정의
- `today`: 현재 날짜의 요일을 구함. 일요일인 경우 0을 반환.
- `day`: 사용자가 지정한 '요일' 프로퍼티에 따라 요일 숫자를 매핑.
- `between`: 현재 요일과 지정된 요일 간의 차이를 계산.
- `delta`: 요일이 오늘보다 같거나 클 경우 차이를 반환, 그렇지 않으면 7에서 차이를 빼서 반환.
- `result`: 최종 계산된 날짜를 반환하며, 요일 프로퍼티가 있을 경우 날짜에 delta를 더함.
2. 날짜 형식 지정
- `result.formatDate("YYYY-MM-DD").parseDate()`: 결과를 "YYYY-MM-DD" 형식으로 변환하고 날짜 객체로 파싱.