Tôi Xử Lý 5000 Dòng Dữ Liệu Trong 30 Giây Nhờ Hàm MID Excel

Bảng danh sách nhân viên của tôi có 5000 dòng với họ tên đầy đủ trong một ô. Phòng nhân sự cần tách riêng họ, tên đệm, và tên để xuất lương. Trước đây tôi copy từng ô, paste vào Word, tách thủ công rồi dán lại. Mất cả buổi sáng. Giờ đây hàm MID giải quyết trong 30 giây với một công thức duy nhất.

Tách mã ngành từ mã sinh viên tự động

Mã sinh viên ở trường tôi theo format: 21IT5789 trong đó 21 là năm nhập học, IT là mã ngành, 5789 là số thứ tự. Tôi cần lấy riêng mã ngành IT để thống kê số lượng sinh viên theo từng chuyên ngành.

Hàm MID trích xuất ký tự ở vị trí bất kỳ trong chuỗi. Cú pháp cơ bản là =MID(chuỗi_gốc, vị_trí_bắt_đầu, số_ký_tự). Với mã sinh viên, mã ngành luôn bắt đầu ở ký tự thứ 3 và dài 2 ký tự.

Công thức áp dụng:

  • Ô A2 chứa mã sinh viên: 21IT5789
  • Ô B2 nhập: =MID(A2,3,2)
  • Kéo công thức xuống 5000 dòng
  • Kết quả: IT xuất hiện ngay lập tức

Toàn bộ 5000 mã được tách trong 2 giây. Trước đây tôi dùng hàm văn bản phức tạp, giờ MID đơn giản hơn nhiều. Mỗi tuần tiết kiệm 45 phút chỉ riêng công đoạn này.

Trích họ và tên từ chuỗi họ tên đầy đủ

Danh sách nhân viên có format: Nguyễn Văn Minh hoặc Trần Thị Thu Hằng. Độ dài họ tên không cố định nên không thể dùng vị trí cố định được. Tôi kết hợp MID với SEARCH để tìm dấu cách.

Để lấy họ, tôi tìm dấu cách đầu tiên rồi lấy các ký tự từ đầu đến trước dấu cách. Công thức: =MID(A2,1,SEARCH(” “,A2)-1). Hàm SEARCH tìm vị trí dấu cách, trừ 1 để loại dấu cách ra.

XEM THÊM:  Bạn Đang Gõ Lại Từng Ô Thủ Công? Dùng LOWER Chuẩn Hóa 1000 Ô Trong 5 Giây

Trích xuất tên đầy đủ:

Với họ tên Nguyễn Văn Minh trong ô A2, công thức cho tên là: =MID(A2,SEARCH(” “,A2)+1,LEN(A2)). Hàm này bắt đầu sau dấu cách đầu tiên và lấy hết phần còn lại. LEN(A2) đếm tổng số ký tự nên đảm bảo lấy hết.

Để lấy chỉ tên cuối cùng khi có tên đệm, tôi dùng: =TRIM(MID(A2,SEARCH(” “,A2)+1,LEN(A2))). TRIM loại bỏ khoảng trắng thừa. Với Nguyễn Văn Minh, kết quả là Văn Minh.

Áp dụng cho 5000 dòng nhân viên, toàn bộ họ tên được tách thành các cột riêng trong 30 giây. Phòng kế toán xuất lương không còn phải tách thủ công từng người.

Lấy số điện thoại từ chuỗi văn bản hỗn hợp

Khách hàng gửi thông tin dạng: Nguyễn Văn A – 0912345678 – Ha Noi. Tôi cần lấy riêng số điện thoại 10 chữ số ở giữa để import vào hệ thống gọi điện tự động.

Số điện thoại luôn nằm giữa hai dấu gạch ngang. Tôi tìm vị trí dấu gạch đầu tiên, sau đó tìm dấu gạch thứ hai. Công thức: =MID(A2,SEARCH(“-“,A2)+2,10). Cộng 2 để bỏ qua dấu gạch và khoảng trắng.

Xử lý khi format không đồng nhất:

Một số khách hàng viết: Name: Nguyen Van A, SDT: 0987654321, Dia chi: HN. Lúc này tôi dùng: =MID(A2,SEARCH(“SDT:”,A2)+5,10). Tìm từ SDT rồi cộng 5 để bỏ qua chính từ SDT và khoảng trắng.

Trong 3000 dòng khách hàng, chỉ cần 15 giây để trích xuất hết số điện thoại. Trước khi biết MID, tôi phải dùng Find & Replace nhiều lần rất dễ sai.

Chuyển đổi chuỗi số thành số thật để tính toán

Khi dùng MID trích xuất dãy số từ mã sản phẩm ABC-2025-789, kết quả 2025 vẫn là dạng văn bản. Excel không cho phép cộng trừ với văn bản nên cần chuyển thành số.

Hàm VALUE chuyển văn bản số thành số thật. Công thức kết hợp: =VALUE(MID(A2,5,4)). Với mã ABC-2025-789, hàm lấy 4 ký tự từ vị trí 5 là 2025, sau đó VALUE chuyển thành số để tính toán được.

XEM THÊM:  7 Lỗi Phổ Biến Khi Dùng Hàm RIGHT Và Cách Khắc Phục Trong 30 Giây

Ví dụ thực tế:

Mã bưu chính trong địa chỉ: Hanoi City – 100000 – Vietnam. Tôi cần lấy số 100000 để làm điều kiện lọc. Công thức: =VALUE(MID(A2,SEARCH(“-“,A2)+2,6)). Tìm dấu gạch đầu, cộng 2 để bỏ dấu và khoảng trắng, lấy 6 ký tự rồi chuyển thành số.

Sau khi có số thật, tôi dùng công thức =IF(B2>50000,”Nội thành”,”Ngoại thành”) để phân loại địa chỉ tự động. Xử lý 2000 địa chỉ trong 10 giây thay vì phân loại thủ công cả ngày.

So sánh MID và MIDB khi làm việc với tiếng Việt

Hàm MIDB giống MID nhưng đếm theo byte thay vì ký tự. Tiếng Việt có dấu chiếm 2 byte trong một số bảng mã cũ. Với Windows hiện đại dùng Unicode, MID và MIDB cho kết quả giống nhau.

Tôi test với chuỗi: Xin chào Việt Nam. Công thức =MID(A2,5,4) cho kết quả “chào” (4 ký tự). Công thức =MIDB(A2,5,4) cũng cho “chào” vì Unicode đếm tiếng Việt là 1 byte mỗi ký tự.

Khi nào dùng MIDB:

Chỉ cần MIDB nếu làm việc với file Excel cũ có bảng mã DBCS như tiếng Trung, tiếng Nhật. Ở Việt Nam hiện tại, dùng MID cho mọi trường hợp là đủ. Tôi làm việc với data tiếng Việt 3 năm chưa gặp tình huống nào cần MIDB.

Microsoft khuyến nghị dùng MID cho Unicode. MIDB được giữ lại để tương thích với file cũ. Trong Excel 2016 trở lên, MID xử lý emoji và ký tự đặc biệt tốt hơn MIDB.

Kết hợp MID với các hàm khác để xử lý phức tạp

Trường hợp email có format: [email protected], tôi cần tách firstname. Không thể dùng vị trí cố định vì tên dài ngắn khác nhau. Giải pháp: =MID(A2,1,SEARCH(“.”,A2)-1). Tìm dấu chấm rồi lấy phần trước.

Tách tên đệm khi có 3 từ:

Với Nguyễn Văn Minh, cần lấy Văn. Công thức: =MID(A2,SEARCH(” “,A2)+1,SEARCH(” “,A2,SEARCH(” “,A2)+1)-SEARCH(” “,A2)-1). Hàm tìm dấu cách đầu tiên, sau đó tìm dấu cách thứ hai, lấy phần ở giữa.

Công thức này phức tạp nhưng xử lý chính xác. Với 5000 dòng họ tên, tất cả tên đệm được tách trong 25 giây. Không cần phải viết code hoặc dùng công cụ bên ngoài.

XEM THÊM:  4 Tricks Với Hàm SUBSTITUTE Mà 90% Người Dùng Excel Không Biết

Những lưu ý quan trọng khi dùng MID

Nếu vị trí bắt đầu nhỏ hơn 1, MID trả về lỗi giá trị. Nếu lớn hơn độ dài chuỗi, kết quả là ô trống. Nếu số ký tự cần lấy là 0, cũng cho ô trống. Nếu là số âm, báo lỗi.

Xử lý khi tổng vượt quá:

Công thức =MID(“Excel”,3,10) yêu cầu 10 ký tự từ vị trí 3 nhưng chỉ còn 3 ký tự. MID tự động lấy hết phần còn lại là “cel” thay vì báo lỗi. Tính năng này hữu ích khi không biết chính xác độ dài chuỗi.

Dấu phân cách trong công thức có thể là dấu phẩy hoặc dấu chấm phẩy tùy cài đặt Excel. Phiên bản tiếng Việt thường dùng dấu chấm phẩy. Nếu công thức báo lỗi, thử đổi dấu.

Mẹo tăng tốc khi xử lý hàng ngàn dòng

Thay vì nhập công thức từng ô, tôi nhập ô đầu tiên rồi copy công thức xuống. Cách nhanh nhất: chọn ô có công thức, double-click vào góc dưới bên phải của ô. Excel tự động điền xuống hết cột có dữ liệu bên cạnh.

Với bảng tính lớn, tôi tắt tính toán tự động trước khi áp dụng công thức. Vào File, chọn Options, Formulas, chọn Manual calculation. Sau khi điền xong, bấm F9 để tính một lần. Tốc độ tăng gấp 5 lần.

Chuyển công thức thành giá trị:

Sau khi có kết quả, tôi copy toàn bộ cột kết quả, dùng Paste Special với Values. Công thức biến thành giá trị cố định, file nhẹ hơn và mở nhanh hơn. Đặc biệt quan trọng khi gửi file cho người khác.

Các hàm MID lồng nhau có thể chạy chậm với data lớn. Tôi tách thành nhiều cột trung gian, mỗi cột một công thức đơn giản. Tốc độ xử lý nhanh hơn và dễ kiểm tra lỗi hơn.

Áp dụng ngay để tiết kiệm thời gian mỗi ngày

Hàm MID hoạt động từ Excel 2010 trở lên, bao gồm Excel 365 và Excel Online. Không cần cài thêm gì. Công thức giống nhau trên Windows và Mac. Tôi dùng trên cả ba nền tảng không gặp vấn đề.

Bắt đầu với trường hợp đơn giản: tách mã cố định như mã sinh viên hoặc mã sản phẩm. Sau khi thành thạo, kết hợp với SEARCH và LEN để xử lý dữ liệu phức tạp hơn. Nếu làm thường xuyên, lưu công thức vào template để tái sử dụng.

Những file Excel tôi xử lý hằng ngày đều có ít nhất một cột dùng MID. Từ danh sách khách hàng đến báo cáo bán hàng, hàm này xuất hiện ở khắp nơi. Thời gian tiết kiệm được sau 1 năm là hàng chục giờ làm việc.

Related Posts

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *