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 ...
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.
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 từ một dòng, với dấu PhanTach là 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 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 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:
Video của chủ đề:
Khóa học lập trình VBA trong excel