Mình làm 1 bài để lọc và tính thưởng cho khách hàng. Nhưng vẫn ko lấy đúng được điều kiện. Mong các bạn giúp cho. Cảm ơn nhiều
=SUMPRODUCT(($B$2:$B$7=B16)*($A$2:$A$7="FG0001")*($D$2:$D$7>=780)*INT($D$2:$D$7/780))+SUMPRODUCT(($B$2:$B$7=B16)*($A$2:$A$7="FG0002")*($D$2:$D$7>=20)*INT($D$2:$D$7/20))
Bạn xài Excel 2007 trở lên thì dùng các hàm này thử xem:Mình làm 1 bài để lọc và tính thưởng cho khách hàng. Nhưng vẫn ko lấy đúng được điều kiện. Mong các bạn giúp cho. Cảm ơn nhiều
C16=IF(COUNTIFS($B$2:$B$7;B16;$A$2:$A$7;"FG0001")+COUNTIFS($B$2:$B$7;B16;$A$2:$A$7;"FG0002")>=2;INT(SUMIFS($D$2:$D$7;$B$2:$B$7;B16;$A$2:$A$7;"FG0001")/780)+INT(SUMIFS($D$2:$D$7;$B$2:$B$7;B16;$A$2:$A$7;"FG0002")/20);"")
Bạn xài Excel 2007 trở lên thì dùng các hàm này thử xem:
KH B mua FG0001 2 lần là 4000, gom chung lại chia cho 780 hay tách ra 2 lần 2000/780 ?PHP:C16=IF(COUNTIFS($B$2:$B$7;B16;$A$2:$A$7;"FG0001")+COUNTIFS($B$2:$B$7;B16;$A$2:$A$7;"FG0002")>=2;INT(SUMIFS($D$2:$D$7;$B$2:$B$7;B16;$A$2:$A$7;"FG0001")/780)+INT(SUMIFS($D$2:$D$7;$B$2:$B$7;B16;$A$2:$A$7;"FG0002")/20);"")
Gom chung lại là 5 nhưng tách ra là 4. Híc.
Option Explicit
Function TinhThuong(Rng As Range, KHg As String) As Double
Dim Cls As Range, TT1 As Double, TT2 As Double
Const F1 As String = "FG0001"
Const F2 As String = "FG0002"
For Each Cls In Rng(1).Resize(Rng.Rows.Count)
If Cls.Offset(, 1).Value = KHg Then
If Cls.Value = F1 Then
TT1 = TT1 + Cls.Offset(, 3).Value \ 780
ElseIf Cls.Value = F2 Then
TT2 = TT2 + Cls.Offset(, 3).Value \ 20
End If
End If
Next Cls
If TT1 > 0 And TT2 > 0 Then TinhThuong = TT1 + TT2
End Function
PHP:Option Explicit Function TinhThuong(Rng As Range, KHg As String) As Double Dim Cls As Range, TT1 As Double, TT2 As Double Const F1 As String = "FG0001" Const F2 As String = "FG0002" For Each Cls In Rng(1).Resize(Rng.Rows.Count) If Cls.Offset(, 1).Value = KHg Then If Cls.Value = F1 Then TT1 = TT1 + Cls.Offset(, 3).Value \ 780 ElseIf Cls.Value = F2 Then TT2 = TT2 + Cls.Offset(, 3).Value \ 20 End If End If Next Cls If TT1 > 0 And TT2 > 0 Then TinhThuong = TT1 + TT2 End Function
Khi đó cú fáp tại [C16] sẽ là =TinhThuong(Tabl1,B16)
ở đây Tabl1 là vùng được gán tên [A1:C7]
Đọc câu này mà "rõ hơn" sao.Cảm ơn ChanhTQ. Cho mình hỏi bạn làm trên file mình mới upload lên hay là file trước. File mới upload lên mình ghi rõ và đầy đủ và rõ hơn.
Giải thích thêm 1 câu làm rối hơn những câu trước.Những khách hàng mua sản phẩm FG0001/780 lấy phần nguyên ví dụ = 3 và mua sản phẩm FG0002/20 lấy phần nguyên =2 thì hệ số là 3 số lượng thưởng tính là 2*20
Bạn xem thời gian đưa 2 bài lên sẽ rõ, cần gì fải hỏi!Cảm ơn ChanhTQ. Cho mình hỏi bạn làm trên file mình mới upload lên hay là file trước. File mới upload lên mình ghi rõ và đầy đủ và rõ hơn.
Đọc câu này mà "rõ hơn" sao.
Giải thích thêm 1 câu làm rối hơn những câu trước.
"Hệ số là 3" thì ảnh hưởng gì đến kết quả? 20 ở đâu mà có?
Bạn ví dụ cũng phải cụ thể trên file, Ví dụ bằng câu chữ trên này thì so sanh sao được.Sorry mình ghi nhầm.
(Những khách hàng mua sản phẩm FG0001/780 lấy phần nguyên ví dụ = 3 và mua sản phẩm FG0002/20 lấy phần nguyên =2 thì hệ số là 2 số lượng thưởng tính là 2*20). Cái này dạng như nó lấy mẫu số chung nhỏ nhất vậy.
Bạn ví dụ cũng phải cụ thể trên file, Ví dụ bằng câu chữ trên này thì so sanh sao được.
Xem trong file này và bạn muốn nó có kết quả là bao nhiêu, bạn nhập thủ công vào để mọi người "mò" ra kết quả.
Đâu phải ai cũng làm chung ngành với bạn mà chỉ cần bạn "nháy mắt" là hiểu bạn muốn gì.
Giải thích và ghi Kết quả cụ thể trường hợp KH B đi.
Sorry mình ghi nhầm.
"Những khách hàng mua sản phẩm FG0001/780 lấy phần nguyên ví dụ = 3 và mua sản phẩm FG0002/20 lấy phần nguyên =2 thì hệ số là 2 số lượng thưởng tính là 2*20" (công thức nó là hệ số * 20 cái 20 này là cố đình). Cái này dạng như nó lấy mẫu số chung nhỏ nhất vậy.
Nội dung của nó là : Khách hàng mua sp FG0001 số lượng 780 và sp FG0002 sô lượng 20 thì được thưởng 20.
Điều kiện quá lu bu nên xài hàm tự tạo thử xem.Thank bạn.
Vd. B mua sản phẩm FG001 tới 2 lần với số lượng 2000 và 2000. Vậy hệ số là làm tròn(2000/780) + làm tròn(2000/780) = 2 + 2 = 4 hay là làm tròn((2000 + 2000)/780) = 5???
(Lấy tròn là 5)
Tôi thử phát biểu bạn xem đúng không.
1. Giả sử khách hàng X mua a (tổng cộng nhiều lần mua) sản phẩm FG001, và b (tổng cộng nhiều lần mua) sản phẩm FG002. Khách hàng được thưởng khi và chỉ khi a ≥ 780 và b ≥ 20.
Số lượng thưởng = c * 20 trong đó c = min(làm tròn(a/780), làm tròn (b/20))
c là min làm tròn của (a/780) và (b/20)
Thank bạn.
Vd. B mua sản phẩm FG001 tới 2 lần với số lượng 2000 và 2000. Vậy hệ số là làm tròn(2000/780) + làm tròn(2000/780) = 2 + 2 = 4 hay là làm tròn((2000 + 2000)/780) = 5???
(Lấy tròn là 5)
Tôi thử phát biểu bạn xem đúng không.
1. Giả sử khách hàng X mua a (tổng cộng nhiều lần mua) sản phẩm FG001, và b (tổng cộng nhiều lần mua) sản phẩm FG002. Khách hàng được thưởng khi và chỉ khi a ≥ 780 và b ≥ 20.
Số lượng thưởng = c * 20 trong đó c = min(làm tròn(a/780), làm tròn (b/20))
c là min làm tròn của (a/780) và (b/20)
=MIN(INT(SUMIFS($D$2:$D$7;$B$2:$B$7;$B17;$A$2:$A$7;"FG0001")/780);INT(SUMIFS($D$2:$D$7;$B$2:$B$7;$B17;$A$2:$A$7;"FG0002")/20))
=$C17*20
Điều kiện quá lu bu nên xài hàm tự tạo thử xem.
Nhớ Enable Macros khi mở file.
Cấu trúc hàm:
=HicHic(RgKH As Range, MaKH As String, RgSP As Range, MaSP1 As String, MaSP2 As String, RgSL As Range)
Tôi cũng chưa hiểu ý của bạn lắm, có chắc là đúng không?Thanks Ba Tê nhiều đã ra đúng cái mình cần.
Thanks Ba Tê nhiều đã ra đúng cái mình cần.
hệ số = làm tròn (3300 / 780) = [SIZE=5][COLOR=#ff0000]4[/COLOR][/SIZE]
Thank bạn.
Vd. B mua sản phẩm FG001 tới 2 lần với số lượng 2000 và 2000. Vậy hệ số là làm tròn(2000/780) + làm tròn(2000/780) = 2 + 2 = 4 hay là làm tròn((2000 + 2000)/780) = 5???
(Lấy tròn là 5)
Tôi thử phát biểu bạn xem đúng không.
1. Giả sử khách hàng X mua a (tổng cộng nhiều lần mua) sản phẩm FG001, và b (tổng cộng nhiều lần mua) sản phẩm FG002. Khách hàng được thưởng khi và chỉ khi a ≥ 780 và b ≥ 20.
Số lượng thưởng = c * 20 trong đó c = min(làm tròn(a/780), làm tròn (b/20))
c là min làm tròn của (a/780) và (b/20)
hệ số = làm tròn ((700 + 3300) / 780) = làm tròn (4000 / 780) = [SIZE=5][COLOR=#ff0000]5[/COLOR][/SIZE]
Đúng là bó tay với bạn.
Với code "đúng cái mình cần" thì ...
Nếu B mua FG0001 tới 2 lần với số lượng là 700 và 3300 thì code trả về
Mã:hệ số = làm tròn (3300 / 780) = [SIZE=5][COLOR=#ff0000]4[/COLOR][/SIZE]
Nếu bạn không biết đọc code thì chỉ cần sửa 2000 và 2000 thành 700 và 3300 thì sẽ thấy hệ số = 4
Trong khi đó nếu theo như tôi phát biểu hộ bạn và bạn gật đầu lia lịa để khẳng định
thì
----------Mã:hệ số = làm tròn ((700 + 3300) / 780) = làm tròn (4000 / 780) = [SIZE=5][COLOR=#ff0000]5[/COLOR][/SIZE]
Bạn còn độc thân? Chắc chắn sẽ gật
Bạn chắc chắn có vợ đẹp con khôn! Chắc chắn sẽ gật.
Thôi thì dọn đồ chơi ngay cho khỏi mất công.
Mình không biết sao nhưng có lẽ trong dữ liệu mình ko có cái như bạn giả sử. Nhưng mình thấy code của Ba Tê là đúng và cho mình kết quả là đúng thì nói đúng thôi.