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.
📥 Tải File Demo
📥 Tải file demo: noi-chuoi-demo.xlsx
📎 File đính kèm bài viết — chứa đầy đủ dữ liệu mẫu
Mục lục
- 1. Tại sao cần nối chuỗi?
- 2. Toán tử & — Nhanh nhất
- 2.1. Nối số và text
- 2.2. Nối với line break
- 3. CONCATENATE — Hàm nối cổ điển
- 3.1. Hạn chế CONCATENATE
- 4. CONCAT — Thay thế CONCATENATE (Excel 2019+)
- 4.1. Nhận Range
- 4.2. So sánh
- 5. TEXTJOIN — Hàm nối mạnh nhất
- 5.1. Ví dụ 1: Nối với dấu phẩy
- 5.2. Ví dụ 2: Bỏ qua ô trống
- 5.3. Ví dụ 3: Nhiều delimiter
- 6. Ứng dụng thực tế
- 6.1. Tạo địa chỉ đầy đủ
- 6.2. Tạo email từ tên
- 6.3. Tạo SQL WHERE IN
- 6.4. Gộp nhiều dòng thành 1 ô
- 6.5. Tạo mã sản phẩm
- 7. Nối có điều kiện
- 7.1. TEXTJOIN + IF (Array)
- 7.2. TEXTJOIN + FILTER (Excel 365)
- 8. Tách chuỗi đã nối
- 8.1. TEXTSPLIT (Excel 365)
- 8.2. LEFT, MID, RIGHT + FIND
- 9. REPT — Lặp text
- 9.1. In-cell chart
- 10. Mẹo nối chuỗi
- 11. Tổng kết
Muốn làm chủ Excel?
Tham gia khóa học E-Learning của Trà Đá Data để được hướng dẫn chi tiết từ A-Z với Case Study thực tế.
Tìm hiểu ngayBài viết liên quan
Khám phá thêm các bài viết cùng chủ đề
Khắc phục lỗi Ctrl + C / Ctrl + V trên Excel 2016 – 2024
Ctrl+C và Ctrl+V trên Excel đột nhiên hoạt động không ổn định? Bài viết này hướng dẫn cách sử dụng bộ Hot Fix để xử lý lỗi nhanh chóng chỉ với vài thao tác đơn giản, kể cả khi bạn không rành về IT.
INDIRECT Và OFFSET: Tạo Tham Chiếu Động Trong Excel
INDIRECT biến text thành tham chiếu, OFFSET tạo range dịch chuyển. Tạo dependent dropdowns, dynamic charts, cross-sheet lookups một cách linh hoạt.
IF Nâng Cao: IFS, SWITCH, LAMBDA, LET — Công Thức Điều Kiện Thế Hệ Mới
Không còn nested IF 64 cấp! IFS cho nhiều điều kiện, SWITCH cho match giá trị, LET cho biến trung gian, LAMBDA cho hàm tự tạo. So sánh chi tiết và ví dụ.
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.