=LEFT(A2,3)은 A2 텍스트의 처음 3글자를, =RIGHT(A2,1)은 마지막 글자를, =MID(A2,5,4)는 5번째 글자부터 4글자를 반환합니다. NYC-2041-B 코드라면 NYC, B, 2041입니다.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Code | City | Number | Size |
| 2 | NYC-2041-B | NYC | 2041 | B |
| 3 | LAX-1187-A | LAX | 1187 | A |
| 4 | SFO-3302-C | SFO | 3302 | C |
| 5 | BOS-0915-B | BOS | 0915 | B |
C2를 클릭해 5를 4로 바꿔 보세요. 결과가 이제 대시부터 시작합니다. 공백과 문장 부호도 글자로 세며, 첫 글자의 위치는 1입니다.
구문
=LEFT(text, [num_chars])
=RIGHT(text, [num_chars])
=MID(text, start_num, num_chars)
num_chars는 LEFT와 RIGHT에서 생략할 수 있으며 기본값은 1입니다.- 있는 글자보다 많이 요청하면 오류가 아니라 텍스트 전체가 나옵니다.
=LEFT("Ann",10)은Ann입니다. - 글자 수가 음수이면 #VALUE!가 나옵니다. 예를 들어 3글자보다 짧은 텍스트에
=LEFT(A2,LEN(A2)-3)을 쓸 때입니다.
길이가 달라질 때: FIND와 함께 쓰는 LEFT, RIGHT, MID
코드의 길이가 모두 같은 경우는 드뭅니다. FIND로 구분 기호를 찾고 글자 수는 수식이 계산하게 하세요:
| A | B | C | |
|---|---|---|---|
| 1 | Code | Before the dash | After the dash |
| 2 | NY-2041 | NY | 2041 |
| 3 | BOSTON-15 | BOSTON | 15 |
| 4 | LA-30087 | LA | 30087 |
FIND("-",A2)는 대시의 위치를 반환하며,NY-2041에서는 3입니다.LEFT(A2,3-1)은 그 앞의 2글자를 가져옵니다.MID(A2,3+1,50)은 대시 다음부터 시작해 최대 50글자를 가져옵니다. 어떤 코드보다도 긴 길이이므로 끝까지 닿습니다.
Microsoft 365와 Excel 2024에서는 TEXTBEFORE(A2,"-")와 TEXTAFTER(A2,"-")가 더 짧은 수식으로 같은 결과를 냅니다. 텍스트 나누기를 참고하세요.
앞이나 뒤의 글자 지우기
글자를 버리려면 나머지를 남깁니다. LEN이 전체 길이를 주고, 거기서 지울 만큼을 뺍니다:
| A | B | C | |
|---|---|---|---|
| 1 | Text | Without first 3 | Without last 2 |
| 2 | ID-58210 | 58210 | ID-582 |
| 3 | ID-7734 | 7734 | ID-77 |
| 4 | ID-120 | 120 | ID-1 |
| A | B | |
|---|---|---|
| 1 | Card | Last four |
| 2 | 4111 2222 3333 9876 |
직접 해 보세요: B2에서 A2에 있는 카드 번호의 마지막 4글자를 반환하세요.
코드에서 숫자 추출하기
LEFT, RIGHT, MID는 글자가 숫자여도 항상 텍스트를 반환합니다. 텍스트 숫자는 숫자처럼 보이지만 SUM이 건너뛰므로, 추출한 숫자의 합계가 0으로 나올 수 있습니다:
| A | B | C | |
|---|---|---|---|
| 1 | Order | MID (text) | VALUE(MID) |
| 2 | SO-0120-X | 0120 | 120 |
| 3 | SO-0345-Y | 0345 | 345 |
| 4 | SO-1000-Z | 1000 | 1000 |
| 5 | Total | 0 | 1465 |
B열은 아직 텍스트이므로 앞의 0이 붙은 0120을 보여 주고, B5의 합계는 0입니다. C열은 각 조각을 VALUE로 변환하므로 합계가 맞습니다. =--MID(A2,4,4)와 =MID(A2,4,4)*1도 같은 방식으로 변환합니다. 자세한 내용은 텍스트를 숫자로를 참고하세요.
| A | B | |
|---|---|---|
| 1 | Item | Quantity |
| 2 | PK-045-BAG |
직접 해 보세요: 수량은 두 대시 사이에 있고 항상 3자리입니다. B2에서 더할 수 있는 숫자로 수량을 추출하세요.
흔한 실수: 날짜에 LEFT 쓰기
날짜는 숫자로 저장되므로 2026-03-15 날짜에 =LEFT(B2,4)를 쓰면 2026이 나오지 않습니다. 날짜 뒤에 있는 일련번호 46096의 처음 4자리인 4609가 나옵니다.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Event | Date | LEFT(date,4) | Year |
| 2 | Launch | 2026-03-15 | 4609 | 2026 |
| 3 | 2026 |
연도를 숫자로 얻으려면 YEAR(B2)를, 텍스트로 얻으려면 TEXT(B2,"yyyy")를 쓰세요. 다른 부분은 MONTH, DAY와 "mmm"이나 "dd"를 쓰는 TEXT로 구합니다.
자주 묻는 질문
엑셀에서 앞의 N글자를 추출하려면 어떻게 하나요?
LEFT에 글자 수를 넣습니다: =LEFT(A2,3)은 처음 3글자를 반환합니다. 두 번째 인수가 없으면 =LEFT(A2)는 첫 글자만 반환합니다.
엑셀에서 앞이나 뒤의 글자를 지우려면 어떻게 하나요?
LEN으로 나머지를 남깁니다: =RIGHT(A2,LEN(A2)-3)은 처음 3글자를 지우고, =LEFT(A2,LEN(A2)-2)는 마지막 2글자를 지웁니다.
MID가 반환한 숫자를 더할 수 없는 이유는 무엇인가요?
LEFT, RIGHT, MID는 항상 텍스트를 반환하고 SUM은 텍스트를 건너뜁니다. VALUE나 빼기 기호 두 개로 결과를 숫자로 바꾸세요: =VALUE(MID(A2,5,4)) 또는 =--MID(A2,5,4).
엑셀에서 특정 문자 앞의 텍스트를 가져오려면 어떻게 하나요?
그 문자의 위치를 찾아 하나를 뺍니다: =LEFT(A2,FIND("-",A2)-1)은 첫 번째 대시 앞의 모든 것을 반환합니다. Microsoft 365에서는 =TEXTBEFORE(A2,"-")도 같은 일을 합니다.