Menu

Hàm TEXTJOIN trong Excel: nối vùng ô bằng dấu phân cách

=TEXTJOIN(", ",TRUE,A2:A6) nối mọi ô của 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 và bỏ qua ô trống. Thêm FILTER để chỉ nối các dòng thỏa một điều kiện.

Mọi bảng tính trên trang này đều trực tiếp: đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

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

Nối một cột vào một ô
C2
ABC
1TeamMembers
2AnaAna, Ben, Chen, Dara, Eli
3Ben
4Chen
5Dara
6Eli
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

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: TRUE bỏ qua ô trống, FALSE giữ 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

TRUE bỏ qua ô trống, FALSE giữ lại
C2
ABC
1SizeResult
2SS, M, L, XL
3S, , M, L, , XL
4M
5L
6
7XL
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

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:

Họ tên đầy đủ với tên đệm không bắt buộc
D2
ABCD
1FirstMiddleLastFull name
2AnaMariaSilvaAna Maria Silva
3BenOkaforBen Okafor
4ChenLiWuChen Li Wu
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.
Nối các mã đơn hàng
C2
ABC
1OrderList
21041
31042
4
51045
61046
7
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đế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:

Các tên ở khu vực North
E2
ABCDE
1NameRegionRegionNames
2AnaNorthNorthAna, Chen, Eli
3BenSouthAna, Chen, Eli
4ChenNorthRegionsNorth, South, East
5DaraEast
6EliNorth
7FaySouth
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đổ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, cho North, 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").

Đội East
E2
ABCDE
1NameRegionEast team
2AnaNorth
3BenSouth
4ChenEast
5DaraEast
6EliNorth
7FaySouth
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đế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:

Ngày trong một danh sách
D2
ABCD
1MeetingDateDates
2Kickoff2026-03-0246083, 46097, 46113
3Review2026-03-16Mar 2, Mar 16, Apr 1
4Launch2026-04-01
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

TEXTJOIN, CONCAT và &

TEXTJOINCONCAT&
Nối một vùngCóCóKhông, từng ô một
Đặt dấu phân cách giữa các mụcCó, một lần cho tất cảKhôngBạn gõ mỗi lần
Bỏ qua ô trốngCó, với TRUEKhôngKhông
Phiên bản cũ nhấtExcel 2019Excel 2019Mọ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")).

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu