본문으로 건너뛰기
ArumSoft Learning
EN

    엑셀 중급 · 12개 중 5번째 튜토리얼

    엑셀 텍스트 함수와 날짜 함수 사용법

    TRIM으로 이름을 정리하고, 코드에서 일부를 꺼내고, 값을 이어 붙여 레이블을 만들고, 마감까지 남은 근무일 수를 세는 방법을 배워요.

    난이도
    중급
    Time
    14분 분량
    수정:
    적용 대상:
    Microsoft 365용 Excel, Excel 2024, Excel 2021, Excel 2019, 웹용 Excel. TEXTBEFORE와 TEXTAFTER는 Microsoft 365, Excel 2024, 웹용 Excel에서 쓸 수 있어요.
    MID가 EMP-1190-SF의 5번째 글자부터 네 글자를 가져와요. 결과는 1190이에요.
    예시: MID가 EMP-1190-SF의 5번째 글자부터 네 글자를 가져와요. 결과는 1190이에요.

    배울 내용

    • TRIM과 CLEAN으로 불필요한 공백과 보이지 않는 문자 없애기
    • LEFT, RIGHT, MID, TEXTBEFORE, TEXTAFTER로 값의 일부 꺼내기
    • & 연산자, CONCAT, TEXTJOIN으로 여러 셀을 레이블 하나로 합치기
    • YEAR, MONTH, DAY, EOMONTH로 날짜의 일부를 꺼내고 월말 날짜 구하기
    • NETWORKDAYS로 두 날짜 사이의 근무일 수 세기

    함수 연습장

    이 함수들을 실제 시트에서 연습해 보세요

    엑셀처럼 생긴 시트에 수식을 입력하면 계산 과정을 단계별로 보여 줘요. 무료이고 가입도 필요 없어요.

    예제 파일

    엑셀 텍스트 함수와 날짜 함수 사용법.xlsx

    이 튜토리얼에서 사용하는 통합 문서를 내려받아 엑셀에서 직접 따라 해 보세요.

    엑셀 통합 문서(.xlsx) · 7 KB

    예제 파일 다운로드

    실제 목록은 깔끔한 경우가 거의 없어요. 이름에 공백이 붙어 들어오고, ID 하나에 여러 정보가 함께 들어 있고, 마감일은 달력 날짜가 아니라 근무일로 세어야 하죠. 텍스트 함수는 글자를 정리하고 모양을 바꿔 주고, 날짜 함수는 달력 계산을 아래로 복사할 수 있는 수식으로 바꿔 줘요. 이 글에서는 가장 자주 쓰는 함수들을 다뤄요.

    예제는 짧은 직원 목록이에요. A열에는 다른 시스템에서 내보낸 이름이 앞뒤에 공백이 붙은 채로 들어 있어요. ID는 접두어, 네 자리 번호, 사무소 코드의 세 부분으로 되어 있어요. 마감일 계산에 쓸 기준일은 H2에 있어요.

    ABCDEFGH
    1이름ID마감일정리된 이름ID 번호레이블남은 근무일기준일
    2 이지은 EMP-0472-NY2026-10-090472이지은 - EMP-0472-NY2026-09-28
    3 박준호 EMP-1190-SF2026-09-30박준호박준호 - EMP-1190-SF3
    4 최서연 EMP-0355-CHI2026-10-15최서연035514
    직원 세 명의 목록이에요. A열에는 정리되지 않은 이름, B열에는 ID, C열에는 마감일이 있어요. D~G열에는 정리하거나 계산한 값이 들어가고, D2, E3, F4, G2는 아직 비어 있어요.

    TRIM과 CLEAN으로 불필요한 공백 없애기

    눈으로 보기엔 똑같은 두 값이 서로 일치하지 않을 때가 있어요. 앞뒤에 공백이 붙은 " 이지은 "은 "이지은"과 같은 값이 아니에요. 그래서 조회가 실패하고, 중복된 항목 제거(Remove Duplicates)에서 중복으로 걸러지지 않고, 정렬할 때 엉뚱한 자리로 가요.

    TRIM은 텍스트 앞뒤의 공백을 없애고, 단어 사이에 여러 개 겹친 공백을 하나로 줄여 줘요.

    1. 정리된 값을 넣을 셀을 클릭하세요

      첫 번째 이름 옆의 D2를 클릭하세요.

    2. 수식을 입력하고 Enter 키를 누르세요

      =TRIM(A2)

      D2에 앞뒤 공백 없이 이지은이 표시돼요.

      ABCDEFGH
      1이름ID마감일정리된 이름ID 번호레이블남은 근무일기준일
      2 이지은 EMP-0472-NY2026-10-09이지은0472이지은 - EMP-0472-NY2026-09-28
      3 박준호 EMP-1190-SF2026-09-30박준호박준호 - EMP-1190-SF3
      4 최서연 EMP-0355-CHI2026-10-15최서연035514
      TRIM이 A2의 이름 앞뒤에 있는 공백을 없애 줘요.
    3. 필요하면 원래 값을 바꾸세요

      수식이 A열을 참조하고 있어서 아직 정리되지 않은 이름을 지우면 안 돼요. 정리된 이름만 남기고 싶다면 D2:D4를 복사하고, A2를 마우스 오른쪽 단추로 클릭한 다음 붙여넣기 옵션(Paste Options)에서 값(Values)을 고르세요. 그러면 D열을 지워도 돼요.

    CLEAN은 웹 페이지나 다른 프로그램에서 붙여 넣은 텍스트에 섞여 들어오는 줄 바꿈 같은 인쇄되지 않는 문자를 없애요. 엑셀 밖에서 가져온 데이터라면 두 함수를 함께 쓰세요: =TRIM(CLEAN(A2)).

    값의 일부 꺼내기

    다음 세 함수는 위치를 기준으로 글자를 꺼내요.

    함수돌려주는 값EMP-0472-NY로 해 본 예결과
    LEFT(text, n)앞에서부터 n글자=LEFT(B2,3)EMP
    RIGHT(text, n)뒤에서부터 n글자=RIGHT(B2,2)NY
    MID(text, start, n)start 위치부터 n글자=MID(B2,5,4)0472

    MID는 1부터 세고, 하이픈도 한 글자로 세요. EMP-0472-NY에서 1~3번째 글자는 EMP, 4번째는 첫 번째 하이픈이고, 번호는 5번째 글자부터 시작해요. 박준호의 번호를 꺼내려면 E3을 클릭하고 다음 수식을 입력하세요.

    =MID(B3,5,4)

    E3에 1190이 표시돼요.

    ABCDEFGH
    1이름ID마감일정리된 이름ID 번호레이블남은 근무일기준일
    2 이지은 EMP-0472-NY2026-10-09이지은0472이지은 - EMP-0472-NY2026-09-28
    3 박준호 EMP-1190-SF2026-09-30박준호1190박준호 - EMP-1190-SF3
    4 최서연 EMP-0355-CHI2026-10-15최서연035514
    MID가 EMP-1190-SF의 5번째 글자부터 네 글자를 가져와요. 결과는 1190이에요.

    텍스트 함수의 결과는 숫자처럼 보여도 항상 텍스트예요. 그래서 0472의 앞자리 0이 그대로 남아 있죠. 결과로 계산을 해야 한다면 VALUE로 감싸세요. =VALUE(MID(B2,5,4))는 숫자 472를 돌려줘요.

    TEXTBEFORE와 TEXTAFTER로 구분 기호 기준으로 나누기

    조각마다 길이가 다르면 위치로 꺼내는 방법은 통하지 않아요. 여기서는 사무소 코드가 NY, SF, CHI라서, =RIGHT(B4,2)는 최서연의 코드로 CHI가 아니라 HI를 돌려줘요.

    TEXTBEFORE와 TEXTAFTER는 구분 기호를 기준으로 나누기 때문에 글자 수를 셀 필요가 없어요.

    • =TEXTBEFORE(B4,"-")는 첫 번째 하이픈 앞의 EMP를 돌려줘요.
    • =TEXTAFTER(B4,"-")는 첫 번째 하이픈 뒤의 0355-CHI를 돌려줘요.
    • =TEXTAFTER(B4,"-",2)는 두 번째 하이픈 뒤의 CHI를 돌려줘요. 세 번째 인수로 몇 번째 하이픈에서 나눌지 정해요.
    • =TEXTAFTER(B4,"-",-1)도 CHI를 돌려줘요. 음수를 쓰면 하이픈을 뒤에서부터 세요.

    텍스트에 구분 기호가 없으면 두 함수 모두 #N/A를 돌려줘요.

    여러 값을 레이블 하나로 합치기

    값을 이어 붙이는 방법은 세 가지예요. 다음 두 수식은 모두 이지은 (EMP-0472-NY)를 돌려줘요.

    & 연산자
    =D2&" ("&B2&")"
    CONCAT
    =CONCAT(D2," (",B2,")")
    • & 연산자는 두 값을 이어 붙여요. 조각 사이마다 입력하세요.
    • CONCAT은 조각들을 인수 목록으로 받고, 범위도 받아요. =CONCAT(A2:C2)는 세 셀을 사이에 아무것도 넣지 않고 이어 붙여요.
    • TEXTJOIN은 모든 조각 사이에 같은 구분 기호를 넣고, 빈 셀은 건너뛸 수 있어요.

    &와 CONCAT은 공백을 알아서 넣어 주지 않아요. 위의 " ("처럼 따옴표 안에 직접 넣으세요.

    같은 구분 기호로 여러 조각을 이어 붙일 때는 TEXTJOIN이 가장 편해요.

    =TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
    • delimiter는 조각 사이에 넣을 텍스트예요. " - "나 ", " 같은 거죠.
    • ignore_empty를 TRUE로 쓰면 빈 셀을 건너뛰어서 구분 기호가 두 번 연달아 나오지 않아요.
    • text1, text2, ...는 이어 붙일 셀, 범위, 텍스트예요.

    F4에 최서연의 레이블을 만들어 보세요.

    =TEXTJOIN(" - ",TRUE,D4,B4)

    F4에 최서연 - EMP-0355-CHI가 표시돼요.

    ABCDEFGH
    1이름ID마감일정리된 이름ID 번호레이블남은 근무일기준일
    2 이지은 EMP-0472-NY2026-10-09이지은0472이지은 - EMP-0472-NY2026-09-28
    3 박준호 EMP-1190-SF2026-09-30박준호1190박준호 - EMP-1190-SF3
    4 최서연 EMP-0355-CHI2026-10-15최서연0355최서연 - EMP-0355-CHI14
    TEXTJOIN이 D4의 정리된 이름과 B4의 ID를 앞뒤에 공백을 둔 하이픈으로 이어 붙여요.

    CONCAT과 TEXTJOIN은 Excel 2019 이후 버전에서 쓸 수 있어요. 오래된 파일에서 보이는 CONCATENATE는 CONCAT과 비슷하지만 인수 하나로 범위 전체를 이어 붙이지는 못해요.

    날짜 다루기

    엑셀은 모든 날짜를 1900년 1월 1일을 1로 해서 날짜를 센 정수로 저장해요. 2026년 9월 28일은 46293이고, 셀의 날짜 서식은 보이는 모양만 바꿔요. 그래서 날짜로 계산을 할 수 있어요.

    =C2-H2

    이 수식은 9월 28일부터 10월 9일까지의 달력 날 수인 11을 돌려줘요. 결과가 날짜 서식으로 보이면 셀의 표시 형식을 일반(General)으로 바꾸세요.

    다음 함수들은 날짜를 나누거나 새 날짜를 만들어요.

    수식결과하는 일
    =YEAR(C2)2026C2 날짜의 연도
    =MONTH(C2)10월(1~12)
    =DAY(C2)9일
    =EOMONTH(C2,0)2026-10-31같은 달의 마지막 날
    =EOMONTH(C2,1)2026-11-30다음 달의 마지막 날
    =DATE(2026,12,31)2026-12-31연, 월, 일로 만든 날짜

    EOMONTH는 "월말 지급" 같은 결제 조건을 계산할 때 편해요. 두 번째 인수에 쓴 개월 수만큼 뒤(양수)나 앞(음수)의 달로 이동해요. 결과가 46326 같은 숫자로 보일 수 있는데, 그럴 때는 홈 then 표시 형식 then 표시 형식 목록에서 간단한 날짜(Short Date)를 골라 날짜 서식을 지정하세요.

    =TODAY()는 오늘 날짜를 돌려주고, 통합 문서가 다시 계산될 때마다 바뀌어요. 인수는 없지만 빈 괄호는 꼭 입력해야 해요. 내일이 되어도 바뀌지 않는 고정된 값으로 오늘 날짜를 입력하려면 Ctrl+;를 누르세요.

    NETWORKDAYS로 근무일 수 세기

    NETWORKDAYS는 두 날짜 사이의 평일(월요일~금요일) 수를 시작일과 종료일을 모두 포함해서 세요.

    =NETWORKDAYS(start_date, end_date, [holidays])
    1. 결과를 넣을 셀을 클릭하세요

      이지은의 행에 있는 G2를 클릭하세요.

    2. 수식을 입력하세요

      시작 날짜를 먼저, 마감일을 나중에 쓰세요. $ 기호가 기준일을 고정해 주기 때문에 수식을 아래로 복사해도 기준일은 그대로예요.

      =NETWORKDAYS($H$2,C2)
    3. Enter 키를 누르고 아래로 복사하세요

      G2에 10이 표시돼요. 9월 28일 월요일부터 10월 9일 금요일까지 근무일로 2주예요. 수식을 G3과 G4에 복사하면 3과 14가 나와요.

      ABCDEFGH
      1이름ID마감일정리된 이름ID 번호레이블남은 근무일기준일
      2 이지은 EMP-0472-NY2026-10-09이지은0472이지은 - EMP-0472-NY102026-09-28
      3 박준호 EMP-1190-SF2026-09-30박준호1190박준호 - EMP-1190-SF3
      4 최서연 EMP-0355-CHI2026-10-15최서연0355최서연 - EMP-0355-CHI14
      NETWORKDAYS가 9월 28일부터 10월 9일까지의 평일을 두 날짜 모두 포함해서 세요. 결과는 10이에요.

    두 날짜를 모두 세기 때문에 박준호의 결과는 월요일, 화요일, 수요일의 3이에요. 시작일을 빼고 싶다면 1을 빼세요.

    공휴일이나 회사 휴무일을 건너뛰려면 날짜를 범위에 적어 두고 세 번째 인수로 넣으세요. K2:K5에 휴일 목록이 있고, 그중 하나인 2026년 10월 9일(금요일, 한글날)이 최서연의 기간에 들어 있다면 =NETWORKDAYS($H$2,C4,$K$2:$K$5)는 14가 아니라 13을 돌려줘요.

    실제로 쓰는 관리표라면 시작 날짜로 TODAY()를 쓰세요. =NETWORKDAYS(TODAY(),C2)는 오늘을 포함해서 남은 근무일을 항상 보여 줘요. 주말이 토요일과 일요일이 아니라면 주말 요일을 고를 수 있는 NETWORKDAYS.INTL을 쓰세요.

    자주 하는 실수

    • 텍스트 결과가 텍스트라는 걸 잊기. =LEFT(B2,3)+1은 #VALUE!를 돌려주고, =MID(B2,5,4)의 결과는 텍스트라서 SUM이 무시해요. 숫자가 필요하면 VALUE로 감싸세요.
    • 위치를 0부터 세기. 첫 번째 글자의 위치는 1이에요. =MID(B2,4,4)는 4번째 글자가 하이픈이라서 -047을 돌려줘요.
    • 텍스트로 저장된 날짜. 텍스트로 입력되거나 가져온 날짜(셀 왼쪽에 붙어 있을 때가 많아요)에는 YEAR, EOMONTH, NETWORKDAYS가 #VALUE!를 돌려줘요. 날짜 함수를 쓰기 전에 예를 들어 데이터 then 데이터 도구 then 텍스트 나누기로 진짜 날짜로 바꾸세요.
    • NETWORKDAYS의 날짜 순서를 바꿔 쓰기. 나중 날짜를 먼저 쓰면 결과가 음수가 돼요. =NETWORKDAYS(C2,$H$2)는 -10을 돌려줘요.
    • 이어 붙일 때 공백 빼먹기. =D2&B2는 이지은EMP-0472-NY가 돼요. 구분 기호를 따옴표 안에 넣거나 TEXTJOIN을 쓰세요.

    연습

    연습

    실제 연락처 목록 정리하기

    1. 이름, ID나 코드, 날짜가 들어 있는 목록을 하나 여세요. 연락처 내보내기 파일, 직원 명단, 할 일 목록 등 무엇이든 좋아요. 마땅한 게 없다면 이 글의 세 행을 입력하세요.
    2. TRIM으로 이름을 정리하는 열을 추가하세요. 엑셀 밖에서 가져온 데이터라면 TRIM(CLEAN(...))을 쓰세요.
    3. LEFT, RIGHT, MID, TEXTAFTER 중 하나로 각 ID나 코드에서 정해진 부분을 꺼내세요. 조각의 길이가 다른 행에서도 제대로 나오는지 확인하세요.
    4. TEXTJOIN으로 정리된 이름과 ID를 이어 붙인 표시용 레이블을 만드세요.
    5. 마감일 열을 추가하고, 고정된 셀의 날짜부터, 그다음에는 TODAY()부터 NETWORKDAYS로 남은 근무일을 세어 보세요. 휴일 범위를 추가하고 결과가 어떻게 바뀌는지 보세요.

    그다음 아래 시트의 빈 셀 네 개를 채워 보세요.

    직접 해 보기4개 중 0개 완료

    1. D2에 A2의 이름 앞뒤에 붙은 공백을 없애 보세요.
    2. E3에 MID로 B3의 ID에서 5번째 글자부터 시작하는 네 자리 번호를 꺼내 보세요.
    3. F4에 TEXTJOIN으로 D4의 정리된 이름과 B4의 ID를 " - "로 이어 붙여 보세요.
    4. G2에 H2의 기준일부터 C2의 마감일까지 근무일이 며칠인지 세어 보세요.

    점선으로 표시된 셀을 클릭하고, 입력줄에 수식을 쓴 다음 Enter를 누르세요.

    ABCDEFGH
    1이름ID마감일정리된 이름ID 번호레이블남은 근무일기준일
    2 이지은 EMP-0472-NY2026-10-090472이지은 - EMP-0472-NY2026-09-28
    3 박준호 EMP-1190-SF2026-09-30박준호박준호 - EMP-1190-SF3
    4 최서연 EMP-0355-CHI2026-10-15최서연035514

    실력 점검

    • TRIM으로 셀의 불필요한 공백을 없애고, 공백 때문에 조회가 실패하는 이유를 설명할 수 있나요?
    • LEFT, RIGHT, MID, TEXTAFTER로 값의 일부를 꺼낼 수 있나요?
    • TEXTJOIN이나 CONCAT으로 두 셀을 레이블 하나로 합칠 수 있나요?
    • EOMONTH로 그달의 마지막 날을 구할 수 있나요?
    • NETWORKDAYS로 두 날짜 사이의 근무일 수를 셀 수 있나요?

    관련 자료

    도움이 되었나요? 틀린 부분을 발견하셨나요? 피드백 보내기 · admin@arumsoft.com