11 · TEXT() 형식 지정
시나리오
돈은 돈처럼 보여야 하고 ($#,##0.00), 날짜는 로캘에 깔끔하게 떨어져야 하며 (yyyy-mm-dd), 퍼센트에 소수점 8자리가 따라붙어선 안 됩니다 (0.0%). XTL 의 TEXT(value, format) 이 이 렌더링을 담당합니다.
통화
{{ TEXT([금액], "₩#,##0") }} → "$1,200.00"
{{ TEXT([금액], "[$₩-ko-KR] #,##0") }} → "₩ 1,200"
{{ TEXT([금액], "#,##0;(#,##0)") }} → 음수는 괄호로
날짜
{{ TEXT([주문일자], "yyyy-mm-dd") }} → "2026-05-12"
{{ TEXT([주문일자], "yyyy-mm") }} → "2026-05"
{{ TEXT([주문일자], "mmm d, yyyy") }} → "May 12, 2026"
{{ TEXT(TODAY(), "yyyy-mm-dd") }} → 오늘 (UTC 기준, ADR-0001)
TODAY() 는 UTC 기준의 오늘 날짜를 반환합니다. 운영자의 타임존이 중요하다면 TODAY() 를 호출하는 대신 __inputs__ 값으로 날짜를 전달하세요.
퍼센트
{{ TEXT([마진], "0.0%") }} → "12.3%" (마진 이 0.1234 일 때)
{{ TEXT([요율], "0%") }} → "8%"
문자열 연결과 함께 쓰기
{{ "합계: " & TEXT(SUM([금액]), "₩#,##0") }} → "합계: ₩43,500"
{{ "Run: " & TEXT(TODAY(), "yyyy-mm-dd") }} → "Run: 2026-05-12"
& 연산자는 TEXT() 결과를 리터럴이나 다른 텍스트와 이어 붙입니다. 헤더 행, 파일명, 시트명 만들 때 유용합니다.
TEXT() 를 쓰지 않아야 할 때
대부분의 셀은 템플릿 셀의 numFmt 를 쓰는 쪽이 더 간단합니다.
- 엑셀에서 셀에
$#,##0.00형식을 미리 지정합니다. - 표현식은 원본 숫자만 참조합니다:
{{ [금액] }}. - xl3 가 결과에 셀 형식을 그대로 보존합니다.
이렇게 하면 셀이 숫자 타입으로 유지됩니다 — 엑셀에서 합계, 필터링 등이 그대로 동작합니다. TEXT() 는 셀을 문자열 타입으로 강제합니다. 다음 경우에 TEXT() 를 씁니다.
- 형식화된 값을 문자열 연결 안에 넣어야 할 때.
- 셀의
numFmt로는 표현할 수 없는 형식이 필요할 때. - 결과물이 셀 형식을 적용해 주지 않는 곳으로 흘러갈 때 (예: CSV 소비자).
지원 형식
xl3 는 Excel 핵심 형식 표를 지원합니다. 핵심 표 밖의 형식은 ADR-0021 에 따라 구현 정의 동작이므로 — template.xlsx 의 이식성을 유지하려면 관용적인 Excel 토큰만 사용하세요.
스펙 참고
spec/language.md"TEXT" 와 핵심 형식 표.- ADR-0001 (
TODAY()는 UTC). - ADR-0017 (날짜 값 모델).
- ADR-0021 (사용자 정의 형식 문자열은 구현 정의).