1. 프롤로그: “수학이라면 딱 질색인데, 노션 수식이라니요?”
노션을 어느 정도 쓰다 보면 반드시 마주치는 거대한 장벽이 하나 있습니다. 바로 **’수식(Formula)’**입니다.
∑라는 기호만 봐도 학창 시절 수학 시간의 악몽이 떠오르고, 엑셀의 복잡한 함수 때문에 야근하던 기억에 치를 떠는 분들이 많습니다. 저도 그랬습니다. “나는 문과생이야. 그냥 글 쓰고 체크박스만 쓰면 됐지, 무슨 코딩 같은 걸 해?”라며 수식 속성은 쳐다보지도 않았죠.
하지만 어느 날, 다른 사람의 노션 페이지를 구경하다가 충격을 받았습니다. 단순히 숫자로 50%라고 적힌 게 아니라, 달이 차오르는 모양(🌑→🌕)이나, 배터리가 충전되는 모양(🔋)으로 진행 상황이 예쁘게 표시되어 있는 겁니다.
“이거 어떻게 한 거예요?” “아, 이거 수식으로 텍스트 조합한 거예요. 생각보다 쉬워요.”
그날 저는 깨달았습니다. 노션의 수식은 복잡한 계산을 위한 것이 아니라, **내 페이지를 더 직관적이고 아름답게 꾸미기 위한 ‘디자인 도구’**라는 것을요.
오늘은 코딩이나 수학을 전혀 몰라도 누구나 따라 할 수 있는 **’노션 수식 기초’**를 다룹니다. 딱딱한 숫자를 감성적인 **’이모지 진행률 바(Progress Bar)’**로 바꾸는 과정을 통해, 수식의 공포증을 없애드리겠습니다.
2. 수식(Formula)의 기본 원리: “재료를 넣고 믹서기를 돌린다”
수식을 어렵게 생각하지 마세요. 요리와 똑같습니다.
-
속성(Property): 요리 재료입니다. (예:
읽은 페이지 수,총 페이지 수) -
함수(Function): 믹서기나 조리 도구입니다. (예:
나누기,반올림하기,텍스트로 바꾸기) -
수식(Formula): 재료를 도구에 넣고 돌려서 나온 ‘완성된 요리’입니다.
우리가 만들고 싶은 요리는 **’진행률(%)’**입니다. 재료는 **’현재 한 양(Current)’**과 ‘목표 양(Goal)’ 두 가지면 충분합니다.
3. [Step 1] 재료 준비하기 (데이터베이스 세팅)
먼저 요리할 재료를 준비해야겠죠? 독서 기록장을 예시로 들어보겠습니다. /표를 눌러 데이터베이스를 만들고 아래 속성 3개를 만듭니다.
-
책 제목 (이름)
-
현재 페이지 (숫자): 내가 지금까지 읽은 쪽수 (예: 150)
-
총 페이지 (숫자): 책의 전체 쪽수 (예: 300)
4. [Step 2] 노션 내장 기능: “수식 없이 1초 만에 바 만들기”
잠깐, 본격적인 수식에 들어가기 전에 **’치트키’**를 하나 알려드립니다. 사실 노션이 업데이트되면서 간단한 진행률 바는 수식 없이도 만들 수 있게 되었습니다.
-
데이터베이스에
수식속성을 추가합니다. -
수식 창을 클릭하고 이렇게 입력합니다:
prop("현재 페이지") / prop("총 페이지")-
(해석: 현재 페이지 나누기 총 페이지 = 0.5)
-
-
숫자
0.5가 나왔나요? 이제 속성 이름(제목)을 클릭하고 **속성 편집**을 누릅니다. -
**
표시(Show as)**를 ‘숫자’에서막대(Bar)또는 **링(Ring)**으로 바꿉니다.
짜잔! 순식간에 파란색 막대그래프가 생겼습니다. 심플한 걸 좋아하신다면 여기서 멈추셔도 됩니다. 하지만 우리는 **’나만의 감성’**을 원하잖아요? 이제 진짜 수식의 세계로 들어가 봅시다.
5. [Step 3] 나만의 ‘이모지 진행률 바’ 만들기 (복붙 가능)
파란색 막대 대신, 달이 차오르는 모양(🌑→🌕)이나 하트(🤍→❤️)로 바꾸고 싶다면 수식을 써야 합니다. 원리는 간단합니다.
“전체 10개 중에서, 진행된 비율만큼은 ‘채워진 하트’로 보여주고, 나머지는 ‘빈 하트’로 보여줘.”
이걸 노션의 언어로 번역하면 됩니다. 겁먹지 마세요. 아래 수식을 그대로 복사해서 쓰시면 됩니다.
1. 수식 속성을 새로 만들거나 엽니다. 2. 아래 코드를 복사해서 붙여넣으세요. (주의: 현재 페이지와 총 페이지라는 글자는 여러분의 데이터베이스 속성 이름과 똑같아야 합니다.)
slice("🌕🌕🌕🌕🌕🌕🌕🌕🌕🌕", 0, round(prop("현재 페이지") / prop("총 페이지") * 10)) +
slice("🌑🌑🌑🌑🌑🌑🌑🌑🌑🌑", 0, 10 - round(prop("현재 페이지") / prop("총 페이지") * 10)) +
" " +
format(round(prop("현재 페이지") / prop("총 페이지") * 100)) + "%"
[수식 해설 – 원리를 알면 응용이 보입니다]
-
prop("현재") / prop("총"): 진행률을 계산합니다. (예: 0.5) -
* 10: 이모지가 10개니까 10을 곱합니다. (예: 5) -
round(...): 소수점을 반올림해서 정수로 만듭니다. -
slice("🌕...", 0, 5): 이게 핵심입니다. 꽉 찬 달 10개 중에서, 앞에서부터 5개만 잘라내라(Slice)는 뜻입니다. (결과: 🌕🌕🌕🌕🌕) -
+: 문자를 이어 붙이는 접착제입니다. -
slice("🌑...", 0, 10 - 5): 빈 달 10개 중에서, 나머지(10-5=5) 개수만큼 잘라내라는 뜻입니다. (결과: 🌑🌑🌑🌑🌑) -
결과 합체: 🌕🌕🌕🌕🌕 + 🌑🌑🌑🌑🌑 + 50%
6. 응용하기: 내 입맛대로 디자인 바꾸기
이제 원리를 알았으니, 이모지만 바꾸면 무한대로 응용할 수 있습니다. 위 수식에서 달 이모지(🌕, 🌑) 부분만 지우고 아래 아이콘들을 넣어보세요.
-
배터리 스타일: 🟩 (채워짐) / ⬜ (비어있음)
-
하트 스타일: ❤️ (채워짐) / 🤍 (비어있음)
-
사과 스타일: 🍎 (먹음) / 🍏 (안 먹음)
-
로딩 바 스타일: ▓ (진행) / ░ (대기)
💡 꿀팁: prop("현재 페이지") 대신에 prop("체크박스") 속성을 넣어서, 할 일을 완료했으면 하트가 채워지게 만들 수도 있습니다. 수식은 이렇게 블록 조립하듯 재료만 갈아 끼우면 됩니다.
7. 에필로그: 수식은 ‘자동화’의 시작입니다
처음엔 복잡해 보였던 수식 창이, 이제 조금은 만만해 보이시나요?
노션 수식은 엑셀처럼 정답을 맞히는 수학 문제가 아닙니다. 내 페이지를 방문하는 나 자신에게 **”지금 이만큼 해냈어! 멋져!”**라고 시각적으로 칭찬해 주는 장치입니다.
숫자로만 70%라고 적혀있는 것보다, 하트가 7개 채워진 모습(❤️❤️❤️❤️❤️❤️🤍🤍🤍)을 볼 때 우리는 그 칸을 마저 채우고 싶은 욕구를 느낍니다. 이것이 바로 **’게이미피케이션(Gamification)’**입니다.
지금 바로 여러분의 독서 리스트, 운동 기록장에 이 수식을 적용해 보세요. 밋밋했던 페이지가 살아 움직이는 대시보드로 변신할 것입니다. 그리고 그 작은 시각적 변화가, 여러분을 끝까지 완주하게 만드는 원동력이 되어줄 것입니다.