노션 데이터베이스를 쓰다 보면 이런 생각이 들어요. "이 두 숫자를 자동으로 더할 수 없을까?", "마감일까지 남은 날짜가 자동으로 계산되면 좋겠는데", "완료율을 자동으로 보여줄 수 없을까?" 일일이 수동으로 계산하고 입력하느라 시간만 낭비하게 되죠.
바로 이럴 때 필요한 게 노션의 포뮬러(수식) 기능이에요.
엑셀처럼 자동 계산을 할 수 있고, 조건에 따라 다른 값을 표시하고, 텍스트를 조합하고, 날짜를 계산할 수 있습니다.
한 번만 설정해두면 데이터가 바뀔 때마다 자동으로 업데이트되죠.
"수식이라니, 수학 못하는데 어쩌지?"라고 걱정하지 마세요. 노션 수식은 엑셀보다 훨씬 직관적이고, 코딩 지식도 필요 없어요.
오늘 이 가이드 하나면 기초부터 실전 활용까지 완벽하게 마스터하실 수 있을 거예요!
포뮬러 속성이 뭔가요?
포뮬러는 노션 데이터베이스의 특별한 속성 타입이에요.
다른 속성들의 값을 가져와서 계산하거나 변형해서 새로운 값을 만들어내는 거죠.
일반 속성과의 차이
텍스트 속성은 직접 타이핑하고, 숫자 속성은 숫자를 입력하고, 날짜 속성은 달력에서 선택하죠. 하지만 포뮬러 속성은 직접 입력하는 게 아니에요. 수식을 설정해두면 자동으로 계산된 값이 표시됩니다.
예를 들어 '단가'와 '수량' 속성이 있다면, 포뮬러로 단가 × 수량을 계산해서 '합계'를 자동으로 구할 수 있어요.
단가나 수량을 바꾸면 합계도 즉시 업데이트되고요.
엑셀과 비슷하지만 다른 점
엑셀을 써보셨다면 익숙하실 거예요. 기본 개념은 비슷합니다. 하지만 노션은 열 전체에 하나의 수식만 적용할 수 있어요.
엑셀처럼 셀마다 다른 수식을 넣을 수는 없습니다.
대신 모든 행에 같은 계산 로직이 자동으로 적용되니까, 일관성이 보장되고 실수할 일이 없어요.
첫 포뮬러 만들어보기
이론보다는 직접 해보는 게 빠르니까, 간단한 수식부터 만들어봅시다.
1단계: 테스트 데이터베이스 만들기
새 페이지에 /데이터베이스를 입력해서 간단한 테이블을 만드세요. 속성은 이렇게 구성해보겠습니다:
- 제품명 (제목)
- 단가 (숫자)
- 수량 (숫자)
몇 개 행을 추가하고 숫자를 임의로 입력해두세요.
2단계: 포뮬러 속성 추가
표 오른쪽 끝의 + 버튼을 클릭하고, 속성 타입을 '수식'으로 선택하세요. 속성 이름은 '합계'로 정합니다.
3단계: 수식 입력
수식 속성의 아무 셀이나 클릭하면 수식 편집기가 열려요. 왼쪽에는 사용 가능한 속성과 함수 목록이, 오른쪽에는 수식 입력란이 보입니다.
간단한 곱셈을 입력해볼게요:
prop("단가") * prop("수량")
prop("속성명")은 특정 속성의 값을 가져오는 기본 문법이에요. 단가와 수량을 곱하기(*)로 연결한 거죠.
4단계: 완료
'완료' 버튼을 클릭하면, 모든 행의 합계 열에 자동으로 계산된 값이 나타납니다! 이제 단가나 수량을 바꿔보세요. 합계가 즉시 업데이트되는 걸 확인할 수 있어요.
기본 연산자 익히기
수식의 기초는 연산자예요. 엑셀과 거의 같습니다.
산술 연산자
- + : 더하기
- - : 빼기
- * : 곱하기
- / : 나누기
- % : 나머지 (mod)
- ^ : 거듭제곱
예시: prop("가격") * 1.1 → 가격에 10% 추가 (부가세 계산)
비교 연산자
- == : 같다
- != : 같지 않다
- > : 크다
- < : 작다
- >= : 크거나 같다
- <= : 작거나 같다
예시: prop("재고") < 10 → 재고가 10개 미만이면 true
논리 연산자
- and : 그리고 (둘 다 참)
- or : 또는 (하나라도 참)
- not : 부정 (반대)
예시: prop("가격") > 10000 and prop("할인") == true → 가격이 10000원 넘고 동시에 할인 중
필수 함수 TOP 10
노션에는 50개가 넘는 함수가 있지만, 자주 쓰는 건 10개 정도예요.
1. if(조건, 참일 때, 거짓일 때)
조건에 따라 다른 값을 표시해요. 가장 많이 쓰는 함수입니다.
if(prop("점수") >= 60, "합격", "불합격")
점수가 60 이상이면 "합격", 아니면 "불합격"을 표시합니다.
2. add(값1, 값2, ...)
여러 값을 더해요. +로도 가능하지만 함수가 더 깔끔할 때도 있어요.
add(prop("기본급"), prop("수당"), prop("보너스"))
3. concat(텍스트1, 텍스트2, ...)
텍스트를 연결해요. 이름과 성을 합치거나 문장을 만들 때 유용합니다.
concat(prop("성"), prop("이름"))
4. format(숫자)
숫자를 텍스트로 변환해요. 숫자와 텍스트를 섞을 때 필요합니다
concat(prop("이름"), "님의 점수는 ", format(prop("점수")), "점입니다")
5. round(숫자)
소수점을 반올림해요. 계산 결과가 소수점 아래로 길게 나올 때 유용합니다.
round(prop("합계") / prop("수량"))
6. dateBetween(날짜1, 날짜2, 단위)
두 날짜 사이의 차이를 계산해요. 남은 날짜, 경과 일수 등을 구할 때 씁니다.
dateBetween(prop("마감일"), now(), "days")
마감일까지 남은 일수를 계산합니다. now()는 오늘 날짜를 의미해요.
7. formatDate(날짜, "형식")
날짜를 원하는 형식으로 표시해요.
formatDate(now(), "YYYY년 MM월 DD일")
"2024년 12월 17일" 형태로 나타납니다.
8. length(텍스트)
텍스트의 길이(글자 수)를 세요.
length(prop("제목"))
제목이 몇 글자인지 표시합니다.
9. replace(텍스트, "찾을것", "바꿀것")
텍스트에서 특정 부분을 다른 것으로 교체해요.
replace(prop("전화번호"), "-", "")
전화번호에서 하이픈을 제거합니다.
10. empty(속성)
속성이 비어있는지 확인해요.
if(empty(prop("담당자")), "미배정", "배정됨")
담당자가 비어있으면 "미배정", 값이 있으면 "배정됨"을 표시합니다.
실전 예제 1: D-Day 계산기
마감일까지 남은 날짜를 "D-3", "D-Day", "D+5" 형태로 표시해봅시다.
let(
남은일수,
dateBetween(prop("마감일"), now(), "days"),
if(
남은일수 == 0,
"D-Day",
if(
남은일수 > 0,
"D-" + format(남은일수),
"D+" + format(abs(남은일수))
)
)
)
이 수식은 조금 복잡해 보이지만 차근차근 보면 이해할 수 있어요:
- let으로 '남은일수' 변수를 정의
- 남은일수가 0이면 "D-Day"
- 양수면 "D-3" 형태
- 음수면 "D+5" 형태 (마감 지남)
실전 예제 2: 진행률 프로그레스 바
체크박스 3개의 완료 비율을 시각적으로 보여주는 프로그레스 바를 만들어봅시다.
먼저 3개의 체크박스 속성을 만들고 (작업1, 작업2, 작업3), 수식은 이렇게 작성해요:
let(
완료개수,
toNumber(prop("작업1")) + toNumber(prop("작업2")) + toNumber(prop("작업3")),
let(
비율,
완료개수 / 3 * 10,
slice("🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩", 0, round(비율)) +
slice("⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜", 0, 10 - round(비율))
)
)
체크박스를 하나씩 체크할 때마다 초록색 사각형이 늘어나는 걸 볼 수 있어요!
수식 설명:
- toNumber()로 체크박스(true/false)를 숫자(1/0)로 변환
- 완료 개수를 세고 비율 계산
- slice()로 문자열 일부만 잘라서 표시
실전 예제 3: 우선순위 점수 자동 계산
긴급도(15점),중요도(15점)을 곱해서 우선순위 점수를 자동 계산하고, 등급을 매겨봅시다.
let(
점수,
prop("긴급도") * prop("중요도"),
if(
점수 >= 20,
"🔴 최우선",
if(
점수 >= 12,
"🟠 높음",
if(
점수 >= 6,
"🟡 보통",
"🟢 낮음"
)
)
)
)
긴급도와 중요도를 입력하면 자동으로 우선순위 등급이 매겨져요.
실전 예제 4: 이메일 주소 자동 생성
이름을 입력하면 회사 이메일 주소를 자동으로 만들어주는 수식이에요
concat(
lower(replace(prop("이름"), " ", "")),
"@company.com"
)
"김철수"를 입력하면 "김철수@company.com"이 자동 생성됩니다. lower()는 소문자로 변환하는 함수예요.
조건문 중첩하기
복잡한 조건을 처리할 때는 if문을 여러 겹 중첩할 수 있어요.
예: 성적 등급 매기기
if(
prop("점수") >= 90,
"A",
if(
prop("점수") >= 80,
"B",
if(
prop("점수") >= 70,
"C",
if(
prop("점수") >= 60,
"D",
"F"
)
)
)
)
점수에 따라 자동으로 등급이 매겨집니다.
더 깔끔한 방법: ifs 함수
노션 2.0부터는 ifs 함수로 더 간결하게 쓸 수 있어요:
ifs(
prop("점수") >= 90, "A",
prop("점수") >= 80, "B",
prop("점수") >= 70, "C",
prop("점수") >= 60, "D",
"F"
)
훨씬 읽기 쉽죠?
날짜 함수 마스터하기
날짜 관련 계산은 실무에서 정말 자주 쓰여요.
현재 날짜: now()
오늘 날짜와 시각을 가져옵니다.
날짜 더하기: dateAdd()
dateAdd(prop("시작일"), 7, "days")
시작일로부터 7일 후의 날짜를 계산해요.
날짜 빼기: dateSubtract()
dateSubtract(prop("마감일"), 3, "days")
마감일 3일 전 날짜를 구합니다.
날짜 차이: dateBetween()
dateBetween(prop("종료일"), prop("시작일"), "days")
프로젝트 기간을 일수로 계산합니다.
단위는 "years", "months", "weeks", "days", "hours", "minutes" 등을 쓸 수 있어요.
텍스트 함수 활용하기
텍스트를 다루는 것도 자주 필요해요.
대소문자 변환
- upper(텍스트) : 대문자로
- lower(텍스트) : 소문자로
일부 추출: slice()
slice(prop("전화번호"), 0, 3)
전화번호 앞 3자리만 추출합니다. (예: 010)
포함 여부 확인: contains()
if(contains(prop("제목"), "긴급"), "⚠️", "")
제목에 "긴급"이라는 단어가 포함되어 있으면 경고 표시를 해요.
자주 하는 실수와 해결법
실수 1: 속성 이름이 정확하지 않아요
prop("단 가") // 띄어쓰기 주의!
prop("단가") // 올바름
속성 이름은 데이터베이스에 표시된 것과 정확히 일치해야 해요. 대소문자, 띄어쓰기 모두 같아야 합니다.
실수 2: 데이터 타입이 안 맞아요
숫자와 텍스트를 섞어 쓸 때 오류가 나요. format()으로 숫자를 텍스트로 변환하거나, toNumber()로 텍스트를 숫자로 바꿔야 합니다.
concat("합계: ", prop("금액")) // 오류!
concat("합계: ", format(prop("금액"))) // 올바름
실수 3: 괄호를 안 닫았어요
if(prop("가격") > 1000, "비싸요" // 괄호 누락!
if(prop("가격") > 1000, "비싸요", "저렴해요") // 올바름
여는 괄호 (와 닫는 괄호 )의 개수가 같아야 해요.
실수 4: 빈 값 처리를 안 했어요
속성이 비어있을 때 오류가 나는 경우가 많아요. empty()로 먼저 확인하세요.
if(empty(prop("마감일")), "미정", dateBetween(prop("마감일"), now(), "days"))
수식 디버깅 팁
수식이 안 되면 이렇게 해보세요.
1. 단계별로 나눠서 테스트
복잡한 수식을 한 번에 만들지 말고, 작은 부분부터 테스트하세요. 각 단계가 작동하는지 확인한 후 합치는 거죠.
2. 중간 결과 확인
let 변수를 활용해서 중간 계산 결과를 확인해보세요. 어디서 오류가 나는지 파악하기 쉬워집니다.
3. 에러 메시지 읽기
노션은 수식 오류를 영어로 알려줘요. "Type mismatch"는 데이터 타입이 안 맞다는 뜻, "Property not found"는 속성 이름이 틀렸다는 뜻입니다.
4. 공식 문서 참고
노션 공식 도움말 센터(notion.so/help)에 모든 함수의 사용법이 예시와 함께 나와있어요.
마치며: 수식의 힘
노션 수식은 처음엔 어려워 보여도, 몇 개만 익히면 금방 활용할 수 있어요. 완벽하게 모든 함수를 외울 필요는 없습니다.
본인이 자주 하는 작업 3가지만 골라서 수식으로 자동화해보세요.
날짜 계산, 조건부 표시, 진행률 계산 중 하나만 익혀도 업무 효율이 확 올라갈 거예요.
오늘 당장 데이터베이스를 하나 열고, 간단한 덧셈 수식부터 만들어보세요. prop("숫자1") + prop("숫자2") 이것만 해도
자동화의 첫걸음입니다!
작은 수식 하나가 매일 10분씩 절약해주면, 1년이면 60시간이에요. 수식을 배우는 투자, 충분히 가치 있지 않나요?

'AI,IT모든것' 카테고리의 다른 글
| 노션으로 블로그 만들기 | 웹사이트로 변환하는 완벽 가이드 (0) | 2025.12.19 |
|---|---|
| 노션 모바일 완벽 활용법 | 스마트폰에서 효율적으로 쓰는 모든 방법 (0) | 2025.12.18 |
| 노션으로 프로젝트 관리하기 | 칸반 보드부터 간트 차트까지 완벽 가이드 (0) | 2025.12.16 |
| 노션 데이터베이스 필터와 정렬 완벽 가이드 | 원하는 정보만 골라보는 마법 (0) | 2025.12.15 |
| 노션으로 개인 위키 만들기 | 나만의 지식 백과사전 구축 완벽 가이드 (0) | 2025.12.12 |