trananhtuan281914
Thành viên hoạt động



- Tham gia
- 18/3/20
- Bài viết
- 153
- Được thích
- 37
Điều kiện bạn ghi trong file còn mù mờ lắm!Chào anh/chị
Anh chị xây dựng giúp em công thức lấy dữ liệu sang sheet khác.
Cảm ơn anh chị.
- Một mã hàng có nhiều mức số lượng bán, được hiểu là mua càng nhiều sản phẩm thì giá càng rẻ từ đó so sánh Tổng số lượng vói Mức số lượng bán:Điều kiện bạn ghi trong file còn mù mờ lắm!
Trích:
"Mã sản phẩm Sheet GiaBan có 2 dòng trở lên thì lấy Tổng số lượng so sánh với Mức số lượng bán để lấy giá"
Thắc mắc sau:
1/ So sánh như thế nào? Nếu bằng, hoặc lớn, hoặc nhỏ thì làm cái gì tiếp theo?
2/ Nếu mã có nhiều dòng nhưng không có số lượng bán để so, thì bạn muốn nó ra kết quả gì? Vd như mã: 101010001231 có 5 dòng nhưng chả có số lượng nào cả!
Thân
Tôi không hỏi 'nguyên do', tôi chỉ hỏi để biết cách bạn muốn chọn và tính toán sao cho ra kết quả bạn muốn.- Một mã hàng có nhiều mức số lượng bán, được hiểu là mua càng nhiều sản phẩm thì giá càng rẻ từ đó so sánh Tổng số lượng vói Mức số lượng bán:
A 10 20
A 30 18
A 50 16
Mua dưới 10 Sản phẩm A => Không sản xuất được vì không có lời.
Mua từ 10-29 Sản phẩm A => 20
Mua từ 30-49 Sản phẩm A => 18
Mua >50 Sản phẩm A => 16
- Sheet Giaban được xây dựng theo kiểu:
+ Sản phẩm A không có Mức số lượng bán, dò mã thỏa điều kiện thì lấy giá bán.
+ Sản phẩm B có Mức số lượng bán (Có thể 2 mức)
+ Sản phẩm C có Mức số lượng bán (Có thể 3 mức)
+ Sản phẩm D có Mức số lượng bán (5 mức, Có thể người nhập sót dữ liệu như mã 101010001231)
Sản phẩm B,C,D có nhiều Mức số lượng bán thì lấy Tổng số lượng so sánh với các mức và thỏa các điều kiện.
Mã 101010001230 có 5 dòng ở sheet Giaban: mức số lượng là 1000, 2000, 3000, 5000, 10000, với các Giá cũ và hai đợt tăng giá. Vậy Giá bán là bao nhiêu như số liệu giả sử sau:Tôi không hỏi 'nguyên do', tôi chỉ hỏi để biết cách bạn muốn chọn và tính toán sao cho ra kết quả bạn muốn.
Tôi đưa ví dụ dưới đây bạn chỉ cần nói bạn chọn cái giá nào và vì nó thỏa điều kiện gì, đơn giản chỉ vậy thôi:
Mã 101010001230 có 5 dòng ở sheet Giaban: mức số lượng là 1000, 2000, 3000, 5000, 10000, với các Giá cũ và hai đợt tăng giá. Vậy Giá bán là bao nhiêu như số liệu giả sử sau:
- Tổng SL=695, ngày HĐ 05/10/2020
- Tổng SL=4876, ngày HĐ 20/11/2020
- Tổng SL=27800, ngày HĐ 17/04/2021
Thân
Bạn kiểm tra lại kết quả:Mã 101010001230 có 5 dòng ở sheet Giaban: mức số lượng là 1000, 2000, 3000, 5000, 10000, với các Giá cũ và hai đợt tăng giá. Vậy Giá bán là bao nhiêu như số liệu giả sử sau:
*Sản phẩm có mốc số lượng ở sheet GiaBan thì lấy ở cột G: Tổng số lượng để so sánh.
- Tổng SL=695, ngày HĐ 05/10/2020 Giá cũ: 4 100 (1 000 sản phẩm là mức tối thiếu để sản xuất, áp giá 4 100 cho số lượng từ 1 cho đến 1 999 sản phẩm)
- Tổng SL=4876, ngày HĐ 20/11/2020 Giá tăng đợt 1: 2 770 (Từ 3 000 – 4 999 sản phẩm và ngày đơn hàng áp dụng theo Ngày tăng giá đợt 1)
- Tổng SL=27800, ngày HĐ 17/04/2021 Giá tăng đợt 2: 2 190 (Tổng số lượng > mốc 10 000 và ngày đơn hàng lớn hơn ngày áp dụng đợt 2)
H2=IF(A2="","",IFERROR(HLOOKUP(F2,INDEX(N(OFFSET(GiaBan!$G$1,IFERROR(MATCH(G2,INDEX((GiaBan!$F$2:$F$220)/FIND(A2,GiaBan!$B$2:$B$220),),1),MATCH("*"&A2&"*",INDEX(GiaBan!$B$2:$B$220&"",),)),COLUMN(A:H)+{0;-1}))*SEARCH("Giá",GiaBan!$G$1:$M$1),),2),"Không tìm thấy"))
Kết quả đúng rồi anh, cảm ơn anh.Bạn kiểm tra lại kết quả:
Mã:H2=IF(A2="","",IFERROR(HLOOKUP(F2,INDEX(N(OFFSET(GiaBan!$G$1,IFERROR(MATCH(G2,INDEX((GiaBan!$F$2:$F$220)/FIND(A2,GiaBan!$B$2:$B$220),),1),MATCH("*"&A2&"*",INDEX(GiaBan!$B$2:$B$220&"",),)),COLUMN(A:H)+{0;-1}))*SEARCH("Giá",GiaBan!$G$1:$M$1),), [/QUOTE]
Trường hợp đầy đủ dữ liệu của 3 đợt ở tất cả các cột thì đúng. Em có kiểm tra lại các trường hợp sau chưa đúng:Bạn kiểm tra lại kết quả:
Enter, fill xuống.Mã:H2=IF(A2="","",IFERROR(HLOOKUP(F2,INDEX(N(OFFSET(GiaBan!$G$1,IFERROR(MATCH(G2,INDEX((GiaBan!$F$2:$F$220)/FIND(A2,GiaBan!$B$2:$B$220),),1),MATCH("*"&A2&"*",INDEX(GiaBan!$B$2:$B$220&"",),)),COLUMN(A:H)+{0;-1}))*SEARCH("Giá",GiaBan!$G$1:$M$1),),2),"Không tìm thấy"))
Thân