
TEXT 함수로 날짜·시간·숫자 서식 변환 끝판왕 (실무 예제 총정리)
보고서의 인상을 바꾸는 건 ‘계산’이 아니라 ‘표시’입니다. TEXT()로 날짜·시간·숫자를 읽히는 문자열로 바꿔 클릭을 부르는 표와 대시보드를 만드세요.
TEXT 기본 문법 & 핵심 개념
=TEXT(값, "형식코드")
- 항상 문자열을 반환 → 계산은 원본 값을 사용하고, TEXT는 표시용으로!
- 형식코드는 따옴표로 감싼다. 고정 텍스트를 넣으려면
"출고일: "처럼 따옴표로 감싸거나\로 이스케이프. - 날짜/시간은 숫자 기반 일련값이므로 올바른 날짜/시간이어야 기대대로 출력된다.
날짜 포맷 코드(연·월·일·요일)
| 코드 | 의미 | 예시 (2025-08-11) |
|---|---|---|
| yyyy | 연도 4자리 | 2025 |
| yy | 연도 2자리 | 25 |
| m / mm / mmm / mmmm | 월(숫자/두자리/약칭/풀네임) | 8 / 08 / Aug / August |
| d / dd | 일(숫자/두자리) | 11 / 11 |
| ddd / dddd | 요일 약칭/풀네임 | Mon / Monday |
=TEXT(A2, "yyyy-mm-dd")
시간 포맷 코드(시·분·초)
| 코드 | 의미 | 예시 (13:07:05) |
|---|---|---|
| h / hh | 시(0~23) | 13 / 13 |
| m / mm | 분(시간 컨텍스트에서) | 7 / 07 |
| s / ss | 초 | 5 / 05 |
| AM/PM | 오전/오후 표기 | 1:07 PM |
중요 m의 함정: 날짜 맥락에서는 ‘월’, 시간 맥락에서는 ‘분’입니다. 분을 출력하려면 h:mm처럼 h 옆에 배치하세요.
=TEXT(A2, "yyyy-mm-dd h:mm")
숫자/통화/퍼센트/음수 색상
| 코드 | 설명 | 예시 |
|---|---|---|
| #,##0 | 천단위 콤마 | 12,345 |
| #,##0.00 | 소수 둘째자리 | 12,345.67 |
| ₩#,##0 | 원화 | ₩12,345 |
| 0% | 퍼센트 | 15% |
| [Red]-#,##0 | 음수 빨간색 | -1,200 (빨간색) |
=TEXT(B2, "₩#,##0")
영문 월·요일 등 지역 고정
파일 지역이 바뀌어도 동일하게 보이도록 로캘 태그를 씁니다.
=TEXT(A2, "[$-en-US]mmm d, yyyy") // Aug 11, 2025
=TEXT(A2, "[$-ko-KR]yyyy\"년\" m\"월\" d\"일\" (ddd)")
문장/라벨 결합(TEXTJOIN)
=TEXTJOIN(" · ", TRUE,
TEXT(A2,"yyyy-mm-dd"),
TEXT(B2,"h:mm"),
TEXT(C2,"#,##0") & " pcs")
보고서 카드형 텍스트를 한 번에 생성해 카드/태그 UI에 활용하세요.
자주 하는 실수 & 해결책
- 합계가 안 됨 → TEXT는 문자열이므로 합계/평균은 원본 숫자로 계산
- m 오해 → 분은
h:mm, 월은yyyy-mm처럼 맥락을 명확히 - 따옴표/특수문자 → 고정 텍스트는 따옴표 또는
\로 이스케이프 - 성능 → 대량 결합은
TEXTJOIN+LET으로 중복 계산 최소화
요약 정리
| 핵심 포인트 | 체크리스트 |
|---|---|
| 표시는 TEXT, 계산은 원본 | 숫자 연산에 TEXT 결과 사용 금지 |
| m(월/분) 컨텍스트 | h 옆=분, y/d 옆=월 |
| 서식 코드는 재사용 | 자주 쓰는 패턴을 시트 상단에 문서화 |
FAQ
월 이름을 한국어/영어로 바꾸려면?
로캘 태그 사용: [$-ko-KR], [$-en-US]를 형식 코드 앞에 붙입니다.
보고서에 ‘2025년 8월 11일(월) 오후 1:07’처럼 표시하려면?
=TEXT(A2,"yyyy\"년\" m\"월\" d\"일\" (ddd) a/p h:mm")