Cho em hỏi cách tính số lần lặp lại giá trị liên tiếp nhiều nhất trên 1 hàng

choemhoi

Sơ cấp
Em có 1 bảng excel, giá trị của các cột chỉ là 0 hoặc 1, mỗi ngày sẽ thêm 1 cột

2016-12-07_0-07-50.jpg

Giờ em muốn lấy giá trị lớn nhất của chuỗi các số 1 đừng liên tiếp nhau (ví dụ như hình ở trên giá trị lớn nhất là có 8 số 1 đừng liên tiếp nhau) và đếm chuỗi các số 1 hiện tại sau số 0 gần nhất (Ví dụ như hình trên sau số 0 gần nhất là 3 số 1) thì phải làm thế nào ạ

Em xin cảm ơn,
 
Em có 1 bảng excel, giá trị của các cột chỉ là 0 hoặc 1, mỗi ngày sẽ thêm 1 cột

View attachment 18081

Giờ em muốn lấy giá trị lớn nhất của chuỗi các số 1 đừng liên tiếp nhau (ví dụ như hình ở trên giá trị lớn nhất là có 8 số 1 đừng liên tiếp nhau) và đếm chuỗi các số 1 hiện tại sau số 0 gần nhất (Ví dụ như hình trên sau số 0 gần nhất là 3 số 1) thì phải làm thế nào ạ

Em xin cảm ơn,

Bạn sử dụng hàm countifs xem sao!
 
Em có 1 bảng excel, giá trị của các cột chỉ là 0 hoặc 1, mỗi ngày sẽ thêm 1 cột

View attachment 18081

Giờ em muốn lấy giá trị lớn nhất của chuỗi các số 1 đừng liên tiếp nhau (ví dụ như hình ở trên giá trị lớn nhất là có 8 số 1 đừng liên tiếp nhau) và đếm chuỗi các số 1 hiện tại sau số 0 gần nhất (Ví dụ như hình trên sau số 0 gần nhất là 3 số 1) thì phải làm thế nào ạ

Em xin cảm ơn,
Tặng bạn đoạn Code VBA trong Excel xử lý được bài toán của bạn.
PHP:
Sub SumRngSeries()
    Dim Rng As Range, cl As Range
    Dim a() As String
    Set Rng = Selection
    Dim d As Long, i As Long, j As Long, SumMax As Long
    For Each cl In Rng
        If cl.Value = 0 Then
            d = d + 1
            ReDim Preserve a(d)
            a(d) = cl.Address
        End If
    Next cl
    For i = 1 To d
        For j = i + 1 To d
            If SumMax < Application.WorksheetFunction.Sum(Rng.Range(Rng.Range(a(i)), Rng.Range(a(j)))) Then
                SumMax = Application.WorksheetFunction.Sum(Rng.Range(Rng.Range(a(i)), Rng.Range(a(j))))
            End If
            Exit For
        Next j
    Next i
    MsgBox SumMax
End Sub
 
Back
Top