Đánh giá lequocthai.com:
Hàm TEXTJOIN ghép các giá trị lại với nhau, chèn ký tự phân cách đã chỉ định giữa mỗi đoạn văn bản. Kết quả trả về của hàm luôn ở dạng văn bản.

Cú pháp
Cú pháp của hàm TEXTJOIN như sau:
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], …)
Các đối số
Hàm TEXTJOIN có ba đối số bắt buộc, chi tiết của mỗi đối số được mô tả bên dưới:
delimiter
- Đây là đối số bắt buộc. Delimiter là đoạn văn bản (hoặc ký tự) sẽ được chèn giữa các đoạn văn bản được ghép. Giá trị của delimiter có thể nhập trực tiếp trong dấu ngoặc kép hoặc dùng tham chiếu ô. Nếu delimiter là số, hàm sẽ tự động chuyển nó thành chuỗi văn bản.
ignore_empty
- Đây là đối số kiểu boolean, chấp nhận TRUE hoặc FALSE (cũng có thể dùng 1 hoặc 0). Đây cũng là đối số bắt buộc và không được để trống. Khi đặt TRUE, hàm sẽ bỏ qua các ô trống; khi đặt FALSE, các ô trống sẽ được đưa vào chuỗi kết quả.
text1
- Đây là đối số bắt buộc, nhận giá trị văn bản đầu tiên sẽ được ghép. Nó có thể là tham chiếu ô hoặc một chuỗi văn bản được đặt trong dấu ngoặc kép.
text2, text3, …
- Các đối số này là tùy chọn, dùng để chỉ các giá trị văn bản tiếp theo sẽ được ghép cùng text1. Số lượng các đối số này tùy thuộc vào nhu cầu.
Đặc điểm quan trọng của hàm TEXTJOIN
- Nếu một giá trị text chứa định dạng số, hàm sẽ loại bỏ định dạng và trả về chuỗi văn bản tương ứng.
- Nếu độ dài kết quả vượt quá 32.767 ký tự (giới hạn của một ô trong Excel), hàm sẽ trả về lỗi #VALUE!.
- Hàm cho phép tối đa 252 đối số text tùy chọn.
Ví dụ về hàm TEXTJOIN
Với một vài đối số bắt buộc, hãy cùng khám phá cách hoạt động của hàm qua các ví dụ dưới đây. Dữ liệu mẫu được sử dụng rất đơn giản, với các giá trị đầu vào đa dạng cho mỗi đối số.

Trong ví dụ đầu tiên, chúng ta chỉ nối hai giá trị ở ô B3 và C3, ngăn cách chúng bằng dấu “!” được ghi ở ô D3. Đối số ignore_empty được đặt là FALSE, nghĩa là các ô trống sẽ được đưa vào kết quả. Kết quả trả về là chuỗi bao gồm các giá trị đã ghép.
Trong ví dụ thứ hai, chúng ta ghép một dải ô từ B3 tới C7. Ví dụ này cũng cho thấy hàm TEXTJOIN có thể làm việc với giá trị mảng. Như trong kết quả trả về, tất cả các giá trị từ B3 tới C7 đều được nối với dấu phân cách đã chỉ định. Vì ignore_empty là TRUE, hàm đã bỏ qua ô trống (B6).
Ví dụ thứ ba là trường hợp điển hình của TEXTJOIN: chuyển một cột thành một chuỗi. Tương tự, ví dụ thứ tư cũng ghép tất cả các số trong cột C. Hàm TEXTJOIN xử lý các số như chuỗi văn bản.
Trong ví dụ cuối cùng, chúng ta ghép giá trị của hai ô mà không có dấu phân cách. Vì đối số delimiter là bắt buộc, nên chúng ta truyền vào một chuỗi rỗng. Kết quả là một phép nối đơn giản của hai giá trị.
Ứng dụng thực tiễn
Ví dụ 1 – Kết hợp địa chỉ bằng hàm TEXTJOIN
Trong trường hợp này, chúng ta có dữ liệu cá nhân của tất cả nhân viên, bao gồm họ và tên, tên đường, thành phố, bang và mã bưu điện. Khi mùa lễ đang tới, chúng ta muốn gửi giỏ quà tặng cho mọi nhân viên. Để tạo địa chỉ gửi thư đầy đủ, chúng ta chỉ cần ghép dữ liệu từ các ô lại bằng hàm TEXTJOIN.

Chúng ta sẽ ghép địa chỉ hoàn chỉnh bằng dấu phẩy (,), kết hợp các ô B3 tới F3 và bỏ qua các ô trống. Công thức như sau:
=TEXTJOIN(", ",TRUE,B3:F3)

Trong ví dụ trên, chúng ta đã hiểu cách dùng TEXTJOIN để nối các ô có cùng dấu phân cách. Tiếp theo, chúng ta sẽ khám phá cách sử dụng TEXTJOIN khi cần nhiều hơn một dấu phân cách.
Ví dụ 2 – Tạo địa chỉ email bằng hàm TEXTJOIN
Ở đây, chúng ta có danh sách nhân viên mới và bộ phận HR toàn cầu cần tạo email cho từng người dựa trên tên miền quốc gia. Dữ liệu bao gồm tên, họ và tên miền quốc gia. Theo quy tắc công ty, định dạng email là firstname.lastname@domainname.

Sử dụng TEXTJOIN, chúng ta ghép họ và tên bằng dấu chấm (.) và ghép phần tên miền bằng ký hiệu @. Vì các tên đã ở dạng chữ thường, chúng ta sẽ thêm hàm LOWER để chắc chắn email cuối cùng là chữ thường. Hai dấu phân cách (dấu chấm và dấu @) sẽ được đưa vào một mảng hằng số trong ngoặc nhọn, mỗi dấu phân cách đặt trong dấu ngoặc kép và ngăn cách bằng dấu phẩy. Công thức như sau:
=TEXTJOIN({".","@"},TRUE,LOWER(B3:D3))

Ví dụ 3 – TEXTJOIN kết hợp ngày tháng
Trong kịch bản này, chúng ta có tên và ngày sinh của người. Muốn ghép chúng lại cách nhau bằng ký tự xuống dòng. Điều này rất dễ thực hiện với TEXTJOIN. Hãy xem hàm hoạt động như thế nào khi ghép văn bản với ngày.

Công thức đơn giản, trong đó delimiter là ký tự xuống dòng, được chèn bằng hàm CHAR. Mã ký tự 10 tương ứng với dấu xuống dòng trong hàm CHAR. Ta sẽ đưa CHAR(10) vào công thức:
=TEXTJOIN(CHAR(10),TRUE, B3,C3)
Trong công thức trên, dấu phân cách được đặt là CHAR(10). Tham số thứ hai TRUE sẽ bỏ qua các ô trống. Nhờ đó, các tên ở cột B và ngày ở cột C sẽ được ghép với nhau.

Khi xem kết quả, chúng ta thấy định dạng ngày đã mất. Đó là vì giá trị trả về của TEXTJOIN luôn ở dạng văn bản; trong Excel, ngày tháng chỉ là một định dạng hiển thị, thực tế chúng được lưu dưới dạng số tuần tự.
Để giữ lại định dạng ngày, chúng ta có thể dùng hàm TEXT với định dạng “dd-mmm-yy”. Công thức sẽ là:
=TEXTJOIN(CHAR(10),TRUE, B3,TEXT(C3,"dd-mmm-yy"))

Ví dụ 4 – TEXTJOIN có điều kiện
Vì TEXTJOIN làm việc tốt với mảng, chúng ta cũng có thể dùng nó để kết hợp nội dung của hai hoặc nhiều ô dựa trên điều kiện. Bằng cách dùng hàm IF, chúng ta có thể đánh giá điều kiện và trả về một mảng giá trị cho đối số text1.

Giả sử chúng ta có danh sách nhân viên và phòng ban họ làm việc. Công ty đang lên kế hoạch cho một buổi team‑building và muốn phân nhóm nhân viên theo phòng ban.

Logic của chúng ta: nếu giá trị ở cột C trùng với tên phòng ban yêu cầu, trả về giá trị tương ứng ở cột B, nếu không trả về chuỗi rỗng.
Công thức IF sẽ là:
=IF($C$3:$C$15=E3,$B$3:$B$15,"")
Sau khi có mảng kết quả của IF, chúng ta dùng TEXTJOIN để nối các tên lại bằng dấu phẩy, bỏ qua các ô trống:
=TEXTJOIN(", ",TRUE,IF($C$3:$C$15=E3,$B$3:$B$15,""))

Kết quả cho thấy danh sách các thành viên trong mỗi phòng ban.
Ví dụ 5 – Đảo ngược chuỗi ký tự bằng TEXTJOIN
Ngoài các ứng dụng hữu ích, TEXTJOIN còn có thể dùng để đảo ngược một chuỗi. Kết hợp với hàm MID, chúng ta có thể thực hiện dễ dàng.
Đầu tiên, dùng MID để lấy từng ký tự của chuỗi gốc theo thứ tự ngược lại, sau đó dùng TEXTJOIN ghép lại.
Ví dụ, đảo “EXCEL” thành “LECXE”.
=MID(B3,{10,9,8,7,6,5,4,3,2,1},1)

Sau khi có các ký tự ngược lại, dùng TEXTJOIN không có dấu phân cách và bỏ qua các ô trống:
=TEXTJOIN("",1,MID(B3,{10,9,8,7,6,5,4,3,2,1},1))

Công thức trên chỉ hoạt động tốt khi chuỗi không dài hơn 10 ký tự. Để hỗ trợ chuỗi bất kỳ độ dài, chúng ta dùng hàm SEQUENCE để tạo dãy số ngược lại dựa trên độ dài chuỗi:
=SEQUENCE(LEN(B3),,LEN(B3),-1)
Sau đó ghép lại thành công thức cuối cùng:
=TEXTJOIN("",1,MID(B3,SEQUENCE(LEN(B3),,LEN(B3),-1),1))

TEXTJOIN vs CONCAT
Giống như TEXTJOIN, hàm CONCAT cũng nối văn bản hoặc chuỗi vào một ô. Tuy nhiên, sự khác biệt lớn là trong CONCAT, bạn phải đặt dấu phân cách sau mỗi giá trị một cách thủ công, trong khi TEXTJOIN chỉ cần chỉ định dấu phân cách một lần và có thể truyền toàn bộ dải ô.

Ở ví dụ này, chúng ta muốn nối các giá trị từ B3 tới B9 bằng dấu phẩy.
Với TEXTJOIN:
=TEXTJOIN(",",TRUE,B3:B9)
Với CONCAT, phải liệt kê từng ô và chèn dấu phẩy sau mỗi ô:
=CONCAT(B3,",",B4,",",B5,",",B6,",",B7,",",B8,",",B9)
Hy vọng sau phần này, mọi khía cạnh và ứng dụng của hàm TEXTJOIN đã trở nên rõ ràng. Hãy thực hành để khám phá thêm các cách sử dụng mới, và đón chờ các hàm Excel tiếp theo mà chúng tôi sẽ giới thiệu.







