19편 노션 수식 2.0 마스터하기: IF 조건문과 날짜 함수를 활용한 디데이(D-Day) 및 마감 임박 시각 알림 구축

 


노션 데이터베이스를 활용해 일정과 대금을 관리하다 보면, 텍스트나 날짜를 단순히 입력하는 단계를 넘어 시스템이 나에게 실시간으로 위기 상황을 경고해 주기를 바라게 됩니다. 마감일이 사흘 앞으로 다가오면 노란색 주의 표시를 띄우고, 마감 당일이나 당일을 지나치면 빨간색 사이렌 마크와 함께 "마감 임박" 또는 "지연"이라는 직관적인 텍스트를 보여주는 시스템입니다.

안녕하세요, 프리랜서의 디지털 서재를 가꾸는 북클러크입니다. 많은 자영업자와 프리랜서분들이 노션의 '수식(Formula)' 기능에 도전했다가 복잡한 괄호 배열과 코딩 같은 문법에 장벽을 느끼고 포기하곤 합니다. 특히 2023년 하반기에 노션 수식 엔진이 '수식 2.0'으로 대대적으로 업데이트되면서 기존 문법들이 작동하지 않아 혼란을 겪은 분들이 많습니다. 하지만 수식 2.0은 오히려 자바스크립트처럼 직관적인 함수 체이닝 방식을 도입하여 원리만 알면 훨씬 정교한 계산식을 짤 수 있습니다. 오늘은 17편에서 가볍게 다루었던 대금 추적 수식을 응용하여, 내 프로젝트의 생명줄인 마감일을 실시간으로 추적하는 디데이 알림판을 빌드해 보겠습니다.


노션 수식 2.0이 이전 버전보다 강력하고 쉬워진 이유

이전의 노션 수식 1.0 버전에서는 엑셀처럼 함수 안에 함수를 중첩해서 넣어야 했습니다. 예를 들어 if(condition, true, if(condition2, true, false)) 같은 구조여서 조건이 조금만 복잡해져도 맨 뒤에 닫는 괄호를 몇 개 써야 하는지 헷갈려 에러가 발생하기 일쑤였습니다. 구글 검색 엔진이 단순 나열형 문서보다 논리적이고 단계적인 해결 방식을 제시하는 고품질 문서를 신뢰(EEAT)하는 것처럼, 노션 역시 수식을 다루는 논리 체계가 정교해야 완벽한 자동화 대시보드가 완성됩니다.

수식 2.0의 핵심 변화는 '점(.) 표기법(Dot Notation)'과 '변수 정의(let)'의 도입입니다. 이제 함수를 중첩할 필요 없이 날짜.dateAdd(3, "days") 처럼 뒤에 점을 찍어 함수를 이어 붙일 수 있습니다. 또한 수식 창이 여러 줄 입력을 지원하고 주석을 달 수 있게 되어, 프로그래밍을 모르는 비전공자도 한 줄씩 논리를 검증하며 에러 없는 수식을 완성할 수 있게 되었습니다.


마감 임박 디데이(D-Day) 시스템 구축을 위한 함수 3가지

프로젝트 마감일을 실시간으로 계산하기 위해 우리가 반드시 마스터해야 하는 필수 함수는 딱 세 가지입니다.

  1. now(): 현재의 날짜와 정확한 시각을 실시간으로 가져오는 함수입니다.

  2. dateBetween(): 두 날짜 사이의 간격이 며칠이나 몇 시간인지를 계산해 주는 함수입니다. 수식 2.0에서는 dateBetween(날짜1, 날짜2, "days") 형태로 쓰입니다.

  3. ifs(): 여러 개의 조건을 순차적으로 검사하여 처음으로 참이 되는 값을 출력하는 함수입니다. 이전의 복잡한 중첩 if문을 이 함수 하나로 대체할 수 있습니다.


실전에 바로 쓰는 3단계 마감 경고등 수식 설계

우리가 계속해서 업그레이드해 온 [진행 중인 프로젝트] 데이터베이스를 열고, '수식' 속성을 하나 추가한 뒤 이름을 [D-Day 알림]으로 변경합니다. 그리고 수식 편집 창에 아래와 같은 흐름으로 논리를 조립해 넣습니다.

  • 1단계: 오늘과 마감일 사이의 날짜 간격 계산하기 수식의 기준점을 잡기 위해 dateBetween(prop("마감일"), now(), "days")를 설정합니다. 만약 마감일이 오늘보다 뒤에 있다면 양수(+)가 나올 것이고, 마감일을 지나쳤다면 음수(-)가 산출될 것입니다.

  • 2단계: ifs 함수로 조건별 텍스트 매칭하기 이제 상태 속성이 '완료'가 아닐 때를 기준으로 세 가지 경고 단계를 설계합니다. 조건 1: 날짜 간격이 0보다 작다면 -> " 기간 초과 지연!" 조건 2: 날짜 간격이 0이거나 3일 이내라면 -> " 마감 임박 (D-" + 날짜간격 + ")" 조건 3: 날짜 간격이 그 이상 남아있다면 -> " 진행 원활 (D-" + 날짜간격 + ")"

  • 3단계: 완료된 프로젝트 예외 처리 추가하기 위 조건만 걸어두면 이미 작업을 다 끝내고 클라이언트에게 납품하여 '완료' 태그를 붙인 프로젝트에도 여전히 디데이 경고등이 켜져 있게 됩니다. 따라서 수식 가장 첫 줄에 if(prop("상태") == "완료", "미션 완료", ...) 라는 방어 조건을 최우선으로 심어주어야 합니다.

이렇게 세팅을 마치면 내가 프로젝트의 진행 상황을 바꿀 때마다, 그리고 매일 날짜가 흐를 때마다 노션 봇이 알아서 "진행 원활"에서 " 마감 임박"으로 경고 마크를 바꾸어 줍니다. 출근 직후 이 알림판만 필터링해서 보면 오늘 당장 내가 목숨 걸고 끝내야 하는 작업이 무엇인지 인지적 에너지 소모 없이 즉각적으로 파악할 수 있습니다.


수식 작동 오류를 방지하는 실무 주의사항

노션 수식을 다룰 때 가장 빈번하게 발생하는 에러는 '데이터 타입(형식) 불일치'입니다. 수식 2.0은 형식을 매우 엄격하게 따집니다. 예를 들어 "D-"라는 텍스트와 계산된 날짜 숫자(3)를 결합할 때, 숫자를 그대로 더하면 에러가 납니다. 문자와 숫자는 합칠 수 없기 때문입니다. 이때는 숫자를 문자로 강제 변환해 주는 format() 함수를 씌워주거나, 수식 2.0 문법에 맞게 문자열 템플릿을 활용해야 오류 없이 깔끔한 경고 문구 시스템이 작동합니다.

또한 now() 함수는 페이지를 새로고침하거나 노션 서버가 트리거될 때 실시간으로 리셋되므로, 가끔 화면을 켰을 때 1분 정도 디데이 숫자가 과거에 멈춰 있다면 상단 새로고침(Ctrl + R)을 눌러 브라우저 캐시를 깨워주는 것이 좋습니다.

도구의 노예가 되지 않고 도구의 주인이 되는 것은, 복잡한 연산과 감시의 영역을 시스템에 영리하게 위임하는 것에서 시작합니다. 오늘 마스터한 수식 2.0 엔진을 통해 내 비즈니스의 안전 가이드라인을 데이터베이스에 이식하고, 마감 압박의 불안감에서 벗어나 프로페셔널한 페이스를 유지해 보시기 바랍니다.


핵심 요약

  • 노션 수식 2.0은 점 표기법과 ifs 함수를 도입하여 복잡한 중첩 괄호 없이도 다단계 조건문 설계를 직관적으로 지원합니다.

  • now()dateBetween() 함수를 프로젝트 마감일 속성과 연동하면 잔여 일수에 따라 자동으로 경고 마크가 바뀌는 실시간 디데이 알림판을 구현할 수 있습니다.

  • 수식 적용 시 텍스트와 숫자가 결합할 때 발생하는 데이터 타입 오류를 방지하기 위해 format() 함수 등을 적절히 활용해야 안정적인 시스템 구동이 가능합니다.


 다음 편 예고

다음 20편은 본 프리랜서 업무 자동화 시리즈의 최종 심화장입니다. 소중하게 완성한 내 노션 대시보드의 아키텍처와 중요 비즈니스 자산이 외부로 유출되거나 훼손되지 않도록 보호하는 보안 가이드를 공유합니다. "디지털 서재의 보안관: 노션 페이지 무단 복제 방지와 중요 비즈니스 데이터 백업 주기 설정 가이드"에 대해 상세히 알아보겠습니다.

댓글 쓰기

0 댓글

신고하기

프로필

이미지alt태그 입력