=TEXTJOIN(", ",TRUE,A2:A6) nối mọi ô trong A2:A6 thành một đoạn văn bản, có dấu phẩy và khoảng trắng giữa các mục. Đối số đầu tiên là dấu phân cách, đối số thứ hai cho biết có bỏ qua ô trống hay không, và mọi thứ sau đó là văn bản cần nối.
| A | B | C | |
|---|---|---|---|
| 1 | Team | Members | |
| 2 | Ana | Ana, Ben, Chen, Dara, Eli | |
| 3 | Ben | ||
| 4 | Chen | ||
| 5 | Dara | ||
| 6 | Eli |
Xóa một trong các tên ở cột A: C2 cập nhật và không bao giờ để lại hai dấu phẩy liền nhau. TEXTJOIN cần Excel 2019 trở lên (kể cả Microsoft 365); trong Excel 2016 hàm hiện #NAME?.
Cú pháp hàm TEXTJOIN
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
delimiter: văn bản đặt giữa các mục, trong dấu ngoặc kép.", ","; "," | ","-"hoặc""nếu không cần gì.ignore_empty:TRUEbỏ qua ô trống,FALSEgiữ lại, nên sẽ có hai dấu phân cách đứng cạnh nhau.text1, text2, ...: các ô, vùng, hoặc văn bản trong dấu ngoặc kép. Tối đa 252 mục, và vùng có thể là dòng, cột hoặc khối.
Bỏ qua ô trống với ignore_empty
| A | B | C | |
|---|---|---|---|
| 1 | Size | Result | |
| 2 | S | S, M, L, XL | |
| 3 | S, , M, L, , XL | ||
| 4 | M | ||
| 5 | L | ||
| 6 | |||
| 7 | XL |
C2 cho S, M, L, XL. C3 giữ lại hai ô trống và hiện khoảng trống thành , ,. Chỉ dùng FALSE khi vị trí của từng mục là quan trọng, ví dụ khi danh sách được một công cụ khác đọc lại.
Cùng ý tưởng này sửa được họ tên đầy đủ có tên đệm không bắt buộc. =A2&" "&B2&" "&C2 để lại hai khoảng trắng khi B2 trống; TEXTJOIN với dấu phân cách là khoảng trắng và TRUE thì không:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | First | Middle | Last | Full name |
| 2 | Ana | Maria | Silva | Ana Maria Silva |
| 3 | Ben | Okafor | Ben Okafor | |
| 4 | Chen | Li | Wu | Chen Li Wu |
| A | B | C | |
|---|---|---|---|
| 1 | Order | List | |
| 2 | 1041 | ||
| 3 | 1042 | ||
| 4 | |||
| 5 | 1045 | ||
| 6 | 1046 | ||
| 7 |
Đến lượt bạn: Ở C2, nối các mã đơn hàng trong A2:A7 vào một ô, cách nhau bằng dấu phẩy và khoảng trắng, không để khoảng trống cho các ô trống.
TEXTJOIN có điều kiện
Để chỉ nối các dòng khớp, đặt FILTER bên trong TEXTJOIN. FILTER trả về các tên khớp và TEXTJOIN nối chúng lại:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Region | Region | Names | |
| 2 | Ana | North | North | Ana, Chen, Eli | |
| 3 | Ben | South | Ana, Chen, Eli | ||
| 4 | Chen | North | Regions | North, South, East | |
| 5 | Dara | East | |||
| 6 | Eli | North | |||
| 7 | Fay | South |
Đổi D2 thành South và cả hai công thức liệt kê Ben và Fay. E2 dùng FILTER, cần Excel 2021 hoặc Microsoft 365. E3 là phiên bản cho Excel 2019: IF trả về tên ở những dòng có khu vực khớp và văn bản rỗng ở các dòng còn lại, còn TRUE loại bỏ các văn bản rỗng. Trong Excel 2019, xác nhận E3 bằng Ctrl+Shift+Enter (Cmd+Shift+Enter trên Mac).
Hai cách kết hợp khác hay được cần đến:
- Chỉ giá trị duy nhất:
=TEXTJOIN(", ",TRUE,UNIQUE(B2:B7)), ở E4, choNorth, South, East. - Đã sắp xếp:
=TEXTJOIN(", ",TRUE,SORT(FILTER(A2:A7,B2:B7=D2))).
Nếu không có gì khớp, FILTER trả về #CALC! và TEXTJOIN cũng vậy. Hãy đưa cho FILTER đối số thứ ba cho trường hợp đó: FILTER(A2:A7,B2:B7=D2,"none").
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Region | East team | ||
| 2 | Ana | North | |||
| 3 | Ben | South | |||
| 4 | Chen | East | |||
| 5 | Dara | East | |||
| 6 | Eli | North | |||
| 7 | Fay | South |
Đến lượt bạn: Ở E2, liệt kê các tên có khu vực là East, cách nhau bằng dấu phẩy và khoảng trắng.
Nối ngày và số kèm định dạng
TEXTJOIN nối giá trị được lưu, không phải thứ ô hiển thị. Một ngày được nối dưới dạng số sê-ri (2026-03-02 là 46083) và một phần trăm dưới dạng số thập phân. Hãy chuyển vùng bằng TEXT bên trong TEXTJOIN:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Meeting | Date | Dates | |
| 2 | Kickoff | 2026-03-02 | 46083, 46097, 46113 | |
| 3 | Review | 2026-03-16 | Mar 2, Mar 16, Apr 1 | |
| 4 | Launch | 2026-04-01 |
TEXTJOIN, CONCAT và &
| TEXTJOIN | CONCAT | & | |
|---|---|---|---|
| Nối một vùng | Có | Có | Không, từng ô một |
| Đặt dấu phân cách giữa các mục | Có, một lần cho tất cả | Không | Bạn gõ mỗi lần |
| Bỏ qua ô trống | Có, với TRUE | Không | Không |
| Phiên bản cũ nhất | Excel 2019 | Excel 2019 | Mọi phiên bản |
Với hai hoặc ba ô, & là nhanh nhất; xem concatenate. Với danh sách dài bao nhiêu cũng được, dùng TEXTJOIN. Một giới hạn cần biết: một ô chứa tối đa 32.767 ký tự, và TEXTJOIN trả về #VALUE! khi văn bản sau khi nối dài hơn mức đó.
Câu hỏi thường gặp
Hàm TEXTJOIN trong Excel dùng để làm gì?
Hàm nối văn bản từ các ô hoặc vùng và đặt dấu phân cách giữa các mục: =TEXTJOIN(", ",TRUE,A2:A6) biến năm ô thành một danh sách cách nhau bằng dấu phẩy. Đối số thứ hai, TRUE, bỏ qua các ô trống.
Làm sao để dùng TEXTJOIN có điều kiện?
Đưa cho nó một FILTER: =TEXTJOIN(", ",TRUE,FILTER(A2:A7,B2:B7="North")) chỉ nối các tên có khu vực là North. Trong Excel 2019, vốn không có FILTER, dùng =TEXTJOIN(", ",TRUE,IF(B2:B7="North",A2:A7,"")) và xác nhận bằng Ctrl+Shift+Enter.
Phiên bản Excel nào có TEXTJOIN?
Excel 2019, Excel 2021 và Microsoft 365, cùng Excel cho web. Trong Excel 2016 trở về trước, hàm hiện #NAME?; ở đó hãy nối bằng &. Google Sheets cũng có TEXTJOIN.
Vì sao TEXTJOIN hiện số thay vì ngày?
TEXTJOIN nối giá trị được lưu, mà ngày được lưu dưới dạng số sê-ri. Hãy chuyển các ngày trước: =TEXTJOIN(", ",TRUE,TEXT(B2:B4,"mmm d")).