Hướng Dẫn Tách Tên Họ Và Tên Dò Trong Excel

Trong môi trường công việc, dữ liệu tên người thường được lưu trữ dưới dạng một chuỗi duy nhất (ví dụ: “Nguyễn Văn A”). Khi cần phân loại, thống kê hoặc phân tích dữ liệu, việc tách riêng phần họ (surname) và tên đệm (middle name) ra thành các cột riêng biệt sẽ giúp công việc trở nên chính xác và hiệu quả hơn. Dưới đây là một hướng dẫn chi tiết, từ những phương pháp đơn giản nhất dùng công thức cơ bản, tới những cách tiên tiến hơn như Power Query, VBA và macro, để bạn có thểминать tách tên họ và tên đệm trong Excel một cách nhanh chóng và chính xác.

1. Hiểu rõ cấu trúc tên tiếng Việt

Trước khi áp dụng công thức, chúng ta cần nắm rõ quy ước đặt tên trong tiếng Việt:

Thành phầnThông thườngVí dụ
HọĐặt trước thành phần còn lạiNguyễn, Trần, Lê
Tên đệmHoặc “tên giữa”Văn, Thị, Hiếu
TênThành phần cuối cùngA, B, C
  • Có trường hợp có nhiều tên đệm (ví dụ: “Nguyễn Văn An Hòa”).
  • Có trường hợp không có tên đệm (ví dụ: “Nguyễn A”).
  • Các từ “Thị”, “Văn”, “Anh”, “Bình” thường được coi là tên đệm.

Hiểu được các khía cạnh này giúp chúng ta chọn công thức phù hợp.

2. Phương pháp 1: Sử dụng công thức Excel cơ bản

2.1. Tách họ (sang cột A)

Giả sử tên đầy đủ nằm trong ô B2. Công thức tách họ:

=TRIM(LEFT(B2, FIND(" ", B2)-1))
  • FIND(" ", B2) tìm vị trí khoảng trắng đầu tiên.
  • LEFT(B2, …) lấy phần trước dấu cách.
  • TRIM loại bỏ dấu cách thừa.

Nếu ô có nhiều dấu cách, công thức trên vẫn trả về phần đầu tiên (đều là họ).

2.2. Tách tên (sang cột C)

=TRIM(RIGHT(B2, LEN(B2)-FIND("@", SUBSTITUTE(B2, " ", "@", LEN(B2)-LEN(SUBSTITUTE(B2, " ", ""))))))

Công thức này:

  • SUBSTITUTE(..., " ", "@", n) thay dấu cách cuối cùng bằng ký tự đặc biệt “@”.
  • FIND("@", …) lấy vị trí của ký tự đó.
  • RIGHT lấy phần sau dấu cách cuối cùng (đó là tên).

2.3. Tách tên đệm (sang cột D)

Sau khi đã có họ và tên, tên đệm là phần còn lại giữa họ và tên:

=TRIM(MID(B2, FIND(" ", B2)+1, FIND("@", SUBSTITUTE(B2, " ", "@", LEN(B2)-LEN(SUBSTITUTE(B2, " ", ""))))-FIND(" ", B2)-1))

Giải thích:

  • MID lấy đoạn giữa họ và tên.
  • FIND(" ", B2)+1 là vị trí bắt đầu tên đệm.
  • FIND("@", …)-FIND(" ", B2)-1 là độ dài của đoạn tên đệm.

2.4. Kiểm tra và xử lý lỗi

  • Nếu ô B2 rỗng hoặc chỉ chứa một từ, công thức sẽ trả về lỗi. Bạn có thể sử dụng IFERROR:
=IFERROR(TRIM(LEFT(B2, FIND(" ", B2)-1)), "")
  • Đối với dữ liệu không tuân theo quy tắc chuẩn (ví dụ: “Bình Ngô Thị Huyền”), hãy lưu ý rằng công thức này sẽ tách “Bình” như là họ, điều này không chính xác. Để xử lý dữ liệu đa dạng hơn, hãy xem phần Phương pháp 3.

3. Phương pháp 2: Dùng Power Query (Get & Transform)

Power Query là công cụ mạnh mẽ để thao tác dữ liệu, hỗ trợ xử lý văn bản linh hoạt hơn.

3.1. Nhập dữ liệu vào Power Query

  1. Chọn vùng dữ liệu (cột chứa tên đầy đủ).
  2. Vào tab Data → Get Data → From Table/Range.
  3. Nếu dữ liệu chưa là bảng, Excel sẽ tạo bảng cho bạn.

3.2. Tách theo dấu cách

  • Trên Power Query, chọn cột tên.
  • Vào Transform → Split Column → By Delimiter → Space → At the left-most delimiter.
  • Bước nàytsx “Nguyễn Văn A” thành “Nguyễn” và “Văn A”.
  • Lặp lại: chọn cột “Văn A”, Split Column → By Delimiter → Space → At the right-most delimiter.
  • Bây giờ bạn có “Nguyễn”, “Văn”, “A”.

3.3. Xử lý tên đệm nhiều từ

  • Nếu có nhiều tên đệm (ví dụ: “Thị Bảo Anh”), bạn có thể Merge Columns:
  • Chọn các cột tên đệm (trừ cột tên cuối cùng), chọn Merge Columns → Space → đặt tên “Tên đệm”.
  • Hoặc dùng Custom Column với M code:
=Text.Combine(List.Skip(List.FirstN(Text.Split(Tên, " "), List.Count(Text.Split(Tên, " "))-1), 1), " ")

3.4. Hoàn thiện và tải dữ liệu về Excel

Sau khi hoàn thành, chọn Close & Load → Close & Load To → Table. Dữ liệu sẽ xuất ra một bảng mới với các cột họ, tên đệm, tên.

Lưu ý: Power Query không thể tự động nhận dạng tên đệm “Thị” hay “Văn” mà không có dấu cách. Nếu dữ liệu không tuân theo cấu trúc chuẩn, bạn cần xử lý thủ công hoặc dùng VBA.

4. Phương pháp 3: Sử dụng VBA (Macro)

VBA cho phép tùy biến linh hoạt, đặc biệt hữu ích khi xử lý dữ liệu lớn hoặc quy tắc phức tạp.

4.1. Macro tách tên theo quy tắc chuẩn

Sub SplitName() Dim rng As Range, cell As Range Dim parts() As String Dim i As Long, lastRow As Long lastRow = Cells(Rows.Count, "B").End(xlUp).Row Set rng = Range("B2:B" & lastRow) 'Giả sử dữ liệu ở cột B For Each cell In rng If Trim(cell.Value) <> "" Then parts = Split(Trim(cell.Value), " ") If UBound(parts) >= 2 Then cell.Offset(0, -1).Value = parts(0) 'Họ cell.Offset(0, 1).Value = parts(UBound(parts)) 'Tên If UBound(parts) > 2 Then Dim middle As String For i = 1 To UBound(parts) - 1 middle = middle & parts(i) & " " Next i cell.Offset(0, 0).Value = Trim(middle) 'Tên đệm Else cell.Offset(0, 0).Value = "" 'Không có tên đệm End If End If End If Next cell
End Sub
  • Giải thích: Macro chia chuỗi bằng Split, sau đó gán phần đầu là họ, phần cuối là tên, phần còn lại là tên đệm.
  • Để chạy macro, nhấn Alt + F8, chọn SplitName, rồi Run.

4.2. Macro nâng cao: nhận diện tên đệm phổ biến

Hướng Dẫn Tách Tên Họ Và Tên Đệm Trong Excel
Hướng Dẫn Tách Tên Họ Và Tên Đệm Trong Excel

Đôi khi dữ liệu không tuân theo quy tắc chuẩn (ví dụ: “Bình Ngô Thị Huyền”). Bạn có thể lập danh sách các từ thường là tên đệm, và dùng chúng để xác định:

Dim middleWords As Variant
middleWords = Array("Thị", "Văn", "Anh", "Bình", "Hải", "Quang", "Huyền") Function IsMiddleWord(word As String) As Boolean Dim i As Long For i = LBound(middleWords) To UBound(middleWords) If StrComp(word, middleWords(i), vbTextCompare) = 0 Then IsMiddleWord = True Exit Function End If Next i IsMiddleWord = False
End Function

Bằng cách kết hợp hàm IsMiddleWord, bạn có thể viết logic phức tạp hơn để tách tên đệm một cách chính xác.

5. Phương pháp 4: Sử dụng hàm TEXTJOIN (Excel 2026/365)

Nếu bạn muốn giữ nguyên cột gốc và tạo cột phụ mới, hàm TEXTJOIN rất tiện dụng.

5.1. Tách tên đệm

=IF(COUNTIF(A2:D2, "")=3, "", TEXTJOIN(" ", TRUE, IF(ROW(A2:D2)=ROW(A2)+1ಇ, A2:D2, "")))

Công thức này sử dụng TEXTJOIN để gộp các phần giữa họ và tên, bỏ qua các ô trống.

5.2. Sửa lỗi khi không có tên đệm

=IF(COUNTIF(A2:D2, परेको)="", "", TEXTJOIN(" ", TRUE, A2:D2))

6. Kiểm tra và làm sạch dữ liệu

Sau khi tách tên, bạn cần kiểm tra:

  • Độ dài: Họ thường ngắn hơn 4 ký tự, tên đệm có thể dài hơn.
  • Kiểm tra chữ hoa: Sử dụng PROPER để chuẩn hóa:
=PROPER(A2) 'Họ
=PROPER(B2) 'Tên đệm
=PROPER(C2)ętr
  • Loại bỏ自己的: Nếu có ký tự đặc biệt hoặc dấu cách thừa, dùng TRIM, CLEAN.

7. Thực hành: Tạo bảng tách tên tự động

  1. Bước 1: Chuẩn bị dữ liệu trong cột A (tên đầy đủ).
  2. Bước 2: Tạo cột B – Họ:
=IFERROR(TRIM(LEFT(A2, FIND(" ", A2)-1)), "")
  1. Bước 3: Tạo cột C – Tên:
=IFERROR(TRIM(RIGHT(A2, LEN(A2)-FIND("@", SUBSTITUTE(A2, " ", "@", LEN(A2)-LEN(SUBSTITUTE(A2, " ", "")))))), "")
  1. Bước 4: Tạo cột D – Tên đệm (nếu có):
=IFERROR(TRIM(MID(A2, FIND(" ", A2)+1, FIND("@", SUBSTITUTE(A2, " ", "@", LEN(A2)-LEN(SUBSTITUTE(A2, " ", ""))))-FIND(" ", A2)-1)), "")
  1. Bước 5: Kiểm tra bằng PROPER:
=PROPER(B2) 'HọHunter
=PROPER(D2) 'Tên đệm fiancé(C2) 'Tên
  1. Bước 6: Sử dụng IFERROR để tránh lỗi khi tên không tuân quy tắc.

8. Ứng dụng thực tế

8.1. Phân tích dữ liệu khách hàng

Nếu hệ thống CRM chứa tên khách hàng không tách, việc phân loại họ, tên đệm giúp:

  • Tìm kiếm nhanh: Tìm kiếm theo họ (chủ yếu dùng trong báo cáo).
  • Tạo email ملکی: Dựa vào họ và tên để tạo địa chỉ email chuẩn.
  • Tính thống kê: Đếm số lượng khách hàng theo họ (đánh dấu nhóm).

8.2. Xử lý dữ liệu nhân viên

  • Bảng lương: Tách tên để chuẩn hóa đối chiếu dữ liệu.
  • Bản ghi công việc: Đánh dấu nhân viên theo họ để dễ dàng sắp xếp.

8.3. Phân tích dữ liệu giáo dục

  • Sinh viên: Phân loại theo họ để thống kê số lượng sinh viên trong từng khoa.
  • Đơn đăng ký: Kiểm tra tính hợp lệ của tên, tránh nhập sai.

9. Thủ thuật nâng cao

9.1. Dùng hàm TEXTSPLIT (Excel 2026/365)

Nếu bạn có phiên bản mới nhất, TEXTSPLIT hỗ trợ chia chuỗi theo ký tự:

=TEXTSPLIT(A2, " ", , 1) 'Phân tách toàn bộ từ

Kết hợp với INDEX:

=INDEX(TEXTSPLIT(A2, " "), 1) 'Họ
=INDEX(TEXTSPLIT(A2, " "), COUNTA(TEXTSPLIT(A2, " "))) 'Tên
=TEXTJOIN(" ", TRUE, INDEX(TEXTSPLIT(A2, " "), 2, COUNTA(TEXTSPLIT(A2, " "))-1)) 'Tên đệm

9.2. Xử lý dữ liệu đa ngôn ngữ

Nếu có dữ liệu tiếng Anh (“Smith John”), bạn có thể viết macro để phân biệt từ ngữ:

If InStr(1, parts(0), " ") > 0 Then 'Xử lý đặc biệt
End If

9.3. Sử dụng hàm FILTERXML

Đôi khi dữ liệu có dấu phẩy hoặc dạng XML, FILTERXML giúp tách:

=FILTERXML("<t><s>" & SUBSTITUTE(A2, " ", "</s><s>") & "</s></t>", "//s2")

10. Kết luận

Việc tách tên họ và tên đệm trong Excel không chỉ giúp dữ liệu trở nên rõ ràng hơn, mà còn mở ra nhiều khả năng phân tích và xử lý dữ liệu hiệu quả. Tùy thuộc vào quy mô và tính chất dữ liệu, bạn có thể lựa chọn:

  • Công thức cơ bản (đơn giản, nhanh).
  • Power Query (đối với dữ liệu lớn, linh hoạt).
  • VBA/Macro (đối với quy tắc tùy chỉnh, tự động hoá).
  • Hàm mới (TEXTJOIN, TEXTSPLIT) (đối với Excel 365/2026).

Bằng cách kết hợp các phương pháp trên, bạn sẽ có thể tách tên người một cách chính xác, giảm thiểu lỗi, và tăng tính nhất quán trong toàn bộ hệ thống dữ liệu của mình. Hãy thử áp dụng ngay hôm nay để cảm nhận sự khác biệt!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận