Lọc dữ liệu từ sheet này sang sheet khác có điều kiện (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

mhung12005

Thành viên chậm chạm
Tham gia
20/7/11
Bài viết
1,598
Được thích
1,261
Nghề nghiệp
Đâu có việc thì làm
Chào tất cả anh chị em,

Mình có vấn đề này muốn nhờ các anh chị em giúp đỡ:

Bình thường mình đang dùng công thức để lọc dữ liệu từ sheet Nguon sang sheet Dich. Nhưng bây giờ, do nhu cầu, dữ liệu nhiều nên công thức bị "rùa" quá.
Mình muốn thay việc dùng công thức sang code VBA nhưng nó vượt quá khả năng của mình (vì có quá nhiều điều kiện và chỉ trích xuất ra một số field).
Mình cũng đã tìm trên diễn đàn nhưng không thấy bài nào tương tự để học hỏi nên mở topic mới này mong mọi người giúp đỡ.

Xin xem file đính kèm:
Điều kiện lọc nằm ở cột Z sheet Nguon.
Và kết quả lọc bên sheet Dich (Sheet Dich cũng có thêm phần điều kiện trong cột I và L).

Mong các anh chị giúp đỡ, xin chân thành cảm ơn các anh chị.
 

File đính kèm

Trời, điều kiện là công thức, muốn giúp bạn phải đi dịch ngược công thức để tìm yêu cầu của bạn, chắc gì bạn đã lập công thức tối ưu để hiểu được ý bạn?
Bạn yêu cầu lọc như thế nào, nói ra bằng lời thì độ khó giảm hơn một nửa, may ra mới giúp được.
 
Upvote 0
Dùng thử ADO chưa Hùng?
 
Upvote 0
Trời, điều kiện là công thức, muốn giúp bạn phải đi dịch ngược công thức để tìm yêu cầu của bạn, chắc gì bạn đã lập công thức tối ưu để hiểu được ý bạn?
Bạn yêu cầu lọc như thế nào, nói ra bằng lời thì độ khó giảm hơn một nửa, may ra mới giúp được.

Thực ra dạng bài của em cũng có rất nhiều trên diễn đàn (làm bằng công thức). Theo em nghĩ, nếu giải thích bằng lời từ đầu trí cuối thì dài lắm. Và em cũng nghĩ thông thường những người có thể viết code thì cũng có thể đọc được công thức phải vậy không anh nhỉ ?
 
Upvote 0
Thực ra dạng bài của em cũng có rất nhiều trên diễn đàn (làm bằng công thức). Theo em nghĩ, nếu giải thích bằng lời từ đầu trí cuối thì dài lắm. Và em cũng nghĩ thông thường những người có thể viết code thì cũng có thể đọc được công thức phải vậy không anh nhỉ ?

Bạn nói bằng tiếng Việt còn lười, người muốn giúp bạn phải thể hiện bằng ngôn ngữ máy tính, ai khó hơn? Bạn nghĩ sao?
 
Upvote 0
Bạn nói bằng tiếng Việt còn lười, người muốn giúp bạn phải thể hiện bằng ngôn ngữ máy tính, ai khó hơn? Bạn nghĩ sao?

Cảm ơn anh. Vậy em xin nêu ra yêu cầu như sau:

* Điều kiện để lọc dữ liệu từ sheet Nguon:
- Nếu từ AB8:AB15 có tích chữ "v" thì loại item tương ứng từ AA8:AA15 (bỏ hoặc thêm dấu "v" từ AB8:AB15 và xem bên sheet Dich sẽ thấy) trong cột C ra khỏi danh sách lọc.
- Nếu J8="Inplant" và U8="" và V8="" và W8="" hoặc J8="OK2S" và U8="" và V8="" và W8="" thì lọc sang sheet Dich.

* Điều kiện đối với sheet Dich:
- Đối với các trường: Lot, Model, Grade, Vin, Color, Option, Shop keeping, QA in, OK2S actual, Date recheck thì nếu kết quả lọc trả về là 0 hoặc "" thì để trống còn không thì trả về kết quả lọc.
- Đối với trường Vehicle status thì nếu kết quả lọc trả về "Inplant" hoặc "OK2S" và kết quả ở cột L (L3) >15 thì kết quả trả về là "Recheck" ngược lại trả về kết quả lọc. Các trường hợp khác thì bỏ trống.
- Đối với trường Original aging, nếu cột L (L3) ="" thì = today()-cột K (K3) còn ngược lại thì =today()- cột L (L3).
- Đánh số thứ tự cho các item.

Mong các anh chị giúp đỡ, xin chân thành cảm ơn các anh chị.
 

File đính kèm

Upvote 0
Chào anh,
Thử file dưới đây xem được không anh?
Em không làm 2 công thức ở 2 cột cuối, anh tự hoàn thành nhé. Vì có dữ liệu rồi thì điền công thức vào 2 cột đó đơn giản.
 

File đính kèm

Upvote 0
Cảm ơn anh. Vậy em xin nêu ra yêu cầu như sau:

* Điều kiện để lọc dữ liệu từ sheet Nguon:
- Nếu từ AB8:AB15 có tích chữ "v" thì loại item tương ứng từ AA8:AA15 (bỏ hoặc thêm dấu "v" từ AB8:AB15 và xem bên sheet Dich sẽ thấy) trong cột C ra khỏi danh sách lọc.
- Nếu J8="Inplant" và U8="" và V8="" và W8="" hoặc J8="OK2S" và U8="" và V8="" và W8="" thì lọc sang sheet Dich.

* Điều kiện đối với sheet Dich:
- Đối với các trường: Lot, Model, Grade, Vin, Color, Option, Shop keeping, QA in, OK2S actual, Date recheck thì nếu kết quả lọc trả về là 0 hoặc "" thì để trống còn không thì trả về kết quả lọc.
- Đối với trường Vehicle status thì nếu kết quả lọc trả về "Inplant" hoặc "OK2S" và kết quả ở cột L (L3) >15 thì kết quả trả về là "Recheck" ngược lại trả về kết quả lọc. Các trường hợp khác thì bỏ trống.
- Đối với trường Original aging, nếu cột L (L3) ="" thì = today()-cột K (K3) còn ngược lại thì =today()- cột L (L3).
- Đánh số thứ tự cho các item.

Mong các anh chị giúp đỡ, xin chân thành cảm ơn các anh chị.

Phức tạp quá! Cố làm cho bạn đến giờ mới xong.
Xem lại điều kiện dòng màu đỏ ở trên, không đúng yêu cầu của công thức trong file.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Phức tạp quá! Cố làm cho bạn đến giờ mới xong.
Xem lại điều kiện dòng màu đỏ ở trên, không đúng yêu cầu của công thức trong file.

Em đã test rồi. Kết quả "tuyệt cú mèo" anh ah.

Rất cảm ơn anh vì đã rất nhiệt tình giúp đỡ. Thực ra em cũng đang tập tành VBA và cũng đã "vọc" búa xua mấy cái code trên diễn đàn nhưng để đưa ra đc kết quả như yêu cầu thì bó tay. Năng lực có hạn. Hic

Em thấy code của anh "khủng" quả, chắc em phải mất 1 thời gian dài may ra mới "Tiêu hóa" hết được. Nếu có gì thì chắc em lại làm phiền anh thêm nữa.

Một lần nữa cảm ơn anh nhiều.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom