Cách Tách Tên Đệm Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

Mở Đầu

Trong môi trường làm việc hiện đại, việc quản lý dữ liệu cá nhân, đặc biệt là danh sách tên, là một nhiệm vụ thường xuyên gặp phải. Khi nhập dữ liệu vào Excel, chúng ta thường gặp các trường hợp tên đầy đủ được lưu trữ trong một cột duy nhất, ví dụ: “Nguyễn Văn An”, “Trần Thị Minh Hằng”, hay “Lê Hoàng Phúc”. Để thực hiện các công việc phân tích, lọc, hay gửi email cá nhân hoá, việc tách tên đệm (phần giữa của tên) ra thành một cột riêng là rất cần thiết.

Bài viết này sẽ hướng dẫn bạn cách tách tên đệm trong Excel một cách chi tiết, từ các phương pháp cơ bản sử dụng các hàm tích hợp sẵn, tới các kỹ thuật nâng cao hơn như Power Query và VBA. Bạn sẽ học được:

  1. Nguyên tắc xác định tên đệm trong các mẫu tên tiếng Việt.
  2. Cách sử dụng hàm LEFT, RIGHT, MID, FIND, SEARCH, LEN, TRIM, SUBSTITUTE để tách tên đệm.
  3. Kỹ thuật tách tên đệm khi có nhiều hơn một từ đệm.
  4. Sử dụng Power Query để tách tên đệm nhanh chóng trên tập dữ liệu lớn.
  5. Viết macro VBA tự động tách tên đệm và lưu kết quả vào các cột mới.
  6. Các lưu ý, lỗi thường gặp và cách khắc phục.

Sau khi đọc xong, bạn sẽ có một bộ công cụ hoàn chỉnh để xử lý bất kỳ danh sách tên nào trong Excel, dù dữ liệu có phức tạp đến đâu.

1. Hiểu Rõ Cấu Trúc Tên Tiếng Việt

Trước khi bắt tay vào tách tên đệm, chúng ta cần nắm rõ cấu trúc chung của một họ tên tiếng Việt:

Họ Tên Đệm Tên
  • Họ: Thông thường là 1 từ, nhưng cũng có trường hợp họ kép (VD: “Đinh Thị”, “Lê Ngọc”). Tuy nhiên trong đa số trường hợp, họ là từ đầu tiên.
  • Tên Đệm: Là phần nằm giữa họ và tên, có thể là 1 hoặc nhiều từ (VD: “Văn”, “Thị”, “Thị Thu”, “Ngọc Anh”).
  • Tên: Thường là 1 từ, nhưng cũng có thể là 2 từ (VD: “Thị Lan”, “Minh Hằng”). Tuy nhiên trong hầu hết các danh sách, tên là từ cuối cùng.

Ví dụ:

HọTên ĐệmTên
NguyễnVănAn
TrầnThị MinhHằng
LêHoàngPhúc
PhạmThị Thu HằngLinh

1.1. Khi Nào Tên Đệm Có Nhiều Từ?

  • Khi họ và tên đều là một từ, phần còn lại (có thể 1, 2, 3… từ) sẽ là tên đệm.
  • Khi tên gồm 2 từ (ví dụ “Minh Hằng”), thì tên đệm thường là các từ nằm giữa họ và 2 từ cuối cùng.
  • Khi họ có 2 từ (ví dụ “Đặng Thị”), thì tên đệm là các từ nằm sau họ và trước tên.

Vì vậy, để tách tên đệm một cách chính xác, chúng ta cần xác định vị trí của họ và tên trong chuỗi và lấy phần còn lại ở giữa.

2. Phương Pháp Cơ Bản Sử Dụng Hàm Excel

2.1. Giả Định Dữ Liệu Đơn Giản

Giả sử cột A chứa họ tên đầy đủ và chúng ta muốn tách tên đệm vào cột C.

A (Họ Tên)
Nguyễn Văn An
Trần Thị Minh Hằng
Lê Hoàng Phúc
Phạm Thị Thu Hằng Linh

Bước 1: Xác Định Vị Trí Họ và Tên

  • Vị trí họ: là vị trí của dấu cách đầu tiên.
  • Vị trí tên: là vị trí của dấu cách cuối cùng.

Chúng ta sẽ dùng hàm FIND (hoặc SEARCH) để tìm vị trí dấu cách.

=FIND(" ",A2) // vị trí dấu cách đầu tiên

Đối với dấu cách cuối cùng, cách nhanh nhất là dùng LEN + SUBSTITUTE:

=LEN(A2)-LEN(SUBSTITUTE(A2," ","")) // số lượng dấu cách

Sau đó:

=FIND("#",SUBSTITUTE(A2," ","#",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))

Hàm trên sẽ trả về vị trí của dấu cách cuối cùng.

Bước 2: Lấy Tên Đệm

Giả sử:

  • posFirstSpace = FIND(" ",A2)
  • posLastSpace = FIND("#",SUBSTITUTE(A2," ","#",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))

Tên đệm là phần giữa:

=MID(A2, posFirstSpace + 1, posLastSpace - posFirstSpace - 1)

Công thức tổng hợp (đặt vào C2):

=TRIM(MID(A2, FIND(" ",A2)+1, FIND("#",SUBSTITUTE(A2," ","#",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))) - FIND(" ",A2) - 1))

Giải thích:

  • FIND(" ",A2)+1 → vị trí ký tự đầu tiên của tên đệm.
  • FIND("#",SUBSTITUTE(...)) - FIND(" ",A2) - 1 → độ dài của tên đệm.
  • TRIM loại bỏ khoảng trắng thừa nếu có.

Kéo công thức xuống các dòng khác, bạn sẽ nhận được kết quả:

C (Tên Đệm)
Văn
Thị Minh
Hoàng
Thị Thu Hằng

2.2. Xử Lý Trường Hợp Họ Hai Từ

Nếu danh sách có họ hai từ (VD: “Đinh Thị”), công thức trên sẽ chỉ lấy phần sau dấu cách đầu tiên, dẫn tới lỗi. Để khắc phục, chúng ta cần xác định họ dựa trên một danh sách họ phổ biến hoặc dựa trên quy tắc: họ luôn là từ đầu tiên (đơn giản nhất). Nếu muốn hỗ trợ họ hai từ, chúng ta cần một bảng danh sách họ và dùng VLOOKUP/ XLOOKUP để kiểm tra.

2.2.1. Tạo Bảng Danh Sách Họ

D (Họ)
Nguyễn
Trần
Lê
Phạm
Đinh
Đặng
…

Giả sử bảng này nằm ở E2:E100.

2.2.2. Xác Định Họ

=IFERROR(INDEX($E$2:$E$100,MATCH(TRUE,ISNUMBER(SEARCH($E$2:$E$100,A2)),0)),"")

Công thức mảng (nhấn Ctrl+Shift+Enter trong Excel 2026 trở về trước) sẽ trả về họ phù hợp. Khi đã có họ, chúng ta có thể loại bỏ phần họ khỏi chuỗi và áp dụng công thức tách tên đệm như trên.

2.2.3. Công Thức Hoàn Chỉnh

=LET( fullName, A2, lastSpace, FIND("#",SUBSTITUTE(fullName," ","#",LEN(fullName)-LEN(SUBSTITUTE(fullName," ","")))), firstSpace, FIND(" ",fullName), nameMid, MID(fullName, firstSpace+1, lastSpace-firstSpace-1), TRIM(nameMid)
)

Lưu ý: Hàm LET chỉ khả dụng trong Excel 365/2026 trở lên, giúp làm cho công thức ngắn gọn và dễ đọc.

3. Sử Dụng Power Query Để Tách Tên Đệm

Khi dữ liệu lên tới hàng ngàn, hàng chục ngàn dòng, việc dùng công thức trong ô có thể làm file nặng và chậm. Power Query (cũng gọi là Get & Transform) là công cụ mạnh mẽ để xử lý dữ liệu trước khi tải vào bảng tính.

3.1. Bước Chuẩn Bị

  1. Chọn vùng dữ liệu → Data → From Table/Range.
  2. Đảm bảo dữ liệu có tiêu đề (ví dụ: FullName).

3.2. Tách Họ, Tên Đệm và Tên

Cách Tách Tên Đệm Trong Excel
Cách Tách Tên Đệm Trong Excel

Trong Power Query Editor:

  1. Split Column → By Delimiter → chọn Space → Advanced Options → Split Into → Rows.
  2. Kết quả: mỗi từ trong họ tên sẽ nằm trên một dòng, kèm cột Index để xác định vị trí.

  3. Thêm cột Index (nếu chưa có) để đánh số thứ tự từ trái sang phải:

  4. Add Column → Index Column → From 1.

  5. Tạo cột Họ: giữ lại Index = 1 (hoặc nếu bạn có danh sách họ, dùng Merge Queries để xác định).

  6. Tạo cột Tên: lấy cột cuối cùng (có thể dùng công thức Table.ColumnCount để xác định vị trí cuối).

  7. Tên Đệm: lấy các cột Index từ 2 tới (LastIndex-1) và nối lại bằng Space:

  8. Add Column → Custom Column → nhập công thức:

m let totalColumns = Table.ColumnCount(FullName), middleColumns = List.Range(Record.FieldValues(_), 1, totalColumns-2), middleText = Text.Combine(middleColumns, " ") in middleText

  1. Đổi tên các cột thành Surname, MiddleName, GivenName.

  2. Khi hoàn tất, Close & Load → dữ liệu sẽ xuất hiện trong một sheet mới.

3.3. Ưu Điểm Của Power Query

  • Hiệu suất: Xử lý hàng triệu bản ghi nhanh hơn.
  • Tái sử dụng: Lưu lại các bước, sau này chỉ cần refresh khi dữ liệu thay đổi.
  • Linh hoạt: Dễ dàng thêm bước loại bỏ ký tự đặc biệt, chuẩn hoá chữ hoa/thường.

4. Tự Động Hóa Bằng VBA

Nếu bạn thường xuyên phải tách tên đệm và muốn một nút bấm để thực hiện, macro VBA là giải pháp tối ưu.

4.1. Mã VBA Cơ Bản

Sub TachTenDem() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Dim fullName As String Dim firstSpace As Long, lastSpace As Long Dim middleName As String Set ws = ThisWorkbook.Sheets("Sheet1") ' Thay tên sheet nếu cần lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row For i = 2 To lastRow ' Giả sử tiêu đề ở hàng 1 fullName = Trim(ws.Cells(i, "A").Value) If Len(fullName) > 0 Then firstSpace = InStr(1, fullName, " ") lastSpace = InStrRev(fullName, " ") If firstSpace > 0 And lastSpace > firstSpace Then middleName = Mid(fullName, firstSpace + 1, lastSpace - firstSpace - 1) ws.Cells(i, "C").Value = Trim(middleName) ' Ghi vào cột C Else ws.Cells(i, "C").Value = "" ' Không có tên đệm End If End If Next i MsgBox "Hoàn thành tách tên đệm!", vbInformation
End Sub
  • Giải thích:
  • InStr tìm dấu cách đầu tiên → vị trí họ.
  • InStrRev tìm dấu cách cuối cùng → vị trí tên.
  • Mid lấy phần giữa.
  • Kết quả ghi vào cột C.

4.2. Xử Lý Họ Hai Từ

Nếu muốn hỗ trợ họ hai từ, ta có thể tạo mảng họ và kiểm tra:

Dim hoList As Variant
hoList = Array("Nguyễn", "Trần", "Lê", "Phạm", "Đinh", "Đặng", "Hoàng", "Vũ", "Bùi", "Đỗ") '…thêm tùy ý Function GetHo(fullName As String) As String Dim part As Variant Dim i As Long For i = LBound(hoList) To UBound(hoList) part = Split(fullName, " ") If part(0) = hoList(i) Then GetHo = part(0) Exit Function End If ' Kiểm tra họ hai từ If UBound(part) >= 1 Then If part(0) & " " & part(1) = hoList(i) Then GetHo = part(0) & " " & part(1) Exit Function End If End If Next i GetHo = "" ' Không tìm thấy
End Function

Sau khi có họ, chúng ta loại bỏ nó khỏi chuỗi rồi mới tách tên đệm tương tự như ở trên.

4.3. Gán Macro Vào Nút

  1. Vào Developer → Insert → Button (Form Control).
  2. Vẽ nút trên sheet, chọn macro TachTenDem.
  3. Đặt tên nút “Tách Tên Đệm”.

Giờ chỉ cần nhấn nút, macro sẽ tự động xử lý cả bảng.

5. Các Lưu Ý Và Khắc Phục Lỗi Thường Gặp

5.1. Dữ Liệu Có Khoảng Trắng Thừa

  • Vấn đề: Nhiều ô có khoảng trắng ở đầu/cuối hoặc giữa.
  • Giải pháp: Dùng TRIM trong công thức hoặc Text.Trim trong Power Query để chuẩn hoá.

5.2. Tên Đệm Không Có (Chỉ Có Họ và Tên)

  • Kết quả mong muốn: Trả về ô trống hoặc “(Không có)”.
  • Công thức: Thêm điều kiện IF(firstSpace = lastSpace, "", middleName).

5.3. Tên Đệm Gồm Các Ký Tự Đặc Biệt

  • Ví dụ: “Nguyễn Văn-Đạt”, “Trần Thị Lê”.
  • Cách xử lý: Sử dụng SUBSTITUTE để thay thế ký tự không mong muốn trước khi tách.
=SUBSTITUTE(SUBSTITUTE(A2,"-"," "), ""," ")

Sau khi thay thế, thực hiện tách như bình thường.

5.4. Độ Dài Tên Đệm Khác Nhau

Khi tên đệm có 1, 2 hoặc 3 từ, công thức MID vẫn hoạt động vì nó dựa trên vị trí dấu cách đầu và cuối, không phụ thuộc vào số từ.

5.5. Hiệu Năng Khi Dữ Liệu Lớn

  • Công thức ô: Tránh dùng hàm mảng phức tạp trên hàng triệu dòng.
  • Giải pháp: Dùng Power Query hoặc VBA để thực hiện một lần và ghi kết quả vào sheet mới.

6. Tổng Kết

Việc tách tên đệm trong Excel không chỉ giúp dữ liệu trở nên sạch sẽ, mà còn mở ra nhiều khả năng phân tích và tự động hoá trong công việc. Chúng ta đã:

  1. Hiểu cấu trúc tên tiếng Việt và xác định vị trí họ, tên, tên đệm.
  2. Áp dụng các hàm Excel như FIND, MID, LEN, SUBSTITUTE, TRIM để tách tên đệm trong các trường hợp đơn giản.
  3. Xử lý phức tạp hơn bằng cách tạo bảng danh sách họ, dùng hàm LET và các công thức mảng.
  4. Sử dụng Power Query để tách tên đệm nhanh chóng trên dữ liệu lớn, với các bước chia từ, xác định vị trí và ghép lại.
  5. Viết macro VBA để tự động hoá quy trình, hỗ trợ họ hai từ và các ký tự đặc biệt.
  6. Nhận diện và khắc phục các lỗi thường gặp như khoảng trắng thừa, thiếu tên đệm, ký tự đặc biệt và vấn đề hiệu năng.

Khi Nào Nên Chọn Phương Pháp Nào?

Tình HuốngPhương Pháp Đề Xuất
Dữ liệu < 10.000 dòng, cấu trúc đơn giảnCông thức Excel (MID, FIND)
Dữ liệu có họ hai từ, cần độ chính xác caoCông thức kết hợp VLOOKUP/XLOOKUP + MID
Hàng chục/nghìn tới hàng trăm/nghìn bản ghiPower Query
Cần tự động hoá thường xuyên, có nút bấmVBA Macro
Dữ liệu không đồng nhất, có ký tự đặc biệtKết hợp Power Query + bước làm sạch (Trim, Substitute)

Hy vọng bài viết đã cung cấp cho bạn bộ công cụ toàn diện để tách tên đệm trong Excel một cách hiệu quả và chuyên nghiệp. Hãy áp dụng vào thực tế, tùy chỉnh cho phù hợp với dữ liệu của mình và chia sẻ kết quả với đồng nghiệp nhé!

⚠️
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