Trong môi trường làm việc hiện đại, Excel đã trở thành một công cụ không thể thiếu đối với các nhà quản lý, nhân viên kế toán, nhà phân tích dữ liệu và hầu hết các chuyên gia văn phòng. Một trong những thao tác thường xuyên gặp phải khi làm việc với Excel là nối hai cột (hoặc nhiều cột) để tạo ra một cột mới chứa thông tin tổng hợp, ví dụ như kết hợp họ và tên, địa chỉ, mã sản phẩm với mô tả, v.v. Dù bạn là người mới bắt đầu hay đã có kinh nghiệm, việc nắm vững các phương pháp nối cột trong Excel sẽ giúp tăng năng suất, giảm thiểu lỗi và làm cho bảng tính của bạn trở nên chuyên nghiệp hơn.
Trong bài viết này, chúng ta sẽ đi sâu vào mọi khía cạnh của việc nối hai cột trong Excel, bao gồm:
- Giới thiệu tổng quan về nhu cầu nối cột và các tình huống thực tế.
- Các cách thực hiện: sử dụng hàm CONCATENATE, hàm CONCAT, hàm TEXTJOIN, toán tử “&”, và công cụ Power Query.
- Chi tiết từng hàm: cú pháp, ví dụ thực tế, ưu nhược điểm.
- Xử lý các trường hợp đặc biệt: bỏ khoảng trắng thừa, bỏ ký tự đặc biệt, nối có điều kiện, nối trên nhiều sheet.
- Tối ưu hiệu năng cho bảng dữ liệu lớn.
- Mẹo và thủ thuật: tự động điền, sử dụng VBA, tạo nút macro.
- So sánh các phương pháp để lựa chọn giải pháp phù hợp nhất.
- Câu hỏi thường gặp (FAQ) và giải đáp các lỗi phổ biến.
- Kết luận và hướng đi tiếp theo.
Bài viết được viết chi tiết, từng bước, kèm ví dụ thực tế, công thức cụ thể và hình ảnh minh hoạ (mô tả bằng văn bản) để bạn dễ dàng áp dụng ngay vào công việc. Hãy cùng khám phá!
Có thể bạn quan tâm: Niềng Nhôm Excel Chính Hãng: Lựa Chọn Hoàn Hảo Cho Nụ Cười Tự Tin
1. Tại Sao Cần Nối Hai Cột Trong Excel?
1.1. Nhu Cầu Thực Tế
- Kết hợp Họ và Tên: Dữ liệu khách hàng thường lưu riêng họ và tên. Khi in báo cáo, bạn muốn hiển thị “Nguyễn Văn A” thay vì “Nguyễn” và “A” riêng biệt.
- Tạo Mã Sản Phẩm Độc Nhất: Kết hợp mã nhóm + số thứ tự (VD: “SP-001”, “SP-002”).
- Địa chỉ Đầy Đủ: Nối “Số nhà”, “Tên đường”, “Quận/Huyện”, “Tỉnh/TP” thành một cột “Địa chỉ”.
- Chuỗi Mô Tả: Khi xuất dữ liệu sang hệ thống khác, đôi khi cần một chuỗi duy nhất chứa nhiều thông tin.
1.2. Lợi Ích Khi Nối Cột
- Tiết kiệm không gian: Giảm số cột, bảng tính gọn gàng hơn.
- Dễ dàng export: Nhiều hệ thống yêu cầu dữ liệu ở dạng chuỗi duy nhất.
- Tăng tính đọc hiểu: Người xem báo cáo nhanh nắm bắt thông tin.
- Chuẩn hoá dữ liệu: Giảm lỗi nhập liệu khi các phần dữ liệu được gộp lại.
Có thể bạn quan tâm: Nhập Tên Hàng Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Các Phương Pháp Nối Hai Cột Cơ Bản
2.1. Sử Dụng Toán Tử “&”
Đây là cách nhanh nhất và thường được sử dụng nhất.
Cú pháp:
=Ô1 & "khoảng trống hoặc ký tự" & Ô2
Ví dụ:
Giả sử cột A chứa họ, cột B chứa tên. Để tạo cột C hiển thị “Họ Tên”:
=A2 & " " & B2
Kết quả: “Nguyễn Văn A”.
Ưu điểm:
– Nhanh, không cần nhớ hàm.
– Dễ dàng chèn ký tự đặc biệt (dấu cách, dấu gạch ngang, v.v.).
Nhược điểm:
– Khi có nhiều cột cần nối, công thức trở nên dài và khó bảo trì.
– Không hỗ trợ bỏ qua các ô trống một cách tự động (cần kết hợp hàm IF).
2.2. Hàm CONCATENATE (Excel 2007‑2026)
Cú pháp:
=CONCATENATE(text1, text2, …)
Ví dụ:
=CONCATENATE(A2, " ", B2)
Lưu ý: Hàm này đã được làm giảm trong các phiên bản mới, thay bằng hàm CONCAT và TEXTJOIN. Tuy nhiên, vẫn còn được sử dụng rộng rãi vì tính tương thích ngược.
2.3. Hàm CONCAT (Excel 2026 trở lên)
Cú pháp:
=CONCAT(text1, text2, …)
Ví dụ:
=CONCAT(A2, " ", B2)
Điểm mạnh:
– Hỗ trợ mảng (array) trong Office 365/Excel 2026, cho phép nối nhiều ô cùng lúc.
2.4. Hàm TEXTJOIN (Excel 2026 trở lên)
Cú pháp:
=TEXTJOIN(delimiter, ignore_empty, text1, text2, …)
- delimiter: ký tự ngăn cách (ví dụ: “ ”, “-”, “,”).
- ignore_empty: TRUE để bỏ qua ô trống, FALSE để giữ lại.
- text1, text2…: các ô hoặc dải ô cần nối.
Ví dụ: Nối họ và tên, bỏ qua ô trống:
=TEXTJOIN(" ", TRUE, A2, B2)
Nếu A2 trống, kết quả vẫn sẽ là “Tên”.
Ưu điểm:
– Đơn giản khi nối nhiều cột.
– Tự động bỏ qua ô trống (tham số ignore_empty).
– Hỗ trợ mảng, rất tiện cho các bảng dữ liệu lớn.
2.5. Power Query (Get & Transform)
Power Query là công cụ mạnh mẽ cho việc xử lý dữ liệu trước khi đưa vào bảng tính. Nó cho phép:
- Nối cột trong giao diện kéo thả.
- Xử lý dữ liệu phức tạp: thay đổi kiểu dữ liệu, tách, gộp, lọc.
- Tự động cập nhật khi dữ liệu nguồn thay đổi.
Cách thực hiện (tóm tắt):
- Chọn bảng dữ liệu → Data → From Table/Range.
- Trong Power Query Editor, chọn các cột cần nối → Add Column → Merge Columns.
- Chọn delimiter (khoảng trống, dấu gạch ngang…) và đặt tên cột mới.
- Close & Load để đưa dữ liệu về Excel.
Power Query rất hữu ích khi bạn phải nối hàng trong nhiều bảng, hoặc khi dữ liệu có hàng nghìn, hàng triệu dòng.
Có thể bạn quan tâm: Nhúng File Excel Vào Powerpoint: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
3. Chi Tiết Các Hàm Nối Cột
3.1. Toán Tử “&” – Khi Nào Dùng?
- Nối 2‑3 cột: Khi số cột ít và công thức không phức tạp.
- Thêm ký tự tạm thời: Dấu cách, dấu chấm, gạch ngang.
- Kết hợp với IF để xử lý ô rỗng.
Công thức mẫu:
=IF(A2="", "", A2 & " ") & IF(B2="", "", B2)
Công thức trên sẽ:
- Nếu A2 trống, không chèn dấu cách.
- Nếu B2 trống, không chèn gì.
3.2. CONCATENATE vs CONCAT
| Đặc điểm | CONCATENATE | CONCAT |
|---|---|---|
| Phiên bản hỗ trợ | Excel 2007‑2026 | Excel 2026+ (Office 365) |
| Số đối số | Tối đa 255 | Không giới hạn (hỗ trợ mảng) |
| Hiệu suất | Chậm hơn khi dùng mảng | Nhanh hơn |
| Tương thích ngược | Cao | Trung bình |
Khi nào nên dùng CONCAT?
Khi bạn cần nối nhiều cột hoặc muốn sử dụng mảng để nối toàn bộ một dải ô mà không cần lặp lại công thức.
Ví dụ (nối cột A, B, C, D trong một hàng):
=CONCAT(A2:D2)
Kết quả: Nội dung của bốn ô được gộp liền nhau (không có delimiter). Nếu cần dấu cách, dùng TEXTJOIN hoặc chèn “ ” bằng &.
3.3. TEXTJOIN – Đối Tượng Sử Dụng Cao
3.3.1. Cú pháp chi tiết
=TEXTJOIN(delimiter, ignore_empty, text1, text2, …)
- delimiter: chuỗi ký tự ngăn cách (có thể là “ ”, “-”, “, ”, “|”…).
- ignore_empty: TRUE hoặc FALSE. Khi TRUE, các ô trống sẽ không được đưa vào chuỗi kết quả.
- text1, text2 …: có thể là ô đơn, dải ô, hoặc giá trị tĩnh.
3.3.2. Ví dụ thực tế
Bài toán: Nối họ, tên, tên đệm (có thể có hoặc không) thành “Họ Tên Đệm”. Nếu tên đệm trống, không để lại khoảng trống thừa.
| A (Họ) | B (Tên Đệm) | C (Tên) |
|---|---|---|
| Trần | Văn | Bình |
| Lê | (trống) | Hồng |
| Phạm | Thị | Lan |
Công thức:
=TEXTJOIN(" ", TRUE, A2, B2, C2)
Kết quả:
- Dòng 2: “Trần Văn Bình”
- Dòng 3: “Lê Hồng”
- Dòng 4: “Phạm Thị Lan”
Lưu ý: Khi ignore_empty = TRUE, dấu cách giữa các phần sẽ tự động điều chỉnh, không có khoảng trống thừa.
3.3.3. Nối Nhiều Cột Cùng Lúc
Nếu bạn muốn nối toàn bộ cột A tới D, có thể dùng:
=TEXTJOIN(" - ", TRUE, A2:D2)
Kết quả: “Giá trịA – Giá trịB – Giá trịC – Giá trịD”.
3.4. Khi Nối Dữ Liệu Số – Cần Chuyển Định Dạng
Nếu các cột chứa số và bạn muốn hiển thị với định dạng (ví dụ: tiền tệ, ngày tháng), hãy dùng hàm TEXT để chuyển đổi trước khi nối.
Ví dụ: Nối “Ngày”, “Tháng”, “Năm” thành “dd/mm/yyyy”.
=TEXT(A2,"dd") & "/" & TEXT(B2,"mm") & "/" & TEXT(C2,"yyyy")
Hoặc dùng TEXTJOIN:
=TEXTJOIN("/", TRUE, TEXT(A2,"dd"), TEXT(B2,"mm"), TEXT(C2,"yyyy"))
4. Xử Lý Các Trường Hợp Đặc Biệt
4.1. Bỏ Khoảng Trắng Thừa (TRIM)

Có thể bạn quan tâm: Số Dòng Trong Excel: Giới Hạn, Cách Tăng, Và Những Điều Bạn Cần Biết
Khi dữ liệu nhập vào có khoảng trắng thừa (trước, sau hoặc giữa), bạn nên dùng hàm TRIM để làm sạch.
=TRIM(A2) & " " & TRIM(B2)
Hoặc kết hợp với TEXTJOIN:
=TEXTJOIN(" ", TRUE, TRIM(A2), TRIM(B2), TRIM(C2))
4.2. Loại Bỏ Ký Tự Đặc Biệt
Nếu dữ liệu chứa ký tự không mong muốn (dấu “#”, “@”, “$”), dùng hàm SUBSTITUTE.
=SUBSTITUTE(A2, "#", "")
Kết hợp:
=TEXTJOIN(" ", TRUE, SUBSTITUTE(TRIM(A2),"#",""), SUBSTITUTE(TRIM(B2),"@",""))
4.3. Nối Có Điều Kiện (IF)
Bạn có thể nối chỉ khi một cột thỏa mãn điều kiện nào đó.
Ví dụ: Nối “Mã Khách hàng” và “Tên Khách hàng” chỉ khi “Trạng thái” = “Hoạt động”.
=IF(D2="Hoạt động", TEXTJOIN(" - ", TRUE, A2, B2), "")
4.4. Nối Dữ Liệu Từ Nhiều Sheet
Giả sử dữ liệu họ và tên ở Sheet1, còn địa chỉ ở Sheet2, bạn muốn tạo cột “Thông tin đầy đủ” trên Sheet3.
=TEXTJOIN(" | ", TRUE, Sheet1!A2, Sheet1!B2, Sheet2!C2)
Lưu ý: Khi trích xuất dữ liệu từ các sheet khác, đảm bảo các sheet không bị ẩn hoặc định dạng giống nhau để tránh lỗi.
4.5. Nối Dòng (Vertical Concatenation)
Thường thì chúng ta nối các cột theo chiều ngang, nhưng đôi khi cần nối các giá trị trong một cột thành một chuỗi (ví dụ: danh sách các sản phẩm trong một đơn hàng).
Sử dụng TEXTJOIN với đối tượng mảng:
=TEXTJOIN(", ", TRUE, FILTER(A:A, B:B=E2))
Trong ví dụ trên, FILTER (Office 365) lọc các giá trị cột A mà cột B bằng mã đơn hàng trong E2, sau đó TEXTJOIN ghép chúng lại bằng dấu phẩy.
Nếu không có FILTER, dùng IF kết hợp với Ctrl+Shift+Enter (công thức mảng cũ):
=TEXTJOIN(", ", TRUE, IF($B$2:$B$1000=E2, $A$2:$A$1000, ""))
Xác nhận bằng Ctrl+Shift+Enter để tạo công thức mảng.
5. Tối Ưu Hiệu Năng Khi Nối Cột Trên Dữ Liệu Lớn
Khi bảng tính có hàng từ tối đa 100.000 đến hàng triệu, việc sử dụng các hàm lặp lại có thể làm chậm Excel. Dưới đây là một số gợi ý:
- Sử dụng TEXTJOIN với ignore_empty = TRUE – giảm số lần tính toán vì Excel sẽ bỏ qua ô trống.
- Tránh dùng quá nhiều hàm lồng nhau (ví dụ: IF + SUBSTITUTE + TRIM) trong cùng một công thức. Thay vào đó, tạo cột phụ để làm sạch dữ liệu rồi mới nối.
- Sử dụng Power Query – xử lý dữ liệu trong môi trường riêng, không tải toàn bộ công thức vào sheet.
- Áp dụng tính năng “Manual Calculation”: Vào Formulas → Calculation Options → Manual, thực hiện tính toán khi cần.
- Sử dụng VBA để thực hiện nối một lần và ghi kết quả vào cột mới, giảm tải công thức động.
5.1. Ví dụ VBA Nối Hai Cột
Sub NoiHaiCot() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Set ws = ThisWorkbook.Sheets("Data") lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row Application.ScreenUpdating = False For i = 2 To lastRow ws.Cells(i, "C").Value = Trim(ws.Cells(i, "A").Value) & " " & Trim(ws.Cells(i, "B").Value) Next i Application.ScreenUpdating = True MsgBox "Nối cột hoàn tất!"
End Sub
- Giải thích: Đọc từng hàng, nối A và B, ghi vào C. Đảm bảo ScreenUpdating = False để tăng tốc.
6. Mẹo và Thủ Thuật Nâng Cao
6.1. Tự Động Điền (Flash Fill)
Excel 2026+ có tính năng Flash Fill (Ctrl+E) cho phép tự động nhận dạng mẫu và điền dữ liệu. Khi bạn nhập một vài giá trị mẫu (ví dụ: “Nguyễn Văn A”), Excel sẽ dự đoán và tự động điền các hàng còn lại.
- Cách dùng: Gõ ví dụ trong cột mới, sau đó Ctrl+E hoặc Data → Flash Fill.
- Lưu ý: Cần bật Enable Flash Fill trong File → Options → Advanced.
6.2. Định Dạng Có Điều Kiện Khi Nối
Bạn có thể áp dụng Conditional Formatting để thay đổi màu sắc hoặc kiểu chữ dựa trên nội dung đã nối.
- Ví dụ: Nếu cột “Trạng thái” (đã nối) chứa “Hoàn thành”, tô màu xanh.
- Cách thực hiện: Home → Conditional Formatting → New Rule → Use a formula và nhập công thức như
=SEARCH("Hoàn thành",$C2)>0.
6.3. Sử Dụng Định Dạng Tùy Chỉnh (Custom Format)
Nếu mục tiêu chỉ là hiển thị dữ liệu kết hợp (không cần lưu trữ thực tế), bạn có thể dùng Custom Number Format để hiển thị hai cột trong một ô.
- Công thức: Chọn ô, nhấn Ctrl+1 → Number → Custom, nhập:
"Họ: "@ "Tên: "@ - Giải thích: Dòng “@” đại diện cho nội dung ô, nhưng cách này chỉ áp dụng cho hiển thị, không thay đổi giá trị thực.
7. So Sánh Các Phương Pháp
| Phương pháp | Độ phức tạp | Tốc độ (dữ liệu lớn) | Khả năng bỏ qua ô trống | Tính năng nâng cao | Phù hợp cho |
|---|---|---|---|---|---|
| Toán tử “&” | Rất thấp | Trung bình | Không (cần IF) | Thêm ký tự tùy ý | Nối 2‑3 cột nhanh |
| CONCATENATE | Thấp | Trung bình | Không (cần IF) | Giới hạn 255 đối số | Tương thích cũ |
| CONCAT | Thấp | Nhanh (hỗ trợ mảng) | Không (cần IF) | Nối dải ô | Nối nhiều cột |
| TEXTJOIN | Trung bình | Nhanh (ignore_empty) | Có | Delimiter, ignore_empty, mảng | Nối nhiều cột, xử lý ô trống |
| Power Query | Cao | Rất nhanh (đối với hàng triệu) | Có | Xử lý phức tạp, lọc, chuyển đổi | Dữ liệu lớn, ETL |
| VBA | Cao | Rất nhanh (đối với tính toán một lần) | Có (code) | Tự động, tùy chỉnh sâu | Nối một lần, báo cáo tự động |
| Flash Fill | Thấp | Nhanh (tự động) | Có | Dựa trên mẫu | Dữ liệu ít, mẫu đơn giản |
Kết luận: Đối với bảng dữ liệu vừa và nhỏ, TEXTJOIN là lựa chọn tối ưu. Đối với dữ liệu lớn hoặc cần xử lý phức tạp, Power Query hoặc VBA sẽ hiệu quả hơn.
8. Câu Hỏi Thường Gặp (FAQ)
8.1. Tại sao công thức TEXTJOIN trả về lỗi #VALUE! ?
- Nguyên nhân: Đối số
ignore_emptykhông phải là TRUE/FALSE (có thể nhập sai là “TRUE” dạng văn bản). Hoặc một trong các đối số không phải là chuỗi hoặc mảng. - Giải pháp: Kiểm tra lại công thức, đảm bảo
TRUEhoặcFALSEkhông có dấu ngoặc kép.
8.2. Làm sao bỏ dấu cách thừa khi dùng “&”?
Sử dụng hàm TRIM hoặc IF để kiểm tra ô rỗng:
=TRIM(A2) & " " & TRIM(B2)
Hoặc:
=IF(A2="", "", A2 & " ") & B2
8.3. Có cách nào nối cột mà không làm thay đổi định dạng số (ví dụ: ngày tháng) không?
Dùng hàm TEXT để định dạng trước khi nối:
=TEXT(A2,"dd/mm/yyyy") & " " & TEXT(B2,"hh:mm")
8.4. Nối cột trong Excel Online có khác gì so với Desktop?
- TEXTJOIN và CONCAT đều hỗ trợ trong Excel Online.
- Power Query hiện chưa đầy đủ trên phiên bản Online (đang được phát triển dần dần).
- Flash Fill không khả dụng trong Excel Online.
8.5. Khi sử dụng Power Query, tôi có thể tự động cập nhật khi dữ liệu nguồn thay đổi không?
Có. Khi nguồn dữ liệu thay đổi, chỉ cần Refresh (Data → Refresh All) hoặc đặt Refresh tự động qua Properties → Refresh every X minutes.
9. Kết Luận và Hướng Đi Tiếp Theo
Việc nối hai cột trong Excel không chỉ là một thao tác đơn giản mà còn là nền tảng để xây dựng các báo cáo, hệ thống dữ liệu chuyên nghiệp. Từ các công cụ cơ bản như toán tử “&”, CONCAT, TEXTJOIN, đến các giải pháp mạnh mẽ như Power Query và VBA, mỗi phương pháp đều có ưu và nhược điểm riêng, phù hợp với các tình huống và quy mô dữ liệu khác nhau.
Những điểm quan trọng cần nhớ:
- Chọn công cụ phù hợp: Đối với dữ liệu ít, dùng “&” hoặc TEXTJOIN. Đối với dữ liệu lớn, ưu tiên Power Query hoặc VBA.
- Xử lý sạch dữ liệu trước khi nối (TRIM, SUBSTITUTE) để tránh lỗi và khoảng trắng thừa.
- Sử dụng ignore_empty trong TEXTJOIN để tự động bỏ qua ô trống.
- Tận dụng Power Query để gộp, biến đổi và tự động cập nhật dữ liệu.
- Kiểm tra lại công thức khi có lỗi #VALUE! hoặc #NAME? – thường do tham số sai.
Bằng cách áp dụng những kiến thức và kỹ thuật trên, bạn sẽ:
- Tiết kiệm thời gian trong việc chuẩn bị dữ liệu.
- Giảm thiểu lỗi nhập liệu và tính toán.
- Nâng cao chất lượng báo cáo và khả năng chia sẻ dữ liệu với đồng nghiệp hay hệ thống khác.
- Mở rộng khả năng của Excel thành một công cụ ETL (Extract‑Transform‑Load) nhẹ nhàng nhưng mạnh mẽ.
Cuối cùng, đừng ngại thử nghiệm. Excel luôn cung cấp nhiều cách tiếp cận, và mỗi dự án có thể yêu cầu một giải pháp khác nhau. Hãy bắt đầu với những công thức đơn giản, sau đó dần dần khám phá Power Query và VBA để tối ưu hoá quy trình làm việc của mình. Chúc bạn thành công trong việc nối hai cột và xây dựng dữ liệu chuyên nghiệp!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
