- 최초 작성일: 1999-08-07
- 최종 수정일: 2026-09-29
- 조회수: 25 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: TEXT 함수로 숫자와 날짜 표시 형식 바꾸기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
원래 주말은 연재를 하지 않는데 이번주는 예외로 합니다. 다음 한주는 제가 휴가를 떠나기 때문에 강좌파일을 올릴 수 없을 것 같아서요. 대신 휴가 끝나고 나서 "엑셀 통신강좌_002"편을 띄우도록 하겠습니다. 혹시 다음 주에 게시판에 들어오셔서 강좌파일을 찾으실(?) 분들이 없으시도록!
오늘은 간단한 함수 한가지 살펴보고 가지요.
함수 중에 Text() 함수가 있습니다. 이 함수는 숫자값을 입력하면 거기에 사용자가 정의한 서식을 적용시켜
TEXT 함수로 숫자와 날짜 표시 형식 바꾸기
핵심 요약
- TEXT 함수는 숫자나 날짜 값에 지정한 표시 형식을 적용해 문자열로 변환합니다.
- 문자열 연결 연산자와 TEXT를 조합하면 날짜를 요일이나 설명 문장 속에 자연스럽게 표시할 수 있습니다.
- NOW 함수와 날짜 서식 코드를 함께 사용하면 현재 날짜와 시간을 원하는 형태로 나타낼 수 있습니다.
참고: 들어가기 전에의 마지막 문장(…사용자가 정의한 서식을 적용시켜)은 아래 수식으로 이어지는 문장입니다.
=text(숫자값, 사용자 정의 서식)
하게 되면 입력한 숫자값이 사용자가 지정한 서식의 형태대로 표시가 된다는 얘기지요. 즉, =text(123456.789, "#,##.0")라고 지정을 하면 어떻게 표시가 되느냐 하면 123,456.0으로 된다는 것입니다. 사용자 정의 서식에 대해서는 나중에 알아볼 것이고…
참고: 실제로 =TEXT(123456.789,"#,##.0")의 결과는 소수 첫째 자리에서 반올림되어 123,456.8로 표시됩니다. 본문의 123,456.0은 오류로 보이며, 원문은 그대로 두었습니다.
함수는 응용이 중요하다고 누차 말씀 드렸습니다. 전에 배운 & 연산자나 Concatenate() 함수를 조합하면 아래와 같은 것도 만들수가 있겠지요.
| 날짜 | 무슨 요일? |
| 2000-04-21 | 입력하신 그날은 Friday입니다요 |
| 1999-11-12 | 입력하신 그날은 Friday입니다요 |
즉 날짜를 입력하면 그날이 무슨 요일인지를 알려주는 기능을 수행하도록 말입니다. 자, 함수를 어떻게 조합하면 될까요? 딱 30초만 생각해 본 후 아래로 내려가세요.
="입력하신 그날은 " & TEXT(B23,"dddddd") & "입니다요"
요렇게 입력하고 엔터키를 탁 치면 기특하게도(!) "입력하신 그날은 어쩌구 저쩌구…"하면서 오늘의 날짜를 알려주지요.
참고: 위에 나온 수식에는 NOW 함수가 보이지 않습니다. 본문 설명(오늘의 날짜를 알려 줌)대로라면 TEXT 함수의 첫 인수를 NOW()로 한 형태이며, 표 예제처럼 날짜가 입력된 셀을 참조하려면 B23을 그대로 사용합니다. 원문은 그대로 두었습니다.
그리고 이 부분을 보니까 now()라는 생소한 함수가 또 하나 들어 있지요. Now()함수는 오늘의 날짜를 알려 주는 함수입니다. 아무 셀에나 가서 =now()라고 입력을 하고 엔터키를 치면
어때요? 재미있습니까? 모든 일은 재미가 있어야 속도도 붙고 성취감도 느껴지는 것이겠지요. 재미있다고 생각되는 분은 도움말을 참고해서 위 공식의 "dddddd" 부분을 여러가지로 바꿔가며 변경시켜 보세요. 더 재미있을 것입니다.
즉 =text(a1,"yyyy"), =text(a1, "mm"),…
여기서 a1은 날짜가 입력되어 있는 셀의 주소겠지요.
그럼 다음 주에 또…
정리 — TEXT 함수로 숫자와 날짜 표시 형식 바꾸기
| 구분 | 내용 |
|---|---|
| 함수 | TEXT(숫자값, 사용자 정의 서식): 숫자값에 지정한 서식을 적용해 표시 |
| 예제 1 | =text(123456.789, "#,##.0") |
| 예제 2 | ="입력하신 그날은 " & TEXT(B23,"dddddd") & "입니다요" 로 날짜의 요일을 문장 속에 표시 |
| NOW 함수 | NOW()는 오늘의 날짜와 시간을 알려 주는 함수 |
| 응용 | 서식 부분을 yyyy, mm 등으로 바꾸어 연도, 월 등을 표시 |
자주 묻는 질문 (FAQ)
Q1. TEXT 함수는 무엇을 하는 함수인가요?
숫자값에 사용자가 정의한 서식을 적용하여 지정한 형태대로 표시해 주는 함수입니다.
Q2. 날짜를 입력하면 요일을 알려 주는 수식은 어떻게 만드나요?
문자열 연결 연산자와 TEXT 함수를 조합하고 서식에 dddddd를 지정합니다. 예제는 날짜가 입력된 셀을 참조하여 입력하신 그날은 요일입니다요 형태의 문장을 만듭니다.
Q3. 서식 부분을 바꾸면 어떤 결과가 나오나요?
서식에 yyyy를 지정하면 연도, mm을 지정하면 월이 표시되는 식으로 결과가 달라집니다. 도움말을 참고하여 여러 가지로 바꿔 보시기 바랍니다.
마치며
TEXT 함수와 NOW 함수를 문자열과 조합하면 날짜와 시간을 원하는 문장으로 만들 수 있습니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.