Thời gian đọc ước tính: 12 phút
Những điểm chính
- Vấn đề cốt lõi: Excel mặc định sắp xếp dữ liệu dựa trên ký tự đầu tiên (thường là tên riêng hoặc họ tùy theo cách nhập liệu), gây khó khăn khi cần sắp xếp theo từ cuối cùng trong chuỗi văn bản.
- Giải pháp linh hoạt: Có 4 phương pháp chính để xử lý: Tính năng Tìm & Thay thế (Find & Replace), Hàm Excel (Formula), Tách cột (Text to Columns) và Tự động điền (Flash Fill).
- Ứng dụng thực tế: Phù hợp cho việc quản lý danh sách nhân sự, khách hàng quốc tế (sắp xếp theo Họ) hoặc danh sách người Việt (cần tách Tên để sắp xếp).
- Độ chính xác: Sử dụng hàm (Formula) mang lại tính cập nhật tự động cao nhất khi dữ liệu thay đổi.
Việc xử lý các tập dữ liệu chứa họ và tên là một tác vụ quen thuộc đối với bất kỳ ai làm việc trong lĩnh vực hành chính nhân sự hoặc phân tích dữ liệu. Tuy nhiên, Excel thường “làm khó” người dùng khi mặc định tính năng sắp xếp (Sort) chỉ dựa trên ký tự bắt đầu của ô.
Điều này tạo ra một trở ngại lớn: Làm thế nào để sắp xếp dữ liệu theo tên cuối cùng (Last Name) khi toàn bộ họ và tên nằm chung trong một cột? Dù bạn đang xử lý danh sách tên tiếng Anh (muốn xếp theo Họ) hay tên tiếng Việt (muốn xếp theo Tên), nguyên lý kỹ thuật đều giống nhau: Bạn cần tách từ cuối cùng ra khỏi chuỗi văn bản.
Bài viết này sẽ hướng dẫn bạn 4 phương pháp cụ thể, từ đơn giản đến nâng cao, để giải quyết triệt để vấn đề này.
1. Sử dụng tính năng Find and Replace (Tìm và Thay thế)
Đây là phương pháp nhanh nhất để trích xuất phần tên cuối cùng mà không cần nhớ các công thức phức tạp. Nguyên lý hoạt động là xóa bỏ toàn bộ nội dung phía trước tên cuối cùng.
Lưu ý: Phương pháp này sẽ làm thay đổi dữ liệu gốc. Bạn bắt buộc phải sao chép dữ liệu sang một cột phụ trước khi thực hiện.
Quy trình thực hiện
Giả sử bạn có một danh sách nhân viên từ ô A1 đến A10 và cần sắp xếp theo từ cuối cùng của tên.
Names to Sort by Last Name
-
Sao chép dữ liệu: Chọn vùng dữ liệu (A1:A10), bao gồm cả tiêu đề. Sao chép và dán chúng sang cột bên cạnh (ví dụ cột B). Nếu cột bên cạnh có dữ liệu, hãy chèn thêm một cột trống mới.
Copy Names dataset in Adjacent column -
Đổi tên tiêu đề: Đặt tên cho cột mới là “Last Name” hoặc “Tên Riêng” để dễ phân biệt.
-
Mở hộp thoại Find and Replace: Quét chọn toàn bộ danh sách tên ở cột mới (không chọn tiêu đề). Nhấn tổ hợp phím
Ctrl + H.
Control H to open find and replace dialog box -
Thiết lập điều kiện tìm kiếm:
- Trong ô Find what: Nhập
*(một dấu sao * và một dấu cách). Dấu sao là ký tự đại diện cho bất kỳ chuỗi ký tự nào, kết hợp với dấu cách để Excel hiểu là “tất cả mọi thứ đứng trước dấu cách cuối cùng”. - Trong ô Replace with: Để trống hoàn toàn.
Enter asterisk followed by a space character
Leave the replace with field blank
- Trong ô Find what: Nhập
-
Thực thi: Nhấn nút Replace All. Excel sẽ lập tức xóa bỏ phần họ, tên đệm, và các danh xưng (như Mr., Ms.) phía trước, chỉ giữ lại từ cuối cùng.
Click on Replace All
Kết quả là bạn có một cột chỉ chứa tên cuối cùng.
You get the last names only using Find and Replace
Tiến hành sắp xếp
Sau khi đã có cột tên riêng biệt, bạn thực hiện sắp xếp như sau:
- Quét chọn toàn bộ bảng dữ liệu (bao gồm cả cột Họ Tên đầy đủ và cột Tên vừa tách).
- Trên thanh công cụ, chọn tab Data > Sort.
Click the Data tab
Click on the Sort tab - Trong hộp thoại Sort:
- Tích chọn My data has headers.
- Tại mục Sort by: Chọn cột “Last Name”.
- Tại mục Order: Chọn A to Z.
Select Last name in Sort by options
Select Cell Values in Sort Based on
Select the order – A to Z or Z to A
- Nhấn OK.
Dữ liệu của bạn đã được sắp xếp hoàn chỉnh. Lúc này, bạn có thể xóa cột phụ nếu không còn cần thiết.
Sorted based on last name
Mẹo chuyên nghiệp: Để đề phòng trường hợp cần khôi phục lại thứ tự ban đầu, hãy thêm một cột “Số thứ tự” (1, 2, 3…) trước khi thực hiện sắp xếp. Nếu cần quay lại, bạn chỉ cần sort lại theo cột số thứ tự này.
2. Sử dụng Hàm Excel (Formula) để trích xuất và sắp xếp
Phương pháp Tìm & Thay thế có nhược điểm là dữ liệu tĩnh. Nếu bạn thêm tên mới vào danh sách, bạn phải làm lại quy trình từ đầu. Sử dụng công thức giúp dữ liệu luôn được cập nhật tự động (Dynamic).
Chúng ta sẽ sử dụng kết hợp các hàm xử lý chuỗi: RIGHT, LEN, FIND, và SUBSTITUTE.
Trường hợp 1: Tên đơn giản (Chỉ có Họ và Tên, 1 dấu cách)
Nếu dữ liệu của bạn chỉ gồm “John Smith” (Họ và Tên cách nhau bởi 1 dấu cách), hãy dùng công thức sau:
=RIGHT(A2,LEN(A2)-FIND(" ",A2))
Excel Formula to get the last name from full name
Giải thích cơ chế hoạt động:
FIND(" ",A2): Xác định vị trí của dấu cách.LEN(A2): Đếm tổng số ký tự trong ô.LEN - FIND: Tính ra số lượng ký tự của phần tên cuối cùng.RIGHT: Lấy số lượng ký tự đó tính từ bên phải sang.
Trường hợp 2: Tên phức tạp (Có tên đệm, danh xưng)
Đây là trường hợp phổ biến nhất (ví dụ: “Nguyen Van An” hoặc “Mr. John Doe”). Công thức trên sẽ bị lỗi vì hàm FIND chỉ tìm dấu cách đầu tiên. Bạn cần một công thức “bất khả chiến bại” để tìm ra dấu cách cuối cùng:
=RIGHT(A2,LEN(A2)-FIND("@",SUBSTITUTE(A2," ","@",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))))
Phân tích logic chuyên sâu:
LEN(A2)-LEN(SUBSTITUTE(A2," ","")): Đếm tổng số dấu cách có trong tên (bằng cách lấy tổng ký tự trừ đi tổng ký tự sau khi đã xóa hết dấu cách).SUBSTITUTE(A2," ","@", ...): Thay thế dấu cách thứ n (dấu cách cuối cùng) bằng một ký tự đặc biệt, ở đây là@.FIND("@", ...): Tìm vị trí chính xác của ký tự@(tức là vị trí của dấu cách cuối cùng).RIGHT(...): Lấy toàn bộ ký tự nằm sau vị trí đó.
Sử dụng công thức này giúp bạn xử lý mọi định dạng tên, miễn là phần cần sắp xếp nằm ở cuối chuỗi. Sau khi áp dụng công thức cho cả cột, bạn tiến hành Sort theo cột chứa công thức tương tự như phương pháp 1.
Lưu ý quan trọng về dữ liệu sạch: Các công thức này rất nhạy cảm với khoảng trắng thừa. Nếu dữ liệu nhập vào có 2 dấu cách liên tiếp hoặc dấu cách ở cuối câu, kết quả sẽ sai lệch. Bạn nên dùng hàm TRIM để làm sạch dữ liệu trước: =TRIM(A2).
3. Sử dụng công cụ Text to Columns (Tách văn bản thành cột)
Tính năng Text to Columns cho phép tách nội dung một ô thành nhiều ô dựa trên ký tự ngăn cách (delimiter). Đây là giải pháp trực quan, dễ thao tác với chuột.
Các bước thực hiện
- Chọn cột chứa tên (không chọn tiêu đề).
- Vào thẻ Data, chọn Text to Columns.
Click the Data tab
Click on Text to Columns option in the ribbon - Bước 1: Chọn Delimited (phân tách bằng ký tự) > Nhấn Next.
Select Delimited in Step 1 - Bước 2: Tích chọn Space (Dấu cách). Bỏ chọn các ô khác. Nhấn Next.
Select the Space option and then click on Next - Bước 3 (Quan trọng):
- Trong phần Data preview, bạn sẽ thấy tên được tách ra nhiều cột.
- Click vào các cột chứa Họ hoặc Tên đệm mà bạn không cần, chọn Do not import columns (skip). Chỉ giữ lại cột chứa tên cuối cùng ở chế độ General.
- Tại ô Destination: Chọn một ô trống bên cạnh dữ liệu gốc (ví dụ
$B$2) để không ghi đè lên danh sách cũ.
Select Do no import column in Step 3 of Text to Column wizard
Specify the destination cells for text to columns resulting data
- Nhấn Finish.
Kết quả nhận được là cột tên riêng biệt. Bạn chỉ cần thực hiện thao tác Sort như đã hướng dẫn ở trên.
Result of Text to Columns to extract the last name and then sort by it
4. Sử dụng Flash Fill (Tự động điền thông minh)
Được giới thiệu từ phiên bản Excel 2013, Flash Fill sử dụng trí tuệ nhân tạo để nhận diện mẫu (pattern) thao tác của người dùng và tự động thực hiện cho toàn bộ danh sách. Đây là cách “nhàn” nhất.
Cách thực hiện
Giả sử dữ liệu của bạn bắt đầu từ hàng 2.
- Tại ô B2 (bên cạnh tên đầu tiên “Jim Maury”), bạn gõ thủ công:
Maury. - Tại ô B3 (bên cạnh “Jeff Elliot”), bạn gõ:
Elliot. - Lúc này, Excel thường sẽ tự động hiển thị danh sách gợi ý mờ (Ghost list) cho các ô còn lại. Nếu thấy đúng, bạn chỉ cần nhấn Enter.
Nếu Excel không tự hiện, hãy làm như sau:
- Chọn ô B4.
- Nhấn tổ hợp phím tắt
Ctrl + E. - Hoặc kéo chuột (AutoFill) xuống các ô dưới, sau đó click vào biểu tượng AutoFill Options và chọn Flash Fill.
Green square at the bottom right of the selection
Click on the Autofill option icon
Select Flash Fill option to get all the last names
Flash Fill sẽ tự động điền các tên còn lại. Sau đó, bạn sắp xếp dữ liệu theo cột mới này.
Lưu ý: Flash Fill không phải là công thức động. Nếu bạn sửa tên gốc ở cột A, cột B sẽ không tự cập nhật. Ngoài ra, nếu dữ liệu quá phức tạp (lẫn lộn giữa tên 2 chữ và tên 5 chữ), Flash Fill có thể nhận diện sai mẫu. Hãy kiểm tra lại kết quả một lượt trước khi sắp xếp.
Câu hỏi thường gặp (FAQ)
Q: Làm thế nào để sắp xếp tên tiếng Việt (Tên nằm ở cuối) chính xác nhất?
A: Đối với tên tiếng Việt (Ví dụ: Nguyễn Văn A), từ cần sắp xếp nằm ở cuối chuỗi. Bạn hãy áp dụng Phương pháp 2 (Dùng công thức phức tạp) trong bài viết này. Công thức sẽ tách chính xác từ “A” ra khỏi chuỗi để bạn sắp xếp.
Q: Tại sao tôi dùng Flash Fill nhưng Excel không hiện ra kết quả?
A: Flash Fill yêu cầu Excel phiên bản 2013 trở lên. Ngoài ra, bạn cần cung cấp ít nhất 2-3 ví dụ mẫu để Excel học được quy luật. Nếu dữ liệu đầu vào không nhất quán (ví dụ dòng thì viết hoa, dòng thì viết thường lộn xộn), Flash Fill có thể thất bại.
Q: Sau khi tách tên và sắp xếp xong, tôi có thể xóa cột tên phụ đi không?
A: Có, nếu bạn dùng phương pháp Find & Replace, Text to Columns hoặc Flash Fill.
Không, nếu bạn dùng phương pháp Công thức (Formula). Nếu xóa cột công thức, bạn sẽ mất căn cứ để sắp xếp. Nếu muốn xóa, hãy Copy cột công thức đó và Paste Value (Dán giá trị) tại chỗ trước khi xóa.
Q: Hàm RIGHT và LEN có phân biệt chữ hoa chữ thường không?
A: Không. Các hàm xử lý độ dài và vị trí như LEN, FIND, RIGHT hoạt động dựa trên vị trí ký tự, không bị ảnh hưởng bởi viết hoa hay thường. Tuy nhiên, thứ tự sắp xếp (Sort A-Z) có thể bị ảnh hưởng tùy vào cài đặt Options trong hộp thoại Sort.
Nguồn tham khảo
- Microsoft Support. “Sort data in a range or table”. support.microsoft.com
- Edupedia Internal Data. “Các hàm xử lý chuỗi nâng cao trong Excel”.
- ExcelJet. “How to extract the last name from a full name”. exceljet.net
- GcfGlobal. “Excel: Sorting Data”. edu.gcfglobal.org
Bài viết này hướng dẫn chi tiết các kỹ thuật xử lý dữ liệu tên trong Excel, giúp bạn tối ưu hóa quy trình làm việc và quản lý thông tin hiệu quả hơn.