Nói như Datbutmuc cũng có lý. Tạo 1 dữ liệu và sử dụng dữ liệu đó tạo ra những báo cáo khác nhau đòi hỏi phải tuân thủ 1 số quy tắc. Không theo quy tắc tức là tự mình làm khó mình (và làm khó cho anh em GPE).
Cụ thể trường hợp topic này, xin có vài lời bàn:
1. Dù là 1 người hoặc 2 người tạo ra cái file này đi nữa, và cả 2 không biết gì về CSDL, thì thói quen khi tạo sheet Tonghop sẽ là copy tiêu đề các cột tên mặt hàng paste qua. Trường hợp đảo vị trí cột là rất hiếm khi xảy ra.
2. Khi chèn 1 cột mặt hàng mới vào sheet Tonghop, nghĩa là có thêm mặt hàng được bán ra, thì phải có giá mới bán được chứ? Vậy thì phải chèn thêm 1 cột giá vào sheet Bangthamchieu, cái này quá cơ bản nên hiếm khi sai.
Vấn đề "nếu và nhưng" phải đặt ra như vầy mới đúng:
1. Giả sử có 10 mặt hàng, 10 cột giá, và trong tháng chỉ phát sinh 4 mặt hàng thôi, tôi không muốn tạo và in 6 cột trống.
2. Giả sử tôi giải quyết được chuyện 1, thì trong tháng tôi sẽ làm tuần tự: mặt hàng nào phát sinh trước, tôi ghi tên mặt hàng vào cột đầu, sau đó đến cột kế tiếp.
Vậy, có giải quyết được không? Tôi nói được. Thậm chí 1 trong 3 name trên kia cũng đã xài được rồi: Đó là Name của LeDuyThuong, mà chính Thương không ngờ tới. Cái name tạo ra 1 mảng, mảng này đáp ứng 2 chuyện:
- Thứ tự cột mặt hàng không giống bên sheet tham chiếu
- Số cột (số mặt hàng) ít hơn sheet tham chiếu
Còn tại sao cái Name Vlookup dài ngoằng ai cũng chê, mà làm được việc này thì .... giải thích sau (đi smoke cái đã). Mọi người cứ thử đi nha.