Có thể bạn quan tâm: Công Thức Excel Văn Phòng: Tối Ưu Hóa Công Việc, Nâng Cao Hiệu Suất
Giới thiệu chung
Trong công việc hằng ngày, việc xử lý dữ liệu trong Excel là một kỹ năng không thể thiếu đối với nhiều ngành nghề: kế toán, marketing, nhân sự, bán hàng, nghiên cứu thị trường, v.v… Một trong những thao tác thường gặp nhất là nối chuỗi (concatenation) – tức là kết hợp hai hoặc nhiều giá trị văn bản, số, ngày tháng thành một chuỗi duy nhất. Nối chuỗi giúp chúng ta tạo ra các mã số, địa chỉ email, mô tả sản phẩm, tiêu đề báo cáo, hoặc bất kỳ thông tin nào cần gộp lại từ nhiều cột.
Bài viết này sẽ cung cấp cho bạn một hướng dẫn toàn diện về các công thức nối chuỗi trong Excel, bao gồm:
- Các hàm nối chuỗi cơ bản:
&,CONCATENATE,CONCAT,TEXTJOIN. - Cách sử dụng các hàm này trong các tình huống thực tiễn.
- Kỹ thuật xử lý lỗi, loại bỏ khoảng trắng, bỏ trống, và định dạng dữ liệu.
- Các ví dụ thực tế và bài tập thực hành.
- Mẹo tối ưu hiệu suất khi làm việc với hàng nghìn, hàng triệu dòng.
Sau khi đọc xong bài viết, bạn sẽ thông thạo mọi cách nối chuỗi trong Excel, từ những công thức đơn giản đến các công thức phức tạp kết hợp với hàm logic, hàm ngày tháng, và hàm mảng.
Có thể bạn quan tâm: Các Công Thức Excel Thường Dùng: Hướng Dẫn Chi Tiết Cho Người Mới Và Chuyên Nghiệp
1. Tổng quan về các hàm nối chuỗi trong Excel
Trước khi đi sâu vào chi tiết, chúng ta hãy nhìn qua các hàm chính mà Excel cung cấp để thực hiện nối chuỗi:
| Hàm | Phiên bản Excel | Mô tả ngắn gọn | Điểm mạnh |
|---|---|---|---|
& (toán tử nối) | Tất cả | Nối hai hoặc nhiều giá trị bằng dấu &. | Đơn giản, nhanh, không cần nhớ tên hàm. |
CONCATENATE | Excel 2003‑2026 | Hàm truyền thống, nhận tới 255 đối số. | Dễ hiểu, tương thích ngược. |
CONCAT | Excel 2026 trở lên (Office 365) | Thay thế CONCATENATE, nhận mảng và nhiều đối số. | Hỗ trợ mảng, ngắn gọn. |
TEXTJOIN | Excel 2026 trở lên (Office 365) | Cho phép nối mảng với ký tự phân cách, tùy chọn bỏ qua ô trống. | Linh hoạt, mạnh mẽ cho dữ liệu lớn. |
1.1 Toán tử &
Toán tử & là cách nhanh nhất để nối chuỗi. Ví dụ:
=A2 & " - " & B2
Kết quả: Nếu A2 là “Hà Nội” và B2 là “Việt Nam”, công thức sẽ trả về “Hà Nội – Việt Nam”.
1.2 Hàm CONCATENATE
Cú pháp:
=CONCATENATE(text1, text2, …)
Ví dụ:
=CONCATENATE(A2, " - ", B2)
Lưu ý: CONCATENATE không chấp nhận mảng; mỗi đối số phải là một ô hoặc một chuỗi cố định.
1.3 Hàm CONCAT
Cú pháp:
=CONCAT(text1, text2, …)
CONCAT cho phép truyền vào mảng:
=CONCAT(A2:C2) // Nối các giá trị trong A2, B2, C2 liên tiếp mà không có ký tự ngăn cách.
1.4 Hàm TEXTJOIN
Cú pháp:
=TEXTJOIN(delimiter, ignore_empty, text1, text2, …)
delimiter– ký tự hoặc chuỗi ngăn cách (có thể là “,”, “;”, “ ”, “-”, …).ignore_empty– TRUE để bỏ qua các ô trống, FALSE để giữ lại.text1, text2, …– các giá trị hoặc mảng.
Ví dụ:
=TEXTJOIN(", ", TRUE, A2:C2)
Nếu A2=“Apple”, B2 rỗng, C2=“Orange”, kết quả sẽ là “Apple, Orange”.
Có thể bạn quan tâm: Học Vba Excel Có Khó Không? – Giải Đáp Tất Cả Thắc Mắc Của Người Mới Bắt Đầu
2. Cách sử dụng thực tế các công thức nối chuỗi
2.1 Tạo mã số khách hàng từ nhiều cột
Giả sử bạn có bảng khách hàng với các cột:
| A (Mã khu vực) | B (Mã loại) | C (STT) |
|---|---|---|
| HN | VIP | 001 |
| HN | REG | 002 |
| HCM | VIP | 001 |
Bạn muốn tạo Mã khách hàng dạng KhuVuc-Loai-STT (ví dụ: HN-VIP-001). Công thức:
=CONCAT(A2, "-", B2, "-", C2)
Hoặc dùng TEXTJOIN:
=TEXTJOIN("-", TRUE, A2, B2, C2)
Kết quả sẽ tự động cập nhật khi bạn thay đổi bất kỳ cột nào.
2.2 Kết hợp ngày tháng và văn bản
Bạn muốn tạo tiêu đề báo cáo dạng “Báo cáo doanh thu tháng 03/2026”. Giả sử ngày tháng trong ô E1 là ngày 01/03/2026.
="Báo cáo doanh thu tháng " & TEXT(E1, "mm/yyyy")
Hoặc dùng TEXTJOIN:
=TEXTJOIN(" ", TRUE, "Báo cáo doanh thu tháng", TEXT(E1, "mm/yyyy"))
2.3 Tạo địa chỉ email từ họ và tên
Bảng nhân viên:
| A (Họ) | B (Tên) |
|---|---|
| Nguyễn | An |
| Trần | Bình |
| Lê | Cường |
Công thức tạo email dạng ho.ten@congty.com (đồng thời chuyển toàn bộ sang chữ thường):
=LOWER(A2 & "." & B2 & "@congty.com")
Hoặc dùng TEXTJOIN kết hợp với LOWER:
=LOWER(TEXTJOIN(".", TRUE, A2, B2) & "@congty.com")
2.4 Nối danh sách sản phẩm trong một đơn hàng
Bạn có bảng chi tiết đơn hàng, mỗi dòng là một sản phẩm. Muốn tổng hợp lại danh sách sản phẩm cho mỗi đơn (mã đơn ở cột A). Dữ liệu mẫu:
| A (Mã đơn) | B (Sản phẩm) |
|---|---|
| DH001 | Bút |
| DH001 | Sổ |
| DH001 | Thước |
| DH002 | Bút |
| DH002 | Gôm |
Sử dụng hàm TEXTJOIN cùng IF (đối với Excel 365 có hàm FILTER):
=TEXTJOIN(", ", TRUE, FILTER(B:B, A:A = "DH001"))
Kết quả: “Bút, Sổ, Thước”.
Nếu không có FILTER, dùng công thức mảng (Ctrl+Shift+Enter trong Excel 2026):
=TEXTJOIN(", ", TRUE, IF($A$2:$A$1000="DH001", $B$2:$B$1000, ""))
2.5 Nối chuỗi với điều kiện (IF)
Bạn muốn tạo mô tả “Khách VIP” nếu cột C (loại khách) là “VIP”, ngược lại “Khách thường”. Công thức:
=IF(C2="VIP", "Khách VIP: " & A2, "Khách thường: " & A2)
Nếu muốn thêm dấu phân cách và bỏ qua giá trị rỗng:
=TEXTJOIN(" - ", TRUE, IF(C2="VIP","Khách VIP","Khách thường"), A2)
3. Xử lý lỗi và làm sạch dữ liệu khi nối chuỗi
Khi làm việc với dữ liệu thực tế, chúng ta thường gặp:
- Ô trống: Nối chuỗi có thể tạo ra ký tự ngăn cách thừa.
- Khoảng trắng thừa: Dữ liệu nhập vào có khoảng trắng đầu/cuối.
- Dữ liệu không phải dạng văn bản (số, ngày) cần chuyển sang chuỗi.
3.1 Bỏ qua ô trống với TEXTJOIN
=TEXTJOIN(", ", TRUE, A2:C2)
Tham số TRUE sẽ bỏ qua các ô trống.
3.2 Loại bỏ khoảng trắng thừa
TRIM(text): Loại bỏ khoảng trắng đầu và cuối, đồng thời giảm nhiều khoảng trắng liên tiếp thành một.CLEAN(text): Loại bỏ các ký tự không hiển thị (ASCII < 32).
Ví dụ:
=TRIM(A2) & " - " & TRIM(B2)
3.3 Chuyển đổi kiểu dữ liệu

Có thể bạn quan tâm: Công Thức Excel Đơn Giản: Hướng Dẫn Từ Cơ Bản Đến Nâng Cao Cho Người Mới Bắt Đầu
TEXT(value, format_text): Định dạng số, ngày thành chuỗi.
="Số lượng: " & TEXT(D2, "0") // Số nguyên
="Ngày: " & TEXT(E2, "dd/mm/yyyy") // Ngày tháng
3.4 Xử lý lỗi #VALUE! khi nối
Nếu một trong các đối số là lỗi (#N/A, #DIV/0!), toàn bộ công thức sẽ trả về lỗi. Giải pháp:
=IFERROR(A2, "") & IFERROR(B2, "")
Hoặc dùng IFERROR trong TEXTJOIN:
=TEXTJOIN("", TRUE, IFERROR(A2, ""), IFERROR(B2, ""))
4. Các công thức nâng cao: Kết hợp hàm mảng, hàm logic và hàm ngày tháng
4.1 Nối chuỗi dựa trên nhiều điều kiện
Giả sử bạn muốn tạo mô tả cho đơn hàng dựa trên:
- Nếu
Số lượng> 100 → “Số lượng lớn”. - Nếu
Giá> 500,000 → “Giá cao”. - Kết hợp cả hai thông tin.
Công thức:
=TEXTJOIN(" | ", TRUE, IF(D2>100, "Số lượng lớn", ""), IF(E2>500000, "Giá cao", ""), "Mã đơn: " & A2)
4.2 Nối chuỗi ngày tháng trong mảng
Bạn có một danh sách ngày trong cột A và muốn tạo một chuỗi ngày cách nhau bằng “; ”:
=TEXTJOIN("; ", TRUE, TEXT(A2:A10, "dd/mm/yyyy"))
Với Excel 365, công thức này tự động mở rộng mà không cần Ctrl+Shift+Enter.
4.3 Sử dụng LET để tối ưu công thức dài
Khi công thức trở nên phức tạp, LET giúp đặt tên cho các biểu thức trung gian, cải thiện khả năng đọc và tốc độ tính toán.
=LET( ho, TRIM(A2), ten, TRIM(B2), email, LOWER(ho & "." & ten & "@congty.com"), email
)
4.4 Tạo mã QR (chuỗi) cho từng dòng
Mặc dù Excel không tạo hình ảnh QR trực tiếp, bạn có thể tạo đường dẫn URL tới dịch vụ tạo QR và nối chuỗi để tạo liên kết.
="https://api.qrserver.com/v1/create-qr-code/?data=" & ENCODEURL(A2 & "-" & B2) & "&size=150x150"
Sau đó, dùng HYPERLINK để hiển thị hình ảnh QR trong ô.
4.5 Sử dụng LAMBDA để tái sử dụng công thức nối chuỗi
Nếu bạn thường xuyên cần một công thức chuẩn “Tên – Họ – Email”, hãy tạo một hàm tùy chỉnh:
= LAMBDA(ho, ten, domain, LOWER(ho & "." & ten & "@" & domain)
)
Sau khi định nghĩa (File → Options → Formulas → Name Manager), bạn có thể gọi:
=MyEmail(A2, B2, "congty.com")
5. Thực hành: 10 Bài tập thực tế để luyện tập
| Bài tập | Mô tả | Công thức gợi ý |
|---|---|---|
| 1 | Nối Họ và Tên thành “Họ, Tên”. | =A2 & ", " & B2 |
| 2 | Tạo mã sản phẩm dạng “SKU-YYYYMMDD”. | = "SKU-" & TEXT(TODAY(),"yyyymmdd") |
| 3 | Kết hợp địa chỉ (Số nhà, Đường, Thành phố) bỏ qua ô trống. | =TEXTJOIN(", ", TRUE, A2, B2, C2) |
| 4 | Tạo email từ tên và họ, chuyển sang chữ thường. | =LOWER(A2 & "." & B2 & "@example.com") |
| 5 | Liệt kê danh sách các sản phẩm trong một đơn (dùng FILTER). | =TEXTJOIN("; ", TRUE, FILTER(B:B, A:A=E2)) |
| 6 | Định dạng số tiền thành “1,234,567 VNĐ”. | =" " & TEXT(D2, "#,##0") & " VNĐ" |
| 7 | Tạo mô tả “Khách VIP” hoặc “Khách thường” dựa trên cột Loại. | =IF(C2="VIP","Khách VIP","Khách thường") |
| 8 | Nối ngày tháng và thời gian thành “dd/mm/yyyy hh:mm”. | =TEXT(A2,"dd/mm/yyyy") & " " & TEXT(B2,"hh:mm") |
| 9 | Tạo chuỗi URL cho mỗi sản phẩm: “https://shop.com/product/ID”. | ="https://shop.com/product/" & C2 |
| 10 | Sử dụng LET để tạo chuỗi “Họ – Tên – Email”. | =LET(ho, A2, ten, B2, email, LOWER(ho & "." & ten & "@mail.com"), ho & " - " & ten & " - " & email) |
Bạn có thể sao chép các công thức vào Excel, thay đổi tham chiếu ô cho phù hợp và kiểm tra kết quả.
6. Tối ưu hiệu suất khi nối chuỗi trên dữ liệu lớn
Khi bảng tính có hàng nghìn – hàng triệu dòng, việc sử dụng các công thức phức tạp có thể làm chậm Excel. Dưới đây là một số mẹo:
- Tránh sử dụng hàm volatile (
NOW(),TODAY(),RAND()) trong công thức nối chuỗi nếu không cần thiết. - Sử dụng
TEXTJOINthay cho lồng nhiềuIF–TEXTJOINxử lý mảng nhanh hơn. - Chuyển công thức sang dạng giá trị (
Copy → Paste Values) sau khi hoàn tất để giảm tải tính toán. - Sử dụng Power Query: Khi cần thực hiện nối chuỗi trên tập dữ liệu lớn, Power Query (Get & Transform) là công cụ mạnh mẽ, thực hiện thao tác trên máy chủ, không làm chậm workbook.
- Tận dụng tính năng “Dynamic Array” (Excel 365): Các công thức mảng tự động mở rộng, giảm số lượng công thức lặp lại.
Ví dụ, trong Power Query, để nối các cột FirstName và LastName:
= Table.AddColumn(Source, "FullName", each FirstName & " " & LastName)
Sau khi tải lại, bạn sẽ có cột FullName đã được tính toán một lần duy nhất, không ảnh hưởng tới hiệu suất khi làm việc trong Excel.
7. Kết luận
Nối chuỗi trong Excel không chỉ là một thao tác đơn giản mà còn là công cụ mạnh mẽ để biến dữ liệu thô thành thông tin có giá trị, hỗ trợ báo cáo, tự động hoá quy trình, và tạo ra các định danh duy nhất. Bằng việc nắm vững các hàm:
&– nhanh gọn cho các trường hợp ngắn gọn.CONCATENATE– tương thích ngược, phù hợp với các phiên bản cũ.CONCAT– hiện đại, hỗ trợ mảng.TEXTJOIN– linh hoạt, cho phép phân cách và bỏ qua ô trống.
và kết hợp chúng với các hàm phụ trợ như IF, TRIM, TEXT, LET, LAMBDA, bạn có thể giải quyết mọi yêu cầu nối chuỗi một cách hiệu quả và tối ưu.
Hãy thực hành qua các bài tập trong phần 5, áp dụng các mẹo tối ưu trong phần 6, và dần dần đưa chúng vào quy trình công việc hàng ngày. Khi đã thành thạo, bạn sẽ nhận thấy Excel không chỉ là một công cụ tính toán mà còn là một ngôn ngữ lập trình nhẹ, cho phép bạn tạo ra các giải pháp tự động hoá thông minh.
Chúc bạn thành công và luôn nối chuỗi mọi dữ liệu một cách “đánh bại mọi rào cản”!

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ẻ.
