엑셀보다 직관적인 노션 수식(Formula) 입문: 디데이와 프로그레스 바(진도율) 만들기

노션(Notion)의 데이터베이스를 어느 정도 다루다 보면, 자연스럽게 이런 생각이 들기 시작합니다.

"자동으로 계산에 대한 값이 나오면 좋겠는데…"
"마감일까지 며칠 남았는지 알아서 알려주면 좋겠다."
"프로젝트가 얼마나 진행됐는지도 한눈에 보이면 좋겠는데…"

이때 우리가 알아두면 좋은 기능이 바로 수식(Formula)입니다.
엑셀을 떠올리면 수식이라고 해서 조금 어렵게 느껴질 수 있지만 노션의 수식은 꼭 복잡한 계산만을 위한 기능은 아닙니다.

내 데이터베이스에 들어 있는 날짜, 숫자, 상태 등의 정보를 이용해 원하는 결과를 자동으로 표시해 주는 기능이라고 생각하면 훨씬 이해하기 쉽습니다.

이번 글에서는 평소보다 조금 더 실전적인 방법으로 수식을 풀어보려고 합니다.

수식은 개념만 설명하면 조금 추상적으로 느껴질 수 있기 때문에, 이번에는 실제로 많이 활용할 수 있는 간단한 예제를 직접 만들어 보면서 "노션 수식으로 이런 것도 자동으로 만들 수 있구나!"라는 감을 잡을 수 있도록 해보겠습니다.


🧮 엑셀과 노션 수식의 결정적 차이: 열(Column) 전체에 마법을 건다

수식을 배우기 전에 노션의 수식을 어떻게 생각하면 쉬운지부터 알아보겠습니다.

엑셀에서는 보통 셀 하나에 수식을 입력하고, 필요한 경우 다른 셀로 수식을 복사해서 사용하는 방식에 익숙합니다.

하지만 노션 데이터베이스의 Formula 속성은 조금 다릅니다.

데이터베이스에 Formula라는 속성(Property)을 하나 만들어 놓고, 그 속성을 각 데이터베이스 항목에서 계산 결과를 보여주는 방식으로 활용할 수 있습니다. 

예를 들어 다음과 같은 데이터베이스가 있다고 생각해 봅시다.

업무마감일진행률
블로그 글 작성8월 25일80
자료 조사8월 28일50
이미지 제작8월 30일20

여기에 Formula 속성을 하나 추가하면,

  • 마감일까지 며칠 남았는지
  • 진행률을 문자나 막대 형태로 어떻게 보여줄지
  • 특정 조건에 따라 상태를 어떻게 표시할지

등을 자동으로 계산할 수 있습니다.

즉, 수식을 하나하나 외워서 계산기를 만드는 것이 아니라 내 데이터베이스에 있는 정보를 가지고 원하는 결과를 자동으로 만들어내는 기능이라고 생각하면 됩니다.

💡 [디테일 한 조각: 수식은 '계산기'라고만 생각하지 마세요]

노션의 Formula는 단순히 숫자를 더하고 빼는 기능만 있는 것이 아닙니다.

날짜의 차이를 계산하거나, 조건에 따라 다른 문구를 보여주거나, 숫자를 문자로 바꾸거나, 반복되는 문자를 이용해 진행률처럼 보이는 결과를 만드는 것도 가능합니다.

현재 Notion Formula에는 if(), dateBetween(), format(), repeat(), floor() 등 다양한 함수가 제공됩니다.

그래서 처음부터 모든 함수를 공부할 필요는 없습니다.  

'내가 원하는 결과를 만들기 위해 어떤 정보를 가져와 계산하면 되는가?' 이것만 먼저 이해해도 충분합니다.  


 🛠️ 실습 전 준비 사항 확인

이번 글에서는 간단한 업무 관리 데이터베이스를 예제로 사용해 보겠습니다.

아래처럼 몇 가지 속성만 먼저 만들어 두면 뒤에서 설명할 수식을 이해하기가 훨씬 쉽습니다.
  • 업무명 : 제목 (Title)
  • 시작일 : 날짜 (Date)
  • 마감일 : 날짜 (Date)
  • 진행률 : 숫자 (Number)

진행률은 이번 예제에서 0~100 사이의 숫자로 입력한다고 생각하겠습니다.

예를 들어 80% 진행했다면 80, 절반 정도 진행했다면 50을 입력하는 방식입니다.

꼭 똑같은 데이터베이스를 만들 필요는 없습니다. 이미 사용하고 있는 업무 관리 데이터베이스가 있다면 비슷한 속성을 활용해도 됩니다.

이번 글에서는 이 설정을 기준으로 D-Day와 진행률 표시를 만들어 보겠습니다.


⏳ 실전 1: 남은 기간을 알려주는 '디데이(D-Day)' 자동 계산기

콘텐츠 발행일이나 자격증 시험일, 프로젝트 마감일 등을 관리할 때 가장 유용한 것 중 하나가 바로 D-Day 계산입니다.

매번 달력을 확인하지 않아도, "마감일까지 며칠 남았지?"라는 질문에 노션이 자동으로 답해준다면 꽤 편리하겠죠.

노션의 dateBetween() 함수는 두 날짜 사이의 차이를 계산할 수 있기 때문에 이런 용도로 활용할 수 있습니다.

먼저 Formula 속성을 하나 만들어 주세요.

데이터베이스에 새로운 속성을 추가한 뒤 유형을 Formula로 선택합니다. 속성 이름은 알아보기 쉽게 D-Day라고 붙여보겠습니다.

그리고 다음과 같은 수식을 사용할 수 있습니다.

lets(
  days,
  dateBetween(prop("마감일"), now(), "days"),
  ifs(
    days > 0, "D-" + format(days),
    days == 0, "D-Day",
    "D+" + format(abs(days))
  ) 
)
조금 길어 보이지만 그렇게 어렵지 않습니다.
이 수식이 하는 일은 아주 단순합니다.
    ① 마감일과 오늘 날짜의 차이를 계산하고
    ② 날짜가 아직 남아 있으면 D-숫자로 표시하고
    ③ 마감일이 오늘이면 D-Day로 표시하고
    ④ 이미 지나갔다면 D+숫자로 표시하는 것입니다.
예를 들어 
        마감일까지 5일이 남았다면  D-5
        마감일이 오늘이라면 D-Day
        마감일이 3일 지났다면 D+3
 처럼 표시할 수 있습니다.

여기서 사용한 now()는 현재 날짜와 시간을 가져오고, dateBetween()은 두 날짜 사이의 차이를 계산하고, format()은 계산 결과를 문자 형태로 표시하는 데 사용됩니다. 


💡 수식이 너무 어렵다면 여기까지만 이해해도 충분합니다

지금 당장 lets()가 무엇인지, if()가 어떻게 작동하는지까지 모두 외울 필요는 없습니다.

이번 실습에서 기억할 핵심은 이것 하나입니다.

'노션의 다른 속성에 들어 있는 값을 Formula가 가져와서 계산하거나 가공할 수 있다'

이 원리를 이해하면 나중에는 D-Day뿐 아니라

  • 프로젝트 마감 여부
  • 기한 초과 표시
  • 특정 상태에 따른 안내 문구
  • 날짜를 이용한 자동 계산

등으로도 확장해 활용할 수 있습니다.


📊 실전 2: 시각적 쾌감의 끝판왕, 프로그레스 바(진척도) 만들기

이번에는 숫자로 입력한 진행률을 조금 더 보기 편하게 만들어 보겠습니다.

예를 들어 데이터베이스에 '진행률 : 80' 이라고 숫자만 적혀 있다면 내가 어느 정도 진행했는지는 알 수 있지만, 한눈에 들어오는 느낌은 조금 부족합니다.

이 숫자를 이용해 

■■■■■■■■□□ 80%


처럼 
보이는 프로그레스 바(Progress Bar)를 만들어 볼 수 있습니다.

노션 Formula에서는 repeat()으로 같은 문자를 여러 번 반복할 수 있고, floor()로 숫자를 내림하여 진행률을 일정한 단위로 나누는 방식도 사용할 수 있습니다.

이번에는 이렇게 만들어 보겠습니다.

앞에서 만든 진행률 속성에 0~100 사이의 숫자가 들어 있다고 가정합니다.
예를 들어

  • 20
  • 50
  • 80
  • 100

처럼 입력합니다. 그다음 새로운 Formula 속성을 만들고 이름을 진행률 표시라고 지정합니다.

다음 수식을 넣어보세요.

    repeat("■", floor(prop("진행률") / 10))
    + repeat("□", 10 - floor(prop("진행률") / 10))
    + " "
    + format(prop("진행률"))
    + "%"

이 수식도 원리는 생각보다 간단합니다.

을 진행된 만큼 채우고, 를 남은 만큼 보여주는 것입니다.

예를 들어 진행률이 

80이라면  ■■■■■■■■□□ 80%

50이라면  ■■■■■□□□□□ 50%

처럼 나타나겠죠.

여기서 중요한 것은 수식 자체를 외우는 것이 아닙니다. 
숫자로 저장되어 있는 진행률을 Formula가 가져와서 내가 보기 편한 형태로 다시 표현하고 있다는 것입니다.


⚠️ 여기서 한 가지 주의하세요

이번 수식은 진행률을 0~100 사이의 숫자로 입력하는 방식을 기준으로 작성했습니다.

따라서 80을 80%로 사용하는 예제이지, 0.8을 80%로 사용하는 예제가 아닙니다.
또한 100을 초과하거나 음수를 입력하면 원하는 모양으로 나오지 않을 수 있으니, 이번 예제에서는 0~100 사이의 숫자만 입력해 주세요.


🧩 수식을 처음 접한다면 이것만 기억하세요

여기까지 따라왔다면 벌써 노션 Formula의 핵심 원리를 하나 경험한 것입니다.

Formula는 어려운 수학 문제를 풀기 위한 기능이라기보다, '내 데이터베이스에 있는 정보를 가지고 내가 원하는 결과를 자동으로 만들어 주는 도구' 라고 생각하면 쉽습니다.

예를 들어,

  • 날짜 → D-Day
  • 숫자 → 진행률 표시

처럼 기존 데이터에 새로운 의미를 더할 수 있습니다.

그리고 여기서 한 단계 더 나아가면

  • 상태 → 완료/진행 중 문구 자동 표시
  • 마감일 → 기한 초과 여부 표시
  • 금액 → 자동 계산
  • 여러 속성 → 하나의 요약 정보로 표시

하는 것도 가능합니다.


💬 추가로 알면 좋은 돌발 상황 해결법 (FAQ)

Q1. D-Day 수식을 넣었는데 숫자가 예상과 다르게 나와요
A1.먼저 [마감일] 속성의 유형이 날짜(Date)로 되어 있는지 확인해 보세요.
그리고 수식에서 사용하는 속성 이름과 실제 데이터베이스의 속성 이름이 정확히 일치하는지도 확인해야 합니다. 
특히 now()는 현재 날짜와 시간을 기준으로 계산하기 때문에, 마감일에 시간까지 설정되어 있다면 결과가 예상과 조금 보일 수 있습니다. 

Q2. 프로그레스 바가 이상하게 표시돼요 
A2.이번 예제에서는 [진행률]을 0~100 사이의 숫자로 입력해야 합니다.
예를 들어 80%라면 80이라고 입력해야 합니다.
0.8을 입력하면 이번 수식에서는 80%가 아니라 0.8을 기준으로 계산하기 때문에 원하는 결과가 나오지 않습니다.
또한 수식에서 사용하는 속성 이름이 실제 속성 이름과 다르지 않은지도 확인해 보세요.

Q3. 수식을 꼭 써야 하나요?
A3. 꼭 그렇지는 않습니다.
단순히 업무의 상태를 할 일 / 진행 중 / 완료로 관리하는 것이라면 노션의 Status 같은 기본 속성만으로도 충분할 수 있습니다.
Formula는 날짜나 숫자처럼 이미 입력되어 있는 데이터를 가지고 자동 계산하거나, 조건에 따라 다른 결과를 보여주고 싶을 때 특히 유용합니다.
즉, 모든 것을 수식으로 만들기보다는 '기본 속성으로 해결할 수 있는 것은 기본 속성으로, 자동 계산이 필요한 부분에는 Formula를 사용한다.' 이렇게 생각하면 훨씬 편합니다.


처음 Formula를 보면 괄호와 영어 함수 이름 때문에 생소하고 어렵게 느껴질 수 있습니다.

하지만 이번 글에서 살펴본 것처럼 실제로는 내가 이미 입력해 둔 데이터를 가지고 필요한 정보를 자동으로 만들어내는 기능입니다.

마감일을 입력해 놓으면 D-Day를 보여주고, 진행률을 입력해 놓으면 보기 좋은 진행 상태로 바꾸고, 조건을 만들어 놓으면 상황에 따라 다른 문구를 표시할 수도 있습니다.
이렇게 생각하면 수식이 조금 덜 어렵게 느껴질 겁니다. 처음부터 모든 함수를 공부할 필요도 없습니다.

오늘은 dateBetween()으로 날짜 차이를 계산하는 방법 하나만 알아가도 좋고, repeat()을 이용해 숫자를 보기 좋은 형태로 바꾸는 방법 하나만 기억해도 충분합니다.

나중에 실제로 필요한 상황이 생겼을 때 그때 필요한 함수를 하나씩 찾아 사용하면 됩니다.


노션은 생각하는 거 이상으로 기능이 많아서 처음부터 모든 것을 완벽하게 이해하려고 하면 오히려 어렵게 느껴질 수 있습니다.

이번 글에서는 수식 문법을 전문적으로 공부하기보다는 "노션에서 수식을 활용하면 이런 일을 자동으로 처리할 수 있구나" 라는 감을 잡는 데 초점을 맞춰봤습니다.

조금 익숙해졌다면 지금 사용하는 업무 관리표나 콘텐츠 관리표에 직접 Formula 속성을 하나 추가해 보세요.
작은 계산 하나가 자동으로 처리되는 것만으로도 노션을 사용하는 느낌이 꽤 달라질 수 있습니다.

다음번에는 여기에서 한 단계 더 들어가, 템플릿 자체 자동화 설계에 대한 이야기로 찾아오겠습니다.


댓글

이 블로그의 인기 게시물

윈도우 검색 렉 해결: 3초 세팅으로 원하는 파일 0.1초 만에 찾는 법

선 없이 1초 만에: 스마트폰 사진을 컴퓨터로 무선 전송하는 가장 깔끔한 방법

이메일 자동 비서: 중요한 메일 절대 놓치지 않는 지메일 라벨링과 자동 필터링 공식