Hàm CONCATENATE, TEXTJOIN, CONCAT: Nối Chuỗi Và Gộp Dữ Liệu Trong Excel
Chia sẻ
"Hướng dẫn chi tiết các hàm nối chuỗi trong Excel: CONCATENATE, TEXTJOIN, CONCAT, toán tử &, và kỹ thuật nối text nâng cao cho báo cáo."
1. Tại sao cần nối chuỗi?
Nối chuỗi là thao tác CƠ BẢN NHẤT khi xử lý dữ liệu text: gộp họ + tên, tạo mã sản phẩm, ghép địa chỉ, xây dựng câu truy vấn, formatting báo cáo. Excel cung cấp nhiều cách: toán tử &, CONCATENATE, CONCAT, và TEXTJOIN.
2. Toán tử & — Nhanh nhất
=A1 & " " & B1Nối ô A1, khoảng trắng, ô B1:
="Nguyễn" & " " & "Văn An" → "Nguyễn Văn An"2.1. Nối số và text
="Doanh số: " & TEXT(A1, "#,##0") & " VNĐ"Kết quả: "Doanh số: 1,500,000 VNĐ"
Lưu ý: Khi nối số → dùng TEXT() để format, nếu không sẽ hiện số thô.
2.2. Nối với line break
=A1 & CHAR(10) & B1Bật Wrap Text → hiện 2 dòng trong 1 ô.
3. CONCATENATE — Hàm nối cổ điển
=CONCATENATE(text1, text2, ...)=CONCATENATE("Họ: ", A1, " - Tên: ", B1)3.1. Hạn chế CONCATENATE
Không nhận RANGE:
CONCATENATE(A1:A10)→ chỉ lấy A1!Không có dấu phân cách tự động
Microsoft khuyên dùng CONCAT hoặc TEXTJOIN thay thế
4. CONCAT — Thay thế CONCATENATE (Excel 2019+)
=CONCAT(text1, [text2], ...)4.1. Nhận Range
=CONCAT(A1:A5)Nối tất cả giá trị A1→A5 KHÔNG có dấu phân cách: "AnBìnhCườngDungEm"
4.2. So sánh
Hàm | Nhận Range | Dấu phân cách |
|---|---|---|
CONCATENATE | ❌ | ❌ |
CONCAT | ✅ | ❌ |
TEXTJOIN | ✅ | ✅ |
& | ❌ | ❌ |
5. TEXTJOIN — Hàm nối mạnh nhất
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)Tham số | Ý nghĩa |
|---|---|
delimiter | Dấu phân cách: |
ignore_empty | TRUE = bỏ qua ô trống, FALSE = giữ |
text1... | Các ô hoặc vùng cần nối |
5.1. Ví dụ 1: Nối với dấu phẩy
=TEXTJOIN(", ", TRUE, A1:A5)Kết quả: "An, Bình, Cường, Dung, Em"
5.2. Ví dụ 2: Bỏ qua ô trống
A1="An", A2="", A3="Cường":
=TEXTJOIN(", ", TRUE, A1:A3) → "An, Cường"
=TEXTJOIN(", ", FALSE, A1:A3) → "An, , Cường"5.3. Ví dụ 3: Nhiều delimiter
=TEXTJOIN({", ","; "}, TRUE, A1:A5)Xen kẽ dấu phẩy và chấm phẩy.
6. Ứng dụng thực tế
6.1. Tạo địa chỉ đầy đủ
=TEXTJOIN(", ", TRUE, B2, C2, D2, E2)Số nhà, Đường, Phường, Quận → "12, Nguyễn Huệ, Bến Nghé, Quận 1"
6.2. Tạo email từ tên
=LOWER(SUBSTITUTE(B2, " ", ".")) & "@" & C2 & ".com""An Nguyễn" + "tradadata" → "an.nguyen@tradadata.com"
6.3. Tạo SQL WHERE IN
="('" & TEXTJOIN("', '", TRUE, A2:A10) & "')"Kết quả: "('MA001', 'MA002', 'MA003')" → paste vào SQL.
6.4. Gộp nhiều dòng thành 1 ô
Nhiều sản phẩm → 1 ô tóm tắt:
=TEXTJOIN(CHAR(10), TRUE, FILTER(B2:B100, A2:A100=D2))Lọc sản phẩm thuộc đơn hàng D2 → nối bằng line break → 1 ô hiện danh sách.
6.5. Tạo mã sản phẩm
=UPPER(LEFT(B2,2)) & "-" & TEXT(ROW()-1, "000") & "-" & TEXT(YEAR(TODAY()), "0000")Kết quả: "DT-001-2024" (Điện thoại, mã 001, năm 2024)
7. Nối có điều kiện
7.1. TEXTJOIN + IF (Array)
Nối chỉ nhân viên phòng KD:
=TEXTJOIN(", ", TRUE, IF(A2:A100="KD", B2:B100, ""))Nhấn Ctrl+Shift+Enter (CSE) hoặc dùng Excel 365 (tự dynamic).
7.2. TEXTJOIN + FILTER (Excel 365)
=TEXTJOIN(", ", TRUE, FILTER(B2:B100, A2:A100="KD"))Gọn hơn, không cần CSE.
8. Tách chuỗi đã nối
8.1. TEXTSPLIT (Excel 365)
=TEXTSPLIT("An, Bình, Cường", ", ")Trả mảng ngang: An | Bình | Cường
8.2. LEFT, MID, RIGHT + FIND
=LEFT(A1, FIND(",", A1)-1) → phần trước dấu phẩy đầu
=MID(A1, FIND(",",A1)+2, FIND(",",A1,FIND(",",A1)+1)-FIND(",",A1)-2) → phần giữaPhức tạp → dùng TEXTSPLIT nếu có.
9. REPT — Lặp text
=REPT(text, times)
=REPT("★", A1)A1 = 4 → "★★★★". Ứng dụng: Visual rating không cần chart.
9.1. In-cell chart
=REPT("▓", A1/10) & REPT("░", 10-A1/10)Tạo progress bar trong ô: ▓▓▓▓▓▓▓░░░ (70%)
10. Mẹo nối chuỗi
TEXTJOIN > CONCATENATE: Luôn dùng TEXTJOIN cho Excel 2019+
TEXT() cho số: Nối số → bọc TEXT() để format đẹp
CHAR(10) cho dòng mới: Kết hợp Wrap Text
SUBSTITUTE xóa ký tự: Sau khi nối → dùng SUBSTITUTE cleaning
TRIM kết quả:
=TRIM(TEXTJOIN(...))xóa space thừa
11. Tổng kết
Nối chuỗi là kỹ năng tưởng đơn giản nhưng ứng dụng RẤT RỘNG: từ ghép tên, tạo mã, xây SQL, đến tạo visual bar trong ô. TEXTJOIN là vua nối chuỗi — nhận range, có delimiter, bỏ qua trống. Nắm vững giúp bạn xử lý text chuyên nghiệp.
Bình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.
