Menu

Hàm LEFT, RIGHT, MID trong Excel: cắt chuỗi ký tự

=LEFT(A2,3) trả về 3 ký tự đầu của A2, =RIGHT(A2,2) trả về 2 ký tự cuối, và =MID(A2,5,4) trả về 4 ký tự bắt đầu từ ký tự thứ 5. Kết hợp với FIND và LEN khi độ dài thay đổi.

Mọi bảng tính trên trang này đều trực tiếp: đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

=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.

Tách một mã thành từng phần
B2
ABCD
1CodeCityNumberSize
2NYC-2041-BNYC2041B
3LAX-1187-ALAX1187A
4SFO-3302-CSFO3302C
5BOS-0915-BBOS0915B
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

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_chars khô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ự:

Văn bản trước và sau dấu gạch
B2
ABC
1CodeBefore the dashAfter the dash
2NY-2041NY2041
3BOSTON-15BOSTON15
4LA-30087LA30087
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.
  • FIND("-",A2) trả về vị trí của dấu gạch, là 3 trong NY-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:

Xóa ký tự ở đầu hoặc cuối
B2
ABC
1TextWithout first 3Without last 2
2ID-5821058210ID-582
3ID-77347734ID-77
4ID-120120ID-1
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.
Bốn chữ số cuối
B2
AB
1CardLast four
24111 2222 3333 9876
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đế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:

Chữ số dạng văn bản và số thật
B2
ABC
1OrderMID (text)VALUE(MID)
2SO-0120-X0120120
3SO-0345-Y0345345
4SO-1000-Z10001000
5Total01465
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

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ố.

Lấy ra số lượng
B2
AB
1ItemQuantity
2PK-045-BAG
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đế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 đó.

LEFT đọc con số bên dưới ngày tháng
C2
ABCD
1EventDateLEFT(date,4)Year
2Launch2026-03-1546092026
32026
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

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ự.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu