Tính hàm Count Max trên một dãy các vùng.

Liên hệ QC

nhantai07

Thành viên mới
Tham gia
14/12/14
Bài viết
6
Được thích
0
1629433635011.png
Nhờ anh /chị / em trong diến đàn giúp đỡ !
Có bài toán như bên dưới :
Yêu cầu hình thức Counta theo từng khoảng khi xuất hiện ô trống . Kết quả cuối cùng muốn lấy là Max của các dãy trên range từ A2 đến BJ .
Kết quả ví dụ như hình là 17 .
Mình chỉ ví dụ 1 hàng và trên thực tế thì cần xử lý cho một bảng dữ liệu .
Nhờ anh em viết hàm VBA hoặc code giúp !
Rất mong sự giúp đỡ của anh em .
Thanks !
 

File đính kèm

  • Max Counta.xlsx
    350.5 KB · Đọc: 15
Lần chỉnh sửa cuối:
View attachment 264411
Yêu cầu hình thức Counta theo từng khoảng khi xuất hiện ô trống . Kết quả cuối cùng muốn lấy là Max của các dãy trên range từ A2 đến BJ .
Kết quả ví dụ như hình là 17 .
Nhờ anh em hổ trợ viết hàm tự tạo hoặc code đếm giúp !
Tất mong sự giúp đỡ của anh em .
Thanks !
Tôi thấy từ cột S đến cột AJ là 18 sao bạn lại cho ra 17 vậy? Nếu nói 4 không được cộng vào chỉ cộng 8 thì sao cột G đến Q có 4 nhưng vẫn ra 11?
 
Upvote 0
View attachment 264411
Yêu cầu hình thức Counta theo từng khoảng khi xuất hiện ô trống . Kết quả cuối cùng muốn lấy là Max của các dãy trên range từ A2 đến BJ .
Kết quả ví dụ như hình là 17 .
Nhờ anh em hổ trợ viết hàm tự tạo hoặc code đếm giúp !
Tất mong sự giúp đỡ của anh em .
Thanks !
Thử cái này.Sao kết quả nó ra 18 nhỉ.
Mã:
Function giatri(ByVal mang As Range) As Long
      Dim t As Range, tong As Long, max As Long
      For Each t In mang
          If Len(t) > 0 Then
             tong = tong + 1
          Else
             If tong > max Then max = tong: tong = 0
          End If
      Next
          If tong > max Then max = tong
          giatri = max
End Function
Mã:
=giatri(A2:AJ2)
 
Upvote 0
Tôi thấy từ cột S đến cột AJ là 18 sao bạn lại cho ra 17 vậy? Nếu nói 4 không được cộng vào chỉ cộng 8 thì sao cột G đến Q có 4 nhưng vẫn ra 11?
Đếm chứ không phải cộng bạn
Bài đã được tự động gộp:

Thử cái này.Sao kết quả nó ra 18 nhỉ.
Mã:
Function giatri(ByVal mang As Range) As Long
      Dim t As Range, tong As Long, max As Long
      For Each t In mang
          If Len(t) > 0 Then
             tong = tong + 1
          Else
             If tong > max Then max = tong: tong = 0
          End If
      Next
          If tong > max Then max = tong
          giatri = max
End Function
Mã:
=giatri(A2:AJ2)
Cảm ơn bạn nhiều !
 
Upvote 0
Đếm chứ không phải cộng bạn
Bài đã được tự động gộp:


Cảm ơn bạn nhiều !
Bạn đếm thế nào ra 17 vậy?

P/s: Tôi đã sửa tiêu đề lại cho sát với yêu cầu của bạn, sao bạn cứ sửa nó thành không cụ thể rõ ràng vậy? Tôi sửa lại lần cuối, bạn mà cố tình sửa theo kiểu không rõ ràng, cố tình vi phạm nội quy nữa tôi sẽ có biện pháp với bạn đấy nhé!
 
Lần chỉnh sửa cuối:
Upvote 0
View attachment 264411
Nhờ anh /chị / em trong diến đàn giúp đỡ !
Có bài toán như bên dưới :
Yêu cầu hình thức Counta theo từng khoảng khi xuất hiện ô trống . Kết quả cuối cùng muốn lấy là Max của các dãy trên range từ A2 đến BJ .
Kết quả ví dụ như hình là 17 .
Mình chỉ ví dụ 1 hàng và trên thực tế thì cần xử lý cho một bảng dữ liệu .
Nhờ anh em viết hàm VBA hoặc code giúp !
Rất mong sự giúp đỡ của anh em .
Thanks !
Bạn thử hàm UDF này xem sao.
Mã:
Function MaxCounta(Rng As Range)
Dim i&, j&, t&, Arr(), S()
Arr = Rng.Value
ReDim S(1 To UBound(Arr, 2), 1 To 1)
For i = 1 To UBound(Arr, 2)
    If Arr(1, i) <> Empty Then
        t = t + 1
         j = j + 1
          S(j, 1) = t
    End If
        If Arr(1, i) = Empty Then t = 0
Next i
  MaxCounta = Application.Max(S)
End Function
 
Upvote 0
Bạn thử hàm UDF này xem sao.
Mã:
Function MaxCounta(Rng As Range)
Dim i&, j&, t&, Arr(), S()
Arr = Rng.Value
ReDim S(1 To UBound(Arr, 2), 1 To 1)
For i = 1 To UBound(Arr, 2)
    If Arr(1, i) <> Empty Then
        t = t + 1
         j = j + 1
          S(j, 1) = t
    End If
        If Arr(1, i) = Empty Then t = 0
Next i
  MaxCounta = Application.Max(S)
End Function
Cảm ơn bạn rất nhiều . Hàm này cho kết quả chính xác .
Bài đã được tự động gộp:

Bạn đếm thế nào ra 17 vậy?

P/s: Tôi đã sửa tiêu đề lại cho sát với yêu cầu của bạn, sao bạn cứ sửa nó thành không cụ thể rõ ràng vậy? Tôi sửa lại lần cuối, bạn mà cố tình sửa theo kiểu không rõ ràng, cố tình vi phạm nội quy nữa tôi sẽ có biện pháp với bạn đấy nhé!
Mình hơi lập nhập , mong bạn thông cảm !
Sẽ chú ý lần sau .
 
Upvote 0
Web KT

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

Back
Top Bottom