Excel - Hướng dẫn cách tách các thành phần trong Họ và tên trên Excel

Khi xử lý dữ liệu trên Excel, một trong vấn đề chúng ta hay gặp phải đó là việc dữ liệu chứa Họ và tên lại nằm trong một cột. Bây giờ chúng ta có nhu cầu tách riêng Họ, chữ lót, Tên. Vậy phải xử lý thế nào? Bài viết này sẽ trình bày về mặt phương pháp cũng như cách sử dụng các hàm để giải quyết vấn đề trên

Cơ sở lý thuyết

Để thực hiện được yêu cầu trên, chúng ta cần phải nắm rõ lại phần lý thuyết về cách sử dụng các hàm xử lý chuỗi sau:
  1. Left(text, [num_chars])
  2. Right(text, [num_chars])
  3. Find(find_text, within_text, [start_num])
  4. Substitute(text, old_text, new_text, instance_num)

Phương pháp thực hiện:

Trong một bài toán mà cùng lúc yêu cầu xử lý tách họ, tách tên, tách chữ lót thì chúng ta có thể kết hợp dựa vào cái chúng ta đã xử lý trước để xử lý các trường hợp còn lại. Trong khuôn khổ bài viết này, sẽ trình bày cách xử lý độc lập.

1. Họ

Ý tưởng: 
  • Trích ra các ký tự từ bên trái của chuỗi đến trước ký tự khoảng trống (space) một ký tự.
Cách thực hiện:
    • Sử dụng hàm Find để tìm khoảng trống đầu tiên
    • Sử dụng hàm Left để tách chuỗi đến giá trị của hàm Find trả về -1
Hàm: 
  • =LEFT(B2,FIND(" ",B2)-1)

2. Tên

Ý tưởng: Trích các ký tự từ bên phải của chuỗi đến sau ký tự rỗng cuối cùng (space) của Họ và tên.
- Xác định số lượng ký tượng trống trong chuỗi bằng cách lấy chiều dài của chuỗi trừ chuỗi sau ký đã loại bỏ khoảng trắng.
- Thay thế khoảng trắng cuối cùng trong chuỗi bằng một ký tự khác
- Trích các ký tự bên phải của chuỗi đến sau ký tự vừa thêm vào
Cách thực hiện:
  • Số lượng khoảng trắng trong chuỗi: LEN(B2)-LEN(SUBSTITUTE(B2," ",""))
  • Thay thế khoảng trắng cuối cùng bằng ký tự @: SUBSTITUTE(B2," ","@",LEN(B2)-LEN(SUBSTITUTE(B2," ","")))
  • Tách tên: RIGHT(B2,LEN(B2)-FIND("@",SUBSTITUTE(B2," ","@",LEN(B2)-LEN(SUBSTITUTE(B2," ","")))))
Hàm:
  • =RIGHT(B2,LEN(B2)-FIND("@",SUBSTITUTE(B2," ","@",LEN(B2)-LEN(SUBSTITUTE(B2," ","")))))

3. Chữ lót

Ý tưởng: Trích ra các ký tự tại ví trí phái sau khoảng trắng đầu tiên trong chuối đến trước vị trí của khoảng trắng cuối cùng trong chuỗi.  Sử dụng các hàm đã giới thiệu ở trên để hoàn chỉnh yêu cầu:
Hàm:
  • =MID(B2,FIND(" ",B2)+1,FIND("@",SUBSTITUTE(B2," ","@",LEN(B2)-LEN(SUBSTITUTE(B2," ",""))))-(FIND(" ",B2)+1))