=LEFT(A2,3) trả về 3 ký tự đầu của văn bản ở A2, =RIGHT(A2,1) trả về ký tự cuối, và =MID(A2,5,4) trả về 4 ký tự bắt đầu từ ký tự thứ 5. Với mã NYC-2041-B, kết quả là NYC, B và 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 |
Bấm vào C2 và đổi số 5 thành 4: kết quả giờ bắt đầu từ dấu gạch. Dấu cách và dấu câu cũng được tính là ký tự, và ký tự đầu tiên ở vị trí 1.
Cú pháp
=LEFT(text, [num_chars])
=RIGHT(text, [num_chars])
=MID(text, start_num, num_chars)
num_charskhông bắt buộc trong LEFT và RIGHT, mặc định là 1.- Nếu bạn lấy nhiều ký tự hơn số ký tự đang có, bạn nhận được toàn bộ văn bản chứ không bị lỗi.
=LEFT("Ann",10)làAnn. - Số ký tự âm cho #VALUE!, ví dụ
=LEFT(A2,LEN(A2)-3)trên một văn bản ngắn hơn 3 ký tự.
Khi độ dài thay đổi: LEFT, RIGHT và MID kết hợp FIND
Các mã hiếm khi dài bằng nhau. Hãy dùng FIND để tìm vị trí ký tự phân cách và để công thức tự tính số ký tự:
| 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)trả về vị trí của dấu gạch, là 3 trongNY-2041.LEFT(A2,3-1)lấy 2 ký tự đứng trước nó.MID(A2,3+1,50)bắt đầu ngay sau dấu gạch và lấy tối đa 50 ký tự, nhiều hơn độ dài của mọi mã, nên lấy được đến hết.
Trong Microsoft 365 và Excel 2024, TEXTBEFORE(A2,"-") và TEXTAFTER(A2,"-") cho cùng kết quả với công thức ngắn hơn; xem tách văn bản.
Xóa các ký tự đầu hoặc cuối
Để bỏ ký tự, hãy giữ lại phần còn lại. LEN cho tổng độ dài, rồi bạn trừ đi số ký tự muốn xóa:
| 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 |
Đến lượt bạn: Trong B2, trả về 4 ký tự cuối của số thẻ ở A2.
Tách số từ một mã
LEFT, RIGHT và MID luôn trả về văn bản, kể cả khi các ký tự là chữ số. Chữ số dạng văn bản trông như số nhưng SUM bỏ qua chúng, nên tổng các số tách ra có thể bằng 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 |
Cột B hiện 0120 còn nguyên số 0 ở đầu vì vẫn là văn bản, và B5 có tổng bằng 0. Cột C chuyển từng phần bằng VALUE và tổng thì đúng. =--MID(A2,4,4) và =MID(A2,4,4)*1 chuyển đổi theo cùng cách; xem thêm ở chuyển văn bản thành số.
| A | B | |
|---|---|---|
| 1 | Item | Quantity |
| 2 | PK-045-BAG |
Đến lượt bạn: Số lượng nằm giữa hai dấu gạch và luôn có 3 chữ số. Trong B2, tách nó ra thành một số có thể cộng được.
Lỗi thường gặp: dùng LEFT trên ngày tháng
Ngày được lưu dưới dạng số, nên =LEFT(B2,4) trên ngày 2026-03-15 không trả về 2026: nó trả về 4609, 4 chữ số đầu của 46096, số sê-ri đứng sau ngày đó.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Event | Date | LEFT(date,4) | Year |
| 2 | Launch | 2026-03-15 | 4609 | 2026 |
| 3 | 2026 |
Dùng YEAR(B2) để lấy năm dưới dạng số, hoặc TEXT(B2,"yyyy") để lấy năm dưới dạng văn bản. MONTH, DAY và TEXT với "mmm" hoặc "dd" lấy các phần còn lại.
Câu hỏi thường gặp
Làm sao lấy N ký tự đầu tiên trong Excel?
Dùng LEFT với số ký tự cần lấy: =LEFT(A2,3) trả về 3 ký tự đầu. Không có đối số thứ hai, =LEFT(A2) chỉ trả về ký tự đầu tiên.
Làm sao xóa các ký tự đầu hoặc cuối trong Excel?
Giữ lại phần còn lại bằng LEN: =RIGHT(A2,LEN(A2)-3) xóa 3 ký tự đầu và =LEFT(A2,LEN(A2)-2) xóa 2 ký tự cuối.
Vì sao không cộng được các số mà MID trả về?
LEFT, RIGHT và MID luôn trả về văn bản, mà SUM thì bỏ qua văn bản. Hãy chuyển kết quả thành số bằng VALUE hoặc hai dấu trừ: =VALUE(MID(A2,5,4)) hoặc =--MID(A2,5,4).
Làm sao lấy phần văn bản đứng trước một ký tự trong Excel?
Tìm vị trí của ký tự đó rồi lấy bớt đi một: =LEFT(A2,FIND("-",A2)-1) trả về mọi thứ trước dấu gạch đầu tiên. Trong Microsoft 365, =TEXTBEFORE(A2,"-") làm điều tương tự.