Hàm MID trong Excel là công cụ mạnh mẽ để trích xuất chuỗi con từ văn bản gốc tại vị trí và độ dài xác định. Cú pháp: =MID(Text, Startnum, Numchars) với Text là chuỗi cần trích xuất, Startnum là vị trí bắt đầu (tính từ 1), Numchars là số ký tự muốn lấy.
Ví dụ: =MID("FPT Shop", 5, 4) sẽ trả về “Shop”. Hàm này hữu ích cho việc tách họ tên, mã sản phẩm, mã khu vực từ chuỗi có định dạng cố định, hoặc trích xuất ngày tháng từ văn bản. Đây là công cụ không thể thiếu khi xử lý dữ liệu văn bản trong Excel.
Hàm MID trong Excel có thể trích xuất bất kỳ đoạn text nào từ vị trí bạn muốn với độ chính xác tuyệt đối. Tôi chỉ phát hiện ra sức mạnh thực sự của nó sau 3 năm vật lộn với việc tách dữ liệu bằng tay.
Thực ra, MID không chỉ là hàm cắt text đơn thuần. Nó là công cụ giúp bạn kiểm soát hoàn toàn việc trích xuất thông tin từ chuỗi văn bản phức tạp. Từ việc tách mã sản phẩm đến xử lý số điện thoại, từ phân tích dữ liệu khách hàng đến làm sạch database – MID có thể xử lý tất cả.
Cú Pháp MID Đơn Giản Nhưng Mạnh Mẽ
=MID(Text, Startnum, Numchars)
Ba tham số này quyết định mọi thứ:
- Text: Chuỗi văn bản gốc (có thể là ô tham chiếu)
- Start_num: Vị trí bắt đầu (đếm từ 1, không phải 0)
- Num_chars: Số ký tự muốn lấy
Điều tôi ấn tượng nhất về MID là tính linh hoạt. Bạn có thể kết hợp nó với các hàm khác để tạo ra những công thức xử lý text cực kỳ thông minh.
Ví Dụ Cơ Bản Để Hiểu Ngay Logic
Với chuỗi “FPT Shop” trong ô A1:
=MID(A1, 5, 4)
Kết quả: “Shop”
Tại sao lại là vị trí 5? Hãy đếm: F(1) – P(2) – T(3) – khoảng trắng(4) – S(5). Ký tự ‘S’ chính là vị trí thứ 5, và từ đó lấy 4 ký tự tiếp theo.
Tôi từng mắc lỗi đếm sai vị trí này rất nhiều lần. Mẹo nhỏ: luôn kiểm tra bằng cách dùng hàm LEN để đếm tổng số ký tự, rồi xác định vị trí chính xác.
Trích Xuất Mã Sản Phẩm Từ Chuỗi Phức Tạp
Trong công việc thực tế, tôi thường gặp dữ liệu dạng: “SP001-Laptop Dell XPS 13-2023”
Để lấy mã sản phẩm “SP001”:
=MID(A1, 1, 5)
Nhưng nếu mã sản phẩm có độ dài khác nhau thì sao? Đây là lúc tôi kết hợp MID với FIND:
=MID(A1, 1, FIND(“-“, A1) – 1)
Công thức này tự động tìm dấu gạch ngang đầu tiên, rồi lấy tất cả ký tự trước đó. Thông minh hơn nhiều so với việc đếm thủ công.
Tách Số Điện Thoại Theo Định Dạng
Với số điện thoại “0123-456-789”, tôi muốn tách thành 3 phần:
Mã vùng:
=MID(A1, 1, 4)
Kết quả: “0123”
Số giữa:
=MID(A1, 6, 3)
Kết quả: “456”
Số cuối:
=MID(A1, 10, 3)
Kết quả: “789”
Điều hay ở đây là tôi có thể tự động hóa toàn bộ quá trình này cho hàng nghìn số điện thoại cùng lúc.
Kết Hợp MID Với Các Hàm Khác Tạo Phép Màu
Trích Xuất Tên File Từ Đường Dẫn
Với đường dẫn “C:\Documents\Reports\Sales_2023.xlsx”, tôi muốn lấy tên file:
=MID(A1, FIND(“~”, SUBSTITUTE(A1, “\”, “~”, LEN(A1) – LEN(SUBSTITUTE(A1, “\”, “”)))) + 1, 255)
Công thức này tìm dấu gạch chéo cuối cùng, rồi lấy tất cả ký tự sau đó. Kết quả: “Sales_2023.xlsx”
Tách Ngày Tháng Từ Chuỗi Text
Với chuỗi “Báo cáo ngày 15/03/2023 – Phòng IT”:
=MID(A1, FIND(“ngày “, A1) + 5, 10)
Kết quả: “15/03/2023”
Tôi thường dùng trick này để xử lý dữ liệu export từ các hệ thống cũ có format không chuẩn.
Xử Lý Dữ Liệu Khách Hàng Thông Minh
Trong database khách hàng, tôi có cột “Thông tin” chứa: “Nguyễn Văn A – 0123456789 – Ha Noi”
Tách tên:
=MID(A1, 1, FIND(” – “, A1) – 1)
Tách số điện thoại:
=MID(A1, FIND(” – “, A1) + 3, FIND(” – “, A1, FIND(” – “, A1) + 1) – FIND(” – “, A1) – 3)
Tách địa chỉ:
=MID(A1, FIND(” – “, A1, FIND(” – “, A1) + 1) + 3, 255)
Ban đầu công thức này trông phức tạp, nhưng logic rất đơn giản: tìm delimiter đầu tiên, rồi delimiter thứ hai, sau đó lấy text ở giữa.
Tricks Nâng Cao Với MID
Loại Bỏ Ký Tự Đầu và Cuối
Để bỏ ký tự đầu và cuối của chuỗi:
=MID(A1, 2, LEN(A1) – 2)
Với “Hello” sẽ thành “ell”.
Lấy N Ký Tự Cuối
=MID(A1, LEN(A1) – 2, 3)
Lấy 3 ký tự cuối cùng của chuỗi.
Kiểm Tra Ký Tự Tại Vị Trí Cụ Thể
=MID(A1, 5, 1)
Trả về chính xác ký tự thứ 5 trong chuỗi.
Những Lỗi Thường Gặp Khi Dùng MID
Lỗi 1: Đếm vị trí từ 0
Excel đếm từ 1, không phải 0 như nhiều ngôn ngữ lập trình khác.
Lỗi 2: Quên tính khoảng trắng
Khoảng trắng cũng được tính là một ký tự.
Lỗi 3: Num_chars lớn hơn độ dài chuỗi
Excel sẽ trả về tất cả ký tự có thể, không báo lỗi.
Lỗi 4: Start_num âm hoặc 0
Sẽ trả về lỗi #VALUE!
Khi Nào Nên Dùng MID Thay Vì LEFT/RIGHT
Tôi dùng MID khi:
- Cần lấy text ở giữa chuỗi
- Vị trí bắt đầu không cố định
- Muốn kết hợp với FIND/SEARCH để tìm delimiter
- Xử lý dữ liệu có cấu trúc phức tạp
LEFT/RIGHT chỉ phù hợp khi lấy từ đầu hoặc cuối với số ký tự cố định.
Tối Ưu Hóa Performance Với MID
Khi xử lý file lớn, tôi học được một số mẹo:
- Tránh nested quá nhiều lần: Chia nhỏ công thức phức tạp thành nhiều cột trung gian
- Dùng helper columns: Tính toán vị trí trước, sau đó áp dụng MID
- Copy-paste values: Sau khi có kết quả, convert thành giá trị tĩnh để tăng tốc độ
Ứng Dụng Trong Báo Cáo Tự Động
Tôi thường dùng MID để:
- Tách mã chi nhánh từ mã nhân viên
- Trích xuất tháng/năm từ mã hóa đơn
- Phân loại sản phẩm theo mã SKU
- Làm sạch dữ liệu import từ hệ thống khác
Ví dụ, với mã nhân viên “HN001-IT-2023”, tôi có thể tự động tách:
- Chi nhánh: HN
- Mã số: 001
- Phòng ban: IT
- Năm: 2023
Tất cả chỉ bằng các công thức MID kết hợp FIND.
Sau 3 năm làm việc với Excel, tôi nhận ra MID không chỉ là hàm cắt text. Nó là chìa khóa để xử lý dữ liệu thông minh, tiết kiệm hàng giờ làm việc thủ công. File báo cáo từ 2 ngày làm giờ chỉ mất 30 phút, và tất cả nhờ việc hiểu đúng cách dùng MID kết hợp các hàm khác.






