A. Ý nghĩa của việc tách Tên trong Excel
Tách phần tên ra một cột riêng từ cột Họ Và Tên đầy đủ để tiện cho việc sắp xếp tên theo thứ tự ABC, vì mặc định khi sắp xếp Excel sẽ sắp xếp theo thứ tự ưu tiên từ trái sang phải nên phần Họ sẽ được ưu tiên sắp xếp.
B. Cách thực hiện
Hiện có 04 cách thực hiện được công việc này, tùy kỹ năng Excel của bạn có thể chọn cách phù hợp nhất. Cách 1 là dễ nhất và hy vọng ai cũng có thể làm được.
Cách 1: Dùng công cụ tìm và thay thế (Replace) của Excel
- Tạo 2 cột Họ đệm và Tên
- Copy cột gốc đầy đủ sang cột tên
- Chọn cột tên, chọn chức năng tìm kiếm và thay thế (CTRL + H)
– Tìm: “* “ -> Từ và khoảng cách sau từ
– Thay: “” -> Thay bằng trống (tức xóa đi hết phần trước, chỉ giữ lại từ cuối cùng)
- Cột Họ đệm: dùng hàm LEFT lấy đến trước phần tên
C2= LEFT(B2, LEN(B2) – LEN(D2) -1 )
(Ví dụ: B2 là cột họ và tên đầy đủ, C2: họ đệm, D2: tên được tách ở bước 3)
Cách 2: Dùng kết hợp các hàm FIND, SUBSTITUDE, LEN, RIGHT
- Tạo 2 cột Họ đệm (C) và Tên (D), tạo xong để trống
- Cột Tên:
D2 = RIGHT(B2,LEN(B2)-FIND(“#”,SUBSTITUTE(B2,” “,”#”,LEN(B2)-LEN(SUBSTITUTE(B2,” “,””)))))
-> Công thức này khá lằng nhằng nếu bạn nào muốn hiểu có thể nôm na như sau:
– Tên sẽ là từ cuối cùng (phải cùng) nên dùng Hàm RIGHT để lấy từ sau ký tự CÁCH cuối cùng trở đi.
– Nên khó nhất là làm sao xác định được <Vị trí của ký tự CÁCH cuối cùng>, cách tìm như sau:
+ Xác định <Số ký tự CÁCH> trong chuỗi: = LEN(B2)-LEN(SUBSTITUTE(B2,” “,””)
+ Đánh dấu ký tự CÁCH cuối bằng dấu “#”: = SUBSTITUTE(B2,” “,”#”, <Số ký tự CÁCH> )
+ Tìm được <Vị trí của ký tự CÁCH cuối cùng>: = FIND(“#”, <Chuỗi đã đánh dấu #>)
– Sau khi tìm được Vị trị CÁCH cuối cùng thì lấy được Tên: RIGHT(B2,LEN(B2) – <Vị trí CÁCH cuối cùng)
3. Cột Họ đệm: dùng hàm LEFT lấy đến trước phần tên (giống cách 1)
C2= LEFT(B2, LEN(B2) – LEN(D2) -1 )
Cách 3: sử dụng Flash Fill của Excel (2013 trở lên)
– Thêm 2 cột “Họ Đệm” và “Tên” sau cột họ và tên đầy đủ
– Dòng đầu tiên nhập MẪU để Excel làm theo
+ Họ: nhập “Bùi Kiều”
+ Tên: nhập “Chinh”
– Cho con trỏ vào ô đầu tiên của cột Tên, chọn Data -> Flash fill
– Cho con trỏ vào ô đầu tiên của cột Họ, chọn Data -> Flash fill
Cách 4: Dùng VBA viết hàm UDF để sử dụng trong Excel
VBA thì bạn có thể viết theo ý của bạn được, nên ở đây Admin chỉ ví dụ một hàm tự viết (UDF: User Define Function) để lấy tên.
‘ Ví dụ: Code VBA cho hàm UDF_LayTen
Function UDF_LayTen(HoVaTen As String) As String
Dim i As Integer
HoVaTen = Trim(HoVaTen)
i = Len(HoVaTen)
While i > 0
If Mid(HoVaTen, i, 1) = ” ” Then
GoTo Done
End If
i = i – 1
Wend
Done:
UDF_LayTen = Right(HoVaTen, Len(HoVaTen) – i)
End Function
– Sử dụng: gọi hàm UDF giống hàm Excel
D2= UDF_LayTen(B2)
***
Quay về Trang chủ
Đăng ký Online trước khi đến học để được tặng 50K!
***
Cảm ơn Bạn đã đọc bài viết.