본문으로 건너뛰기

02 · 조건부 셀

시나리오

행 데이터에 따라 셀 값을 다르게 표시합니다. 두 가지 패턴이 있습니다 — 두 값 중 하나를 고르는 IF, 그리고 원본이 비어 있을 때 대체하는 IFEMPTY.

IF — 두 값 중 하나 고르기

{{ IF([갱신액] > 10000, "우선", "일반") }}
{{ IF([지역] = "서울", "수도권", "지방") }}
{{ IF([담당자] != "", [담당자], "미지정") }}

비교 연산자: =, !=, >, <, >=, <=. 세 번째 인자("else" 분기)는 필수입니다 — XTL 에는 암묵적인 빈 분기가 없습니다.

IFEMPTY — 빈 값을 대체

{{ IFEMPTY([담당자], "미지정") }}
{{ IFEMPTY([비고], "—") }}

IFEMPTY(value, fallback)value 가 비어 있을 때(누락, null, 공백만 있는 문자열) fallback 을 돌려줍니다. 숫자 0 과 false 는 비어 있는 값이 아닙니다 — 그쪽이 필요하면 IF 를 쓰세요.

참/거짓 판정 규칙 (IF 조건)

  • 값(누락, 공백만 있는 문자열)은 거짓입니다.
  • 문자열 "0""false"입니다 — 비어 있지 않은 문자열이라는 사실 외에는 아무 의미도 없습니다. "0" 을 거짓으로 다루고 싶다면 명시적으로 비교하세요: IF([금액] != "0", ...).
  • 숫자 0 과 Boolean false 는 거짓입니다.
  • 날짜는 항상 참입니다.

& 로 텍스트 조합

{{ "등급-" & IF([갱신액] > 10000, "A", "B") & "-" & [지역] }}

& 는 문자열 결합 연산자입니다. 피연산자는 표준 문자열 형태로 변환됩니다 (spec/language.md "Canonical String Form" 참고).

참고

  • =!= 는 XTL 의 비교 폴스루를 따릅니다 — 숫자 또는 숫자형 문자열이면 수치 비교, Boolean 끼리면 Boolean 비교, 날짜끼리면 타임스탬프 비교, 그 외는 코드 포인트 순서 비교입니다. 로케일 정렬은 적용하지 않습니다.
  • IF 는 중첩 가능합니다: IF(a, "X", IF(b, "Y", "Z")). Excel 사용자에게 익숙한 형태지만, 너무 깊게 중첩하면 읽기 어렵습니다 — 보조 셀로 쪼개거나 원본 단계에서 미리 계산하는 편이 낫습니다.