Cách Kết Hợp Tên Và Họ Trong Excel: Hướng Dẫn Chi Tiết Và Công Thức Thực Hành

Giới thiệu

Trong thế giới dữ liệu hiện đại, việc quản lý thông tin khách hàng, nhân viên hay bất kỳ danh sách nào chứa tên đầy đủ thường gặp phải tình huống cần tách riêng họ và tên, hoặc ngược lại – kết hợp họ và tên lại thành một chuỗi duy nhất. Đối với người dùng Excel, đây là một công việc thường xuyên, đặc biệt khi làm việc với dữ liệu nhập khẩu từ các nguồn khác nhau (CSV, dữ liệu từ web, cơ sở dữ liệu, v.v.). Bài viết này sẽ trình bày chi tiết cách kết hợp first name và last name trong Excel bằng nhiều phương pháp khác nhau: công thức đơn giản, công thức mới, công thức nâng cao và thậm chí là macro VBA. Bạn sẽ được hướng dẫn từng bước, có thể áp dụng ngay vào công việc thực tế của mình.

1. Nắm vững cấu trúc dữ liệu

Trước khi chạm vào công thức, hãy xác định rõ cấu trúc dữ liệu của bạn:
– Cột A: Họ (Last name)
– Cột B: Tên (First name)
– Cột C: Tên đầy đủ (Full name) – mục tiêu kết hợp

Nếu dữ liệu của bạn được trình bày ngược lại (Tên trước, Họ sau), bạn chỉ cần điều chỉnh công thức. Việc hiểu rõ cấu trúc giúp tránh lỗi khi áp dụng công thức.

2. Phương pháp cơ bản: CONCATENATE

2.1 Công thức CONCATENATE

Công thức CONCATENATE (hoặc &) là phương pháp truyền thống để nối chuỗi trong Excel:

=CONCATENATE(A2, " ", B2)

hoặc

=A2 & " " & B2
  • A2: ô chứa họ
  • " ": dấu cách (để tách họ và tên)
  • B2: ô chứa tên

2.2 Kiểm tra lỗi với IFERROR

Nếu dữ liệu có thể còn trống, bạn có thể dùng IFERROR để tránh lỗi:

=IFERROR(A2 & " " & B2, "")

2.3 Định dạng chữ hoa/hóa đầu

Để đảm bảo tên được viết hoa đúng cách (hoặc viết hoa đầu mỗi từ), bạn có thể dùng PROPER:

=PROPER(A2 & " " & B2)

3. Phương pháp nâng cao: CONCAT

Từ Excel 2026 trở đi, hàm CONCAT là phiên bản cải tiến của CONCATENATE. Nó cho phép bạn nối nhiều chuỗi mà không cần viết & lặp đi lặp lại.

=CONCAT(A2, " ", B2)

3.1 Nối nhiều cột

Nếu bạn có nhiều cột dữ liệu cần kết hợp, CONCAT rất tiện lợi:

=CONCAT(A2, " ", B2, " ", C2, " ", D2)

4. Công thức mới: TEXTJOIN

4.1 Giới thiệu TEXTJOIN

TEXTJOIN là một hàm cực kỳ mạnh mẽ, cho phép bạn chỉ định ký tự phân cách một lần duy nhất, đồng thời bỏ qua các ô trống nếu muốn.

=TEXTJOIN(" ", TRUE, A2, B2)
  • " ": ký tự phân cách (dấu cách)
  • TRUE: bỏ qua ô trống
  • A2, B2: danh sách các ô cần nối

4.2 Đối với dữ liệu dài

TEXTJOIN còn hỗ trợ vùng dữ liệu:

=TEXTJOIN(" ", TRUE, A2:D2)

Nếu có 4 cột là họ, tên, tên đệm, tên phụ, công thức này sẽ kết hợp tất cả với dấu cách.

4.3 Bỏ qua ký tự không hợp lệ

Bạn có thể thêm điều kiện lọc ký tự không hợp lệ (ví dụ dấu cách thừa) bằng công thức TRIM:

=TEXTJOIN(" ", TRUE, TRIM(A2), TRIM(B2))

5. Xử lý dữ liệu phức tạp: Tên đa phần

Trong văn bản tiếng Việt, người ta thường có nhiều phần trong tên: họ, tên đệm, tên chính, tên phụ. Để kết hợp một cách chính xác, bạn nên:
1. Tách từng phần: Sử dụng TEXTSPLIT (Excel 365) hoặc TRIM/MID để tách.
2. Nối lại: Dùng TEXTJOIN với điều kiện bỏ qua ô trống.

Ví dụ: Giả sử A2 chứa GFP “Nguyễn Văn A” và B2 là “Trường”, bạn có thể làm:

=TEXTJOIN(" ", TRUE, TRIM(A2), TRIM(B2))

Nếu A2 có nhiều phần, bạn có thể dùng TEXTSPLIT:

=TEXTJOIN(" ", TRUE, TEXTSPLIT(A2, " "))

6. Tự động hoá với VBA

Đối với những người dùng Excel chuyên nghiệp, macro VBA có thể giúp tự động hoá quy trình kết hợp tên, đặc biệt khi làm việc với hàng nghìn dòng dữ liệu.

6.1 Macro mẫu

How To Combine First And Last Name In Excel
How To Combine First And Last Name In Excel
Sub CombineNames() Dim ws As Worksheet Dim rng As Range, cell As Range Set ws = ActiveSheet Set rng = ws.Range("A2:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row) For Each cell In rng If cell.Offset(0, 1).Value <> "" Then cell.Offset(0, 2).Value = "'" & _ Trim(cell.Value) & " " & Trim(cell.Offset(0, 1).Value) Else cell.Offset(0, 2).Value = "'" & Trim(cell.Value) End If Next cell
End Sub
  • cell là ô chứa họ.
  • cell.Offset(0, 1) là договор tên.
  • cell.Offset(0, 2) là nơi xuất tên đầy đủ.

Macro này sẽ đi qua từng hàng, kiểm tra xem tên có trống không, rồi kết hợp. Bạn có thể chạy macro bằng cách nhấn Alt+F8 hoặc gán vào nút.

6.2 Macro nâng cao: Xử lý tên đa phần

Nếu bạn muốn tách tên đệm, tên chính, tên phụ, macro có thể được mở rộng:

Function CombineFullName(lastName As String, firstName As String) As String Dim parts() As String parts = Split(firstName, " ") Dim full As String full = Trim(lastName) Dim i As Long For i = LBound(parts) To UBound(parts) full = full & " " & Trim(parts(i)) Next i CombineFullName = full
End Function

Sau đó dùng trong ô: =CombineFullName(A2, B2).

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

7.1 Loại bỏ dấu cách thừa

Dùng TRIM trong công thức:

=TRIM(A2 & " " & B2)

7.2 Kiểm tra ký tự đặc biệt

Bạn có thể dùng SUBSTITUTE để thay thế các ký tự không mong muốn:

=SUBSTITUTE(TRIM(A2 & " " & B2), CHAR(10), "")

7.3ilyen chuyển đổi chữ thường sang chữ hoa

Nếu muốn chuyển toàn bộ tên thành chữ hoa, dùng UPPER:

=UPPER(TRIM(A2 & " " & B2))

8. Tích hợp với Power Query

Nếu bạn thường xuyên nhập dữ liệu từ nguồn bên ngoài, Power Query là công cụ mạnh mẽ để xử lý dữ liệu trước khi đưa vào Excel.

8.1 Dùng Power Query để kết hợp cột

  1. Chọn dữ liệu → Data > From Table/Range.
  2. Trong Power Query Editor, Add Column > Custom Column.
  3. Dùng công thức:
Text.Combine({Họ, Tên}, " ")
  1. Ghi lại và tải dữ liệu trở lại Excel.

Power Query sẽ tự động áp dụng công thức cho tất cả các hàng mà bạn không cần phải kéo công thức xuống.

9. Kiểm tra tính hợp lệ dữ liệu

Trong môi trường doanh nghiệp, có thể cần kiểm tra tính hợp lệ của tên (không có số, ký tự đặc biệt, v.v.). Bạn có thể sử dụng ISNUMBER, SEARCH, hoặc REGEX (Excel 365 với hàm REGEXMATCH).

Ví dụ: Kiểm tra xem tên có chứa số không:

=IF(REGEXMATCHيفون(A2 & " " & B2, "\d"), "Có số", "Không số")

Nếu kết quả “Có số”, bạn sẽ cần làm sạch hoặc cảnh báo.

10. Tối ưu hiệu suất khi làm việc với hàng triệu dòng

Khi dữ liệu lớn, công thức TEXTJOIN hoặc CONCAT có thể chậm. Dưới đây là một số mẹo:

  • Sử dụng Power Query: Đối với dữ liệu > 100k dòng, Power Query nhanh hơn vì nó chạy trên nền tảng M language.
  • Macro VBA: Đối với hàng triệu dòng, macro có thể nhanh hơn công thức, vì nó tránh yêu cầu tính toán ô một một.
  • Sao chép kết quả: Khi đã có tên đầy đủ, bạn có thể Copy → Paste Special → Values để chuyển công thức thành giá trị, giảm tải tính toán.

11. Các trường hợp đặc biệt

11.1 Tên có dấu, ký tự đặc biệt

Đảm bảo rằng công thức không làm mất dấu tiếng Việt. Sử dụng PROPER sẽ giữ nguyên dấu, nhưng nếu có ký tự đặc biệt, hãy kiểm tra.

11.2 Tên có dấu cách thừa

Dùng TRIM để loại bỏ dấu cách thừa:

=TRIM(A2 & " " & B2)

11.3 Họ và tên có thể bị đảo ngược

Nếu dữ liệu có thể bị đảo ngược (Tên trước, Họ sau), bạn có thể dùng IF để tự động nhận diện:

=IF(ISNUMBER(SEARCH(" ", A2)), CONCATENATE(B2, " ", A2), CONCATENATE(A2, " ", B2))

12. Hướng dẫn thực hành từng bước

  1. Chuẩn bị dữ liệu: Đảm bảo cột A = họ, cột B = tên.
  2. Chọn công thức mong muốn: Nếu chỉ cần nhanh chóng, dùng =A2 & " " & B2. Nếu cần xử lý đặc biệt, dùng TEXTJOIN.
  3. Kéo công thức: Đặt công thức ở ô C2, kéo xuống hết dữ liệu.
  4. Sao chép giá trị: Sau khi hoàn thành, Copy → Paste Valerie → Values để loại bỏ công thức.
  5. Kiểm tra lỗi: Sử dụng Conditional Formatting để đánh dấu ô trống hoặc lỗi.
  6. Lưu trữ: Đặt tên file, lưu lại.

13. Tổng kết và lưu ý

  • Công thức đơn giản (CONCATENATE hay &) vẫn hữu ích trong hầu hết trường hợp.
  • CONCAT và TEXTJOIN là lựa chọnაოდ mạnh mẽ, đặc biệt khi làm việc với nhiều cột hoặc ô trống.
  • VBA giúp tự động hoá quy trình khi dữ liệu lớn hoặc cần xử lý phức tạp.
  • Power Query 塩 là công cụ tuyệt vời khi cần nhập dữ liệu từ nguồn bên ngoài và thực hiện thao tác trước khi đưa vào bảng tính.
  • Luôn kiểm tra dữ liệu đầu vào: loại bỏ dấu cách thừa, ký tự đặc biệt và định dạng chữ hoa/ thường đúng.

Bằng cách nắm vững các công thức và công cụ trên, bạn sẽ có thể kết hợp first name và last name trong Excel một cách nhanh chóng, chính xác và tối ưu. Hãy thử áp dụng ngay vào công việc của mình và 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