앞선 10편에서 관계형과 롤업을 활용해 흩어진 업무 데이터를 하나로 묶는 거대한 정보 허브를 구축해 보았습니다. 페이지 이동 없이 한 화면에서 모든 맥락을 파악할 수 있게 되었으니 업무 효율이 눈에 띄게 올라갔을 것입니다. 하지만 노션 데이터베이스의 잠재력을 200% 끌어올리기 위한 마지막 관문이 남아 있습니다. 바로 '수식(Formula)' 속성입니다. 많은 입문자가 '수식'이라는 단어와 프로그래밍 코드 같은 입력창을 마주하는 순간 겁을 먹고 포기하곤 합니다.
처음 수식 기능을 접했을 때 저 역시 그랬습니다. 엑셀 함수도 겨우 쓰는데 노션 수식은 콤마 하나, 괄호 하나만 틀려도 빨간색 에러 메시지를 뿜어내니 머리가 아팠습니다. 그래서 굳이 수식을 쓰지 않고 마감일을 눈으로 보며 "오늘이 3일이니까 남은 날짜가 계산해 보면..." 하며 아날로그 방식으로 일정을 체크했습니다. 하지만 프로젝트가 10개 이상으로 늘어나자 어떤 업무가 가장 시급한지 직관적으로 판단하기 어려워졌고, 결국 중요한 마감일을 놓치는 실수를 저지르고 말았습니다. 노션의 수식은 어렵게 접근할 필요가 없습니다. 실무에서 가장 자주 쓰는 '디데이'와 '진행률 바' 이 두 가지만 확실히 내 것으로 만들면 업무 공간의 가시성이 완전히 달라집니다. 가장 직관적이고 쉬운 방법으로 수식의 기초를 정복해 보겠습니다.
1. 수식의 첫걸음: 디데이(D-Day) 계산으로 마감일 긴장감 늦추지 않기
업무 관리에서 가장 중요한 것은 "이 일이 언제 끝나는가"보다 "그래서 오늘 기준으로 며칠이 남았는가"입니다. 마감일 날짜만 적혀 있으면 오늘 날짜와 대조해 보는 인지적 비용이 듭니다. 수식을 이용해 남은 일수를 실시간 숫자로 띄워 두면 출근하자마자 어떤 일에 화력을 집중해야 할지 즉각적으로 판단할 수 있습니다.
디데이를 계산하기 위해서는 데이터베이스에 [마감일]이라는 날짜 속성이 미리 존재해야 합니다. 그다음 새로운 속성을 추가하고 유형을 '수식'으로 선택합니다. 편집 창이 뜨면 노션 2.0 수식 기준 아래의 원리를 기억하면 됩니다.
[디데이 수식 원리] dateBetween(prop("마감일"), now(), "days")
이 수식은 쉽게 말해 "마감일과 지금(now)의 시간 차이를 일(days) 단위로 계산해 줘"라는 명령어입니다. 이렇게 설정하면 마감일이 오늘로부터 5일 남았다면 '5', 사흘이 지났다면 '-3' 같은 숫자가 자동으로 찍힙니다.
여기에 시각적인 효과를 조금 더 더하고 싶다면 조건문(if)을 살짝 얹을 수 있습니다. 마감일이 지났을 때는 "🔥 기한 초과", 오늘이 마감이라면 "🚨 오늘 마감", 남았다면 "D-5" 형태로 텍스트가 나오게 분기 처리를 해두면 업무 데이터베이스를 볼 때 긴장감의 차원이 달라집니다.
2. 롤업 숫자를 내 입맛대로 가공하는 진행률 바(Bar) 구현하기
9편에서 우리는 롤업 속성을 이용해 하위 태스크의 완료 비율을 프로젝트 진행률로 끌어올렸습니다. 노션 자체 기능으로도 바(Bar) 형태를 제공하지만, 수식을 이용하면 내 업무 스타일에 딱 맞는 맞춤형 진행률 게이지를 직접 디자인할 수 있습니다. 예를 들어 텍스트 게이지 형태나 "▓▓▓░░░░░░░ 30%" 같은 클래식한 프로그레스 바를 만드는 것입니다.
수식 창에서 숫자를 시각적 텍스트로 바꾸는 핵심 원리는 '반복 출력'과 '올림/내림'입니다. 진행률 롤업 값이 0.4(40%)라면, 꽉 찬 네모(▓)를 4개 출력하고 빈 네모(░)를 6개 출력한 뒤 뒤에 "40%"라는 텍스트를 붙여주는 논리 구조입니다.
[진행률 바 수식 구조의 원리]
롤업된 진행률 숫자에 10을 곱해 정수로 만듭니다. (예: 0.42 -> 4.2 -> 반올림하여 4)
꽉 찬 기호를 그 정수만큼 반복합니다.
나머지 채워지지 않은 부분은 빈 기호로 채웁니다.
마지막에 문자열 결합 기능으로 수치(%)를 덧붙입니다.
노션의 수식 편집기는 내가 입력한 코드가 맞는지 실시간으로 하단에 결과물을 미리 보여주기 때문에, 에러 메시지가 뜨더라도 괄호의 짝이 맞는지 천천히 살펴보면 누구나 원하는 형태의 게이지를 완성할 수 있습니다. 내 데이터 구조에 맞춰 텍스트와 숫자가 유기적으로 결합하는 쾌감을 맛볼 수 있는 영역입니다.
3. 실무 수식 작성 시 가장 자주 하는 실수와 해결법
노션 수식을 다룰 때 화면이 멈추거나 빨간 에러 메시지가 뜨는 이유는 대개 두 가지 유형 때문입니다.
첫째는 '데이터 유형(Type)의 불일치'입니다. 노션은 숫자, 텍스트, 날짜, 불리언(체크박스) 등의 데이터 유형을 엄격하게 구분합니다. 예를 들어 디데이 계산 결과로 나온 '숫자 5' 뒤에 '일 남음'이라는 '텍스트'를 바로 더하려고 하면 에러가 납니다. 숫자를 텍스트로 변환해 주는 함수를 거치거나, 노션 수식 엔진이 형변환을 인지할 수 있도록 명확하게 묶어주어야 합니다.
둘째는 '빈 값(Empty Value) 처리 누락'입니다. 데이터베이스에 새로운 행을 추가하면 아직 [마감일]을 입력하지 않은 상태가 됩니다. 이때 수식이 빈 마감일을 계산하려고 시도하면 에러가 나거나 엉뚱한 날짜를 기준으로 디데이를 뽑아냅니다. 따라서 수식을 짤 때는 항상 "만약 마감일 속성이 비어 있다면 아무것도 표시하지 말고, 값이 있을 때만 계산해라"라는 예외 처리 조건을 맨 앞에 배치하는 습관을 들여야 오류 없는 깔끔한 데이터베이스를 유지할 수 있습니다.
핵심 요약
수식(Formula) 속성을 활용하면 실시간 오늘 날짜와 마감일을 자동으로 대조하여 직관적인 디데이(D-Day) 카운트다운 시스템을 구축할 수 있습니다.
수식의 문자열 결합 및 반복 기능을 활용하면 단순한 숫자 형태의 진행률 데이터를 커스텀 프로그레스 바 형태로 시각화하여 업무 가시성을 높일 수 있습니다.
수식 작성 시 발생하는 에러는 대부분 숫자와 텍스트의 혼용 또는 빈 값(공백)의 예외 처리 누락에서 비롯되므로 데이터 유형의 일치 여부를 항상 확인해야 합니다.
0 댓글