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

  • Thread starter choemhoi
  • Ngày gửi
C

choemhoi

Guest
7/12/16
2
0
1
36
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,
 
Khóa học Quản trị dòng tiền
tamnt07

tamnt07

Sống đơn giản, lấy nụ cười làm căn bản!
21/3/07
5,632
623
113
The Capital
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!
 
N

nguoiconxunui

Khách vãng lai
29/6/04
1,280
215
63
Bình Định
aso2pc.co.cc
thinhvd

thinhvd

Cao cấp
25/11/09
1,336
234
63
Hà Nội
bluesofts.net
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
 
  • Like
Reactions: nguoiconxunui

Xem nhiều

Webketoan Zalo OA