Xin mọi người giúp đỡ lọc giá trị thỏa nhiều điều kiện với ạ !! (1 người xem)

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

mitomngonngon

Thành viên mới
Tham gia
19/10/16
Bài viết
16
Được thích
4
Em có một bài toán khá khó khăn với em đó là phải lọc được giá tiền thỏa nhiều điều kiện từ các sheet khác. Ví dụ em có gửi kèm ở file bên dưới. Khách A em có bảng 1 bảng giá theo từng mức Kilograms và theo từng zones. Khách B cũng vậy. Ở sheet tổng em sẽ nhập tên khách, lấy bao nhiêu Kilograms ở zone nào. Cột CHARGE sẽ tự thỏa 3 điều kiện trên mà lọc ra được giá trị cuối cùng ạ. Code cho cột CHARGE này là em bó tay. Mong anh chị giúp đỡ em với ạ.
 

File đính kèm

Thứ nhất : Bạn sửa lại ở tên sheet nên là tiếng việt không dấu về sheet A, Sheet B
Thứ hai : Bạn sửa lại cột C là chữ Zone 1, Zone 2,.... chứ không để 1, 2 nữa ( hoặc sửa ở các sheet khách hàng )
Thứ ba : ở cột C sheet tổng chuyển hết về định dạng text hoặc các sheet kia chuyển về cùng 1 định dạng
Sau đó bạn thử công thức sau
Tại sheet tổng E2=INDEX(INDIRECT(B3&"!B2:L41"),MATCH(D3,INDIRECT(B3&"!A2:A41"),0),MATCH(C3,INDIRECT(B3&"!B1:L1"),0))
 
Em có một bài toán khá khó khăn với em đó là phải lọc được giá tiền thỏa nhiều điều kiện từ các sheet khác. Ví dụ em có gửi kèm ở file bên dưới. Khách A em có bảng 1 bảng giá theo từng mức Kilograms và theo từng zones. Khách B cũng vậy. Ở sheet tổng em sẽ nhập tên khách, lấy bao nhiêu Kilograms ở zone nào. Cột CHARGE sẽ tự thỏa 3 điều kiện trên mà lọc ra được giá trị cuối cùng ạ. Code cho cột CHARGE này là em bó tay. Mong anh chị giúp đỡ em với ạ.
Chào mitomngonngon,

Đúng như bạn n0thing1988 góp ý, bạn nên thống nhất như vậy, cùng bổ sung ý như sau:

Do các giá trị lớn hơn 31, so sánh theo cấp lũy tiến, nên hay nhất là bạn chuyển các cột A của hai bảng KhA và KhB về kiểu SỐ (trong dữ liệu cột A của bạn vừa có kiểu số vửa có kiểu chuỗi), như vậy bạn chỉ cần dùng Vlookup(....,,,1) là có thể truy lục đươc hết các giá trị: dù có cấp hay không có cấp lũy tiến.

Tại Sheet Tổng, ô E2:
Mã:
E2=IFERROR(VLOOKUP($D2,INDIRECT("'Kh"&$B2&"'!A2:L1000"),MATCH("Zone "&$C2,KhA!$A$1:$L$1,0),1),0)*IF($D2<31,1,$D2)

Rồi fill xuống

Bạn có thể tham khảo file đính kèm (tôi điều chỉnh cho gọn "KHÁCH A" = "KhA"...)

Chúc bạn ngày vui
p/s: bạn copy lại công thức trên vào file đính kèm để phù hợp với các trọng lương >31Kg, cảm ơn bạn.
-------------------------------------
Hướng về đồng bào miền trung:
http://www.giaiphapexcel.com/forum/...ền-Trung-đang-bị-ngập-lụt&p=749206#post749206
 

File đính kèm

Lần chỉnh sửa cuối:
Rất cảm ơn 2 anh ạ. Em quên ghi luôn trong đề tài là từ 31kg trở đi là số tiền đó nhân với số KG mới ra được thành tiền. Có cách nào chỉnh code này lại cho phù hợp không ạ
 
Lần chỉnh sửa cuối:
Rất cảm ơn 2 anh ạ. Em quên ghi luôn trong đề tài là từ 31kg trở đi là số tiền đó nhân với số KG mới ra được thành tiền. Có cách nào chỉnh code này lại cho phù hợp không ạ
Chào mitomngonngon,

Tôi có chỉnh lại trên "Code" bài #3, trong file là tôi làm trước, nên tôi có ghi chú nhờ bạn chỉnh dùm lại trong file rồi đó!
/-*+//-*+//-*+/

Chúc bạn ngày vui.
---------------------------------------
Hướng về đồng bào miền trung:
http://www.giaiphapexcel.com/forum/...khăn-với-đồng-bào-miền-Trung-đang-bị-ngập-lụt
 

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

Back
Top Bottom