엑셀 텍스트 함수 정리: LEFT·MID·FIND·SUBSTITUTE·TEXTJOIN과 텍스트 나누기

TUREFF• •0
주소에서 시·도만 떼어 내고, 전화번호의 하이픈을 지우고, 이름과 직급을 한 칸으로 합치는 일은 텍스트 함수 몇 개면 해결됩니다. 자주 쓰는 순서대로 정리하고, 함수 없이 쓰는 '텍스트 나누기'까지 소개합니다.

글자 잘라 내기: LEFT, RIGHT, MID

  • LEFT(텍스트, 글자 수): 왼쪽에서 몇 글자. =LEFT(A2,4) 는 '20261009'에서 '2026'.
  • RIGHT(텍스트, 글자 수): 오른쪽에서 몇 글자. 주민번호나 카드번호 뒷자리 확인에 씁니다.
  • MID(텍스트, 시작 위치, 글자 수): 중간에서 잘라 냅니다. =MID(A2,5,2) 는 '10'.
한글도 영문도 한 글자를 1로 셉니다. 결과는 숫자처럼 보여도 텍스트이므로 계산에 쓰려면 앞에 VALUE를 붙이거나 1을 곱하면 됩니다.

길이와 위치: LEN, FIND, SEARCH

  • LEN(텍스트): 글자 수. 공백도 셉니다. 입력값 자릿수 확인(사업자번호 10자리 등)에 유용합니다.
  • FIND(찾을 글자, 텍스트): 찾을 글자가 몇 번째에 있는지 숫자로 돌려줍니다. 대소문자를 구분합니다.
  • SEARCH: FIND와 같지만 대소문자를 구분하지 않습니다.
FIND는 혼자보다 LEFT·MID와 같이 쓸 때 진가가 나옵니다. 이메일 주소에서 아이디만 뽑으려면, =LEFT(A2,FIND("@",A2)-1) 도메인만 뽑으려면, =MID(A2,FIND("@",A2)+1,LEN(A2)) '서울특별시 강남구 ...' 같은 주소에서 첫 단어만 뽑을 때는 =LEFT(A2,FIND(" ",A2)-1) 입니다. 찾는 글자가 없으면 #VALUE! 오류가 나니 IFERROR로 감싸 두세요.

바꾸고 다듬기: SUBSTITUTE, TRIM, CLEAN

  • SUBSTITUTE(텍스트, 바꿀 글자, 새 글자): =SUBSTITUTE(A2,"-","") 는 010-1234-5678을 01012345678로 만듭니다.
  • TRIM(텍스트): 앞뒤 공백을 지우고 단어 사이 공백을 하나로 줄입니다. VLOOKUP이 #N/A를 낼 때 가장 먼저 의심할 것이 공백입니다.
  • CLEAN(텍스트): 줄 바꿈 같은 인쇄되지 않는 문자를 지웁니다.
웹에서 복사한 자료에는 TRIM으로도 안 지워지는 특수 공백(줄 바꿈 없는 공백)이 섞여 있을 때가 있습니다. 그럴 때는 =TRIM(SUBSTITUTE(A2,CHAR(160)," ")) 를 써 보세요.

숫자와 날짜를 원하는 모양으로: TEXT

TEXT(값, "표시 형식")은 숫자나 날짜를 정해진 모양의 텍스트로 바꿉니다.
  • =TEXT(A2,"#,##0") → 1,250,000
  • =TEXT(A2,"yyyy-mm-dd") → 2026-10-09
  • =TEXT(A2,"0000") → 7을 0007로 (사번 앞자리 0 채우기)
문장 안에 금액이나 날짜를 넣을 때 특히 필요합니다. 그냥 붙이면 날짜가 46000 같은 숫자로 나오기 때문입니다. ="계약일: "&TEXT(B2,"yyyy년 m월 d일")

합치기: &, CONCAT, TEXTJOIN

  • & 연산자: =A2&" "&B2 처럼 이어 붙입니다. 가장 간단하고 모든 버전에서 됩니다.
  • CONCAT(범위): 범위를 통째로 이어 붙입니다. 예전 CONCATENATE를 대신하는 함수입니다.
  • TEXTJOIN(구분 기호, 빈 셀 무시 여부, 범위): 구분 기호를 넣어 합치고 빈 셀은 건너뜁니다. =TEXTJOIN(", ",TRUE,A2:A10) 은 명단을 쉼표로 이은 한 줄로 만듭니다.
CONCAT과 TEXTJOIN은 Excel 2019부터 들어간 함수라 2016 이하에서는 #NAME? 오류가 납니다. 이 경우에는 & 연산자를 쓰세요.

함수 없이 나누기: 텍스트 나누기

'홍길동/영업팀/과장'처럼 구분 기호가 일정한 자료는 메뉴 하나로 여러 열로 나뉩니다.
  1. 나눌 열을 선택합니다. 오른쪽 열은 결과가 덮어쓰므로 비워 두세요.
  2. 데이터 탭 → 텍스트 나누기를 누릅니다.
  3. '구분 기호로 분리됨'을 고르고 다음.
  4. 쉼표, 공백, 기타(/ 입력) 중 구분 기호를 선택합니다.
  5. 마지막 단계에서 사번이나 우편번호처럼 앞자리 0이 있는 열은 열 데이터 서식을 '텍스트'로 지정하고 마침을 누릅니다.
Microsoft 365와 Excel 2024에는 TEXTSPLIT, TEXTBEFORE, TEXTAFTER 함수도 있습니다. =TEXTBEFORE(A2,"@") 한 줄로 이메일 아이디를 뽑을 수 있어 위의 LEFT와 FIND 조합보다 간단합니다. 다만 구버전과 파일을 주고받는다면 지금까지 소개한 함수가 안전합니다.

자주 쓰는 조합 정리

  1. 이메일 아이디: =LEFT(A2,FIND("@",A2)-1)
  2. 하이픈 제거: =SUBSTITUTE(A2,"-","")
  3. 공백 정리: =TRIM(A2)
  4. 앞자리 0 채우기: =TEXT(A2,"000000")
  5. 명단 한 줄로: =TEXTJOIN(", ",TRUE,A2:A30)
텍스트 함수로 해결이 안 되는 데이터 정리 문제가 있다면 예시 값과 원하는 결과를 댓글로 남겨 주세요. 더 짧게 쓰는 방법을 알고 계신 분의 팁도 환영합니다.

Comments (0)