Nối chuỗi trong Excel với ArrayToText

Việc nối chuỗi trong Excel thường được thực hiện bằng toán tử “&” hoặc bằng hàm CONCATENATE. Tuy vậy việc nối nhiều chuỗi, hoặc nối theo điều kiện là rất khó. Với hàm ArrayToText mọi việc sẽ đơn giản hơn nhiều.

Đầu tiên tải file mArrayToText.bas theo link sau: Tại đây

Import file mArrayToText.bas vào vba:

  • ALT+F11.
  • Chuột phải vào workbook chọn Import File…
  • Chọn file mArrayToText.bas.

Nối chuỗi, Import file

Sau khi Import file thành công, bạn có trong thay hàm ArrayToText với nguyên mẫu:

  • ArrayToText(vArray, PhanTach)
  • Array: Mảng, vùng,..
  • PhanTach: kiểu text, là dấu phân tách, bỏ qua sẽ là “;”
  • Trả lại chuỗi, ghép từ các phần tử của mảng, có dấu phân tách.
  • Ghép các phần tử của mảng thành chuỗi, nếu ô bị lỗi thì bỏ qua. Ghép từ trái sang phải, từ trên xuống dưới.

Bộ tài liệu Excel cơ bản hay nhất mọi thời đại

Nối chuỗi  từ một cột khi bỏ qua PhanTach, khi đó dấu phân cách là “;”:

Nối chuỗi, một cột dữ liệu.

Nối chuỗi từ một dòng, với dấu PhanTach là khoảng trắng:

Nối chuỗi, nối chuỗi với khoảng trắng.

Tìm hiểu ngay: Học Excel nâng cao ở đâu

Nối chuỗi từ một vùng nhiều hàng, nhiều cột:

  • Thứ tự ghép là từ trái sang phải, tử trên xuống dưới.
  • Nếu cần ngược lại hãy nghĩ tới hàm TRANSPOSE.

Nối chuỗi, nối chuỗi nhiều hàng, nhiều cột.

Nối chuỗi theo điều kiện:

  • Bản chất ArrayToText không có khả năng nối chuỗi theo điều kiện, nhưng nó lại bỏ qua những phần tử lỗi. Những phần tử không thỏa mãn điều kiện chỉ việc thay bằng na() là chúng ta đã có một hàm nối chuỗi trong Excel theo điều kiện. Điều này cho phép ta nối chuỗi theo những điều kiện vô cùng phức tạp cũng không vấn đề gì.
  • Nối các chuỗi trong “Số Thùng” nếu cột “Mã vật tư” là “A”.
  • Nếu phần tử “Mã vật tư” là “A” thì trả lại phần tử tương ứng trong “Số Thùng”, ngược lại sẽ trả lại na(). Kết quả cuối cùng sẽ do ArrayToText ghép nối.

nối chuỗi theo điều kiện.

Nối chuỗi từ nhiều cột riêng biệt có xét thêm điều kiện:

  • Nếu “Mã Vật Tư” là “a” thì sẽ ghép “Số thùng” & “(” & SL & “”)”
  • Phối hợp với công thức mảng, bạn sẽ bất khả chiến bại với việc nối chuỗi:

nối chuỗi dạng ghép nhiều cột có điều kiện.

Video của chủ đề:

Sử dụng VBA giúp ích rất nhiều trong công việc: giúp bạn tăng tốc trong quá trình xử lý trên Excel, giúp lập các báo cáo tự động, điều khiển các chương trình khác như Word, Power Point, Outlook … giúp biến file Excel của bạn trở thành 1 phần mềm chuyên nghiệp …

Tác giả: Nguyễn Ngọc Thu Hiền

Để có thể học VBA một cách đầy đủ, có hệ thống, bạn hãy tham gia khoá học VBA101 – VBA cơ bản dành cho người mới bắt đầu của hệ thống Học Excel Online. Hiện nay hệ thống đang có nhiều ưu đãi khi bạn đăng ký khóa học này. Chi tiết xem tại: