- 최초 작성일: 1999-09-18
- 최종 수정일: 2026-09-29
- 조회수: 27 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: TEXT 함수 응용
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
어제 내드린 숙제에 대해 연구 많이들 해 보셨는지요?
아무도 답을 보내지 않으셨더군요. 너무 쉬워서 그런지 아니면 그 반대인지 모르겠지만, 암튼…
어제 문제가 뭐냐하면,
"아래의 표를 이용해서 총 가동시간과 그 기간동안의 총 소요경비를 산출하라"는 것이었지요?
TEXT 함수 응용
핵심 요약
- TEXT 함수와 [m] 형식을 이용하면 24시간을 넘는 시간 차이를 누적 분으로 표시할 수 있습니다.
- m·mm·mmm·mmmm과 d·dd·ddd·dddd 같은 형식 문자열로 월과 날짜 표시 형태를 바꿀 수 있습니다.
- @ 형식 문자를 이용하면 기존 문자열의 앞이나 뒤에 원하는 문자를 붙여 표시할 수 있습니다.
| 구분 | 시간 |
| 가동시작시간 | 1999-09-12 |
| 가동정지시간 | 1999-09-17 |
| 분당 전력 소모량 | 15 |
| 분당 소모 경비 | 1,350 |
어제 어떤 분이 분당 소모 경비가 아니고 전력소모량이 맞지 않느냐고 하셨는데 엄밀히 말하자면 그게 맞겠네요.
참고: 표에는 날짜만 남아 있으나 아래의 총 소요시간 7,770분은 5일(7,200분)보다 570분(9시간 30분) 많으므로, 원문의 가동시작·정지 셀에는 시각도 들어 있었던 것으로 보입니다. 원문 그대로 두었습니다.
(1) 총 소요시간은 7,770分이고
(2) 총 소요경비는 157,342,500원 입니다요!
어떻게 하면 될까요? 1분 더 생각하신 후 아래를 보세요.
어제 힌트 드린대로 꺾은 괄호를 text()함수와 함께 사용하여 아래와 같이 응용하면 되겠지요?
="(1) 총 소요시간은 " & TEXT(TEXT(C8-C7,"[m]"),"#,##0") & "分이고"
="(2) 총 소요경비는 " & TEXT(TEXT(C8-C7,"[m]")*C9*C10,"#,##0") & "원 입니다요!"
사용자 정의 서식을 설정하는데 사용되는 특수한 문자열이 있습니다. 예를 들어 사용자가 m이라는 문자를 넣으면 컴퓨터(엑셀)는 '아! 월(달)을 의미하는구나'하고 인식을 하게 되는 것입니다. 이런 특수 문자열에 대해 설명을 드려야 이해가 빠를 것 같군요.
| 1999-09-19 | 9 | =TEXT(B27,"m") | ① |
| 09 | =TEXT(B27,"mm") | ② | |
| Sep | =TEXT(B27,"mmm") | ③ | |
| September | =TEXT(B27,"mmmm") | ④ | |
| September | =TEXT(B27,"mmmmmmm") | ⑤ |
이해가 가십니까? m이 1개 이면 월에 해당하는 값을 1자리수에 맞게 표시하고(①의 경우), m이 2개 이면 2자리수에 맞게(②의 경우), m이 3개이면 3자리수에 맞게 표시를 해 주는 것입니다. 그런데 m이 4개 이상이면(④, ⑤의 경우처럼) 4개와 똑같은 것으로 취급합니다.
그렇다면 이번에는 m을 d로 바꾼 후 위와 같은 테스트를 직접 해 보세요. 어떤 일이 생기나…
| 1999-09-19 | 19 | =TEXT(B40,"d") | ① |
| 19 | =TEXT(B40,"dd") | ② | |
| Sun | =TEXT(B27,"ddd") | ③ | |
| Sunday | =TEXT(B40,"dddd") | ④ | |
| Sunday | =TEXT(B40,"dddddddd") | ⑤ |
참고: 월과 요일 이름(Sep, September, Sun, Sunday)은 사용하는 Excel의 언어 설정에 따라 달라질 수 있습니다. 예를 들어 한국어 설정에서는 mmmm이 9월, dddd가 일요일처럼 표시됩니다.
어때요? 월(달)이나 비슷하지요? 차이가 있다면 d를 3개 이상 주니까 숫자 형태의 날짜이던 영문으로 표시된다는 것 정도이지요.
이것 이외에도 @가 있습니다(이것 그저 참고만 하세요). 예를 들어 볼까요?
| 강동 | 강동지점 | =TEXT(B53,"@지점") |
| 지점강동 | =TEXT(B53,"지점@") |
즉 @는 연속하여 값을 입력할 때 쓰는 특수 문자열인 것입니다. 아시겠지요?
오늘은 여기까지… 그러고 보니 낼모레가 추석이군요. 추석 잘들 보내시기 바랍니다.
정리 — TEXT 함수 응용
| 구분 | 내용 |
|---|---|
| 숙제 풀이 | TEXT 함수와 대괄호 분 서식으로 총 소요시간과 경비 계산 |
| 총 소요시간 | 7,770분 |
| 총 소요경비 | 157,342,500원 |
| 월 서식 | m은 1자리, mm은 2자리, mmm은 3자리, mmmm 이상은 4개와 같이 처리 |
| 일 서식 | d와 dd는 숫자, ddd 이상은 요일 이름 형태로 표시 |
| @ 서식 | 기존 문자열의 앞이나 뒤에 문자를 붙여 표시 |
자주 묻는 질문 (FAQ)
Q1. 24시간을 넘는 시간 차이를 분으로 구하려면 어떻게 하나요?
TEXT 함수에 대괄호로 묶은 분 서식을 지정해 시간 차이를 누적 분으로 구합니다.
Q2. 월과 날짜의 서식 문자는 어떻게 다른가요?
m이 1개면 한 자리, 2개면 두 자리로 표시하고 3개 이상이면 이름 형태로 표시합니다. 4개 이상은 4개와 같습니다. d도 같은 방식입니다.
Q3. @ 서식 문자는 무엇을 하나요?
기존 문자열에 다른 문자를 이어 붙일 때 쓰는 특수 문자열입니다. 예를 들어 강동에 지점을 붙여 강동지점으로 표시할 수 있습니다.
마치며
서식 문자열의 규칙을 알아 두면 TEXT 함수로 원하는 표시 형태를 자유롭게 만들 수 있습니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.