Hàm đếm số lần liên tiếp những ô thỏa điều kiện trong chuỗi.

Liên hệ QC

phongle081290

Thành viên mới
Tham gia
9/9/19
Bài viết
8
Được thích
1
mình đã nghiên cứu hàm count, countif.... nhưng vẫn chưa đươc. ( dòng chữ đỏ trong excel)
nhờ sự giúp đỡ từ mọi người.
trân trọng.
 

File đính kèm

Bạn giải thích rõ cách tính xem nào.Giam 30% là giảm như thế nào.
giảm 30% những ngày nghỉ liên tục từ 4 ngày trở lên. ( ví dụ: giả sử giá 1 ngày là 10.000đ nghỉ 5 ngày liên lục thì giá tiền đóng học phí của 5 ngày đó chỉ là 10.000 * 5* 30%). các ngày nghỉ chưa tới 4 ngày liên tục vẫn tính tiền bình thường.
Bạn nào biết hỗ trợ mình nhé.
Thank.
 
giảm 30% những ngày nghỉ liên tục từ 4 ngày trở lên. ( ví dụ: giả sử giá 1 ngày là 10.000đ nghỉ 5 ngày liên lục thì giá tiền đóng học phí của 5 ngày đó chỉ là 10.000 * 5* 30%). các ngày nghỉ chưa tới 4 ngày liên tục vẫn tính tiền bình thường.
Bạn nào biết hỗ trợ mình nhé.
Thank.
Giảm 30% thì phải đóng 70% hay chỉ đóng 30%?
 
giảm 30% là chỉ đóng 70%. trả lại cho người học 30%. (Đầu tháng đã đóng tiền cả tháng, cuối tháng tổng kết trả lại).
những ngày nghỉ dưới 4 ngày thì vẫn đóng tiền bình thường.
Kết quả mong muốn của bạn: anh A là bao nhiêu?, anh B là bao nhiêu?
 
giảm 30% những ngày nghỉ liên tục từ 4 ngày trở lên. ( ví dụ: giả sử giá 1 ngày là 10.000đ nghỉ 5 ngày liên lục thì giá tiền đóng học phí của 5 ngày đó chỉ là 10.000 * 5* 30%). các ngày nghỉ chưa tới 4 ngày liên tục vẫn tính tiền bình thường.
Bạn nào biết hỗ trợ mình nhé.
Thank.
Thử hàm này xem.
Mã:
Function tientralai(ByVal mang As Range, ByVal giatien As Double, ByVal sobuoi As Integer, Optional ByVal so As Integer = 4, Optional ByVal phantram As Integer = 30) As Double
         Dim T, a As Integer, b As Double, c As Double, d As Integer
         b = giatien / sobuoi
         For Each T In mang
             If UCase(T.Value) = "X" Then
                a = a + 1
             Else
                If a >= so Then
                   c = c + b * a * phantram / 100
                End If
                a = 0
                d = d + 1
             End If
        Next T
        tientralai = c + d * b
End Function
Mã:
=tientralai(B4:AB4,1000000,27,4,30)
 

File đính kèm

giảm 30% là chỉ đóng 70%. trả lại cho người học 30%. (Đầu tháng đã đóng tiền cả tháng, cuối tháng tổng kết trả lại).
những ngày nghỉ dưới 4 ngày thì vẫn đóng tiền bình thường.
Cách tính của bạn trong ô I18 quá khó hiểu.
Tôi "đếm" cho bạn số ngày nghỉ liên tục >=4, còn lại bạn tự tính cho vừa ý.
 

File đính kèm

cảm ơn mọi người đã hỗ trợ.
Mình chưa hiểu về vba có thể đọc ở đâu để hiểu vậy mọi người??
 
mình đã nghiên cứu hàm count, countif.... nhưng vẫn chưa đươc. ( dòng chữ đỏ trong excel)
nhờ sự giúp đỡ từ mọi người.
trân trọng.
Nếu muốn dùng công thức để tính số ngày nghỉ liên tiếp >=4 ngày, thử:
Mã:
AD4=SUM(TEXT(FREQUENCY(COLUMN($A$1:$AB$1),IF(B4:AC4="",COLUMN($A$1:$AB$1)))-4,"0;\-3;-3")+3)
Kết thúc bằng Ctrl+Shift+Enter, rồi fill xuống.

Thân
 

File đính kèm

Nếu muốn dùng công thức để tính số ngày nghỉ liên tiếp >=4 ngày, thử:
Mã:
AD4=SUM(TEXT(FREQUENCY(COLUMN($A$1:$AB$1),IF(B4:AC4="",COLUMN($A$1:$AB$1)))-4,"0;\-3;-3")+3)
Kết thúc bằng Ctrl+Shift+Enter, rồi fill xuống.

Thân
công thức bị lỗi không chạy được.
bạn fix lại giúp mình nhé.
thank.
 
công thức bị lỗi không chạy được.
bạn fix lại giúp mình nhé.
thank.
Không chịu download file đính kèm ở bài #10 về mà dùng!?
Lỗi này là do hệ thống của bạn đã thay đổi các ký tự mặc định phân cách số lẻ và đơn vị.

Thân
 
Web KT

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

Back
Top Bottom