Tìm đoạn 0 lớn nhất (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

nockout159

Thành viên mới
Tham gia
16/2/12
Bài viết
43
Được thích
0
Chào các thầy ạ
Em có 1 dòng dữ liệu chỉ gồm số 0 và 1(file đính kèm), bây giờ muốn tìm đoạn = 0 lớn nhất thì làm thế nào ạ
yêu cầu: chỉ cần hiển thị giá trị max đó thôi ạ
Em xin cảm ơn ạ!
 

File đính kèm

Chào các thầy ạ
Em có 1 dòng dữ liệu chỉ gồm số 0 và 1(file đính kèm), bây giờ muốn tìm đoạn = 0 lớn nhất thì làm thế nào ạ
yêu cầu: chỉ cần hiển thị giá trị max đó thôi ạ
Em xin cảm ơn ạ!
Bạn dùng công thức mảng này:
Mã:
=MAX(FREQUENCY(COLUMN(A1:DP1)+0.5,IF(A1:DP1=0,"",COLUMN(A1:DP1))))-1
 
Bạn có thể sử dụng hàm tự tạo sau

PHP:
Function Count0Cells(Rng As Range, Optional Dem As Boolean = True)
 Dim Cls As Range, mRng As Range, Max_ As Long, Tmp As Long
  
 For Each Cls In Rng
    If Cls.Value = 0 Then
        Tmp = Tmp + 1
    Else
        If Tmp > Max_ Then
            Max_ = Tmp:                     Set mRng = Cls
        End If
        Tmp = 0
    End If
 Next Cls
 If Dem Then
    Count0Cells = Max_
 Else
    Count0Cells = mRng.Offset(, -Max_).Address
 End If
End Function

Cú fáp xài nó sẽ là: =Count0Cells(A4:DP4)

(Bạn có thể cho nó thể hiện ô đầu tiên của vùng chứa nhiếu trị 0 nhất bằng cú fáp =Count0Cells(A4:DP4, FALSE) )
 
Chỉnh sửa lần cuối bởi điều hành viên:
Bạn dùng công thức mảng này:
Mã:
=MAX(FREQUENCY(COLUMN(A1:DP1)+0.5,IF(A1:DP1=0,"",COLUMN(A1:DP1))))-1
Tôi cũng không ít lần dùng hàm FREQUENCY, vậy mà vẫn chưa thấu hiểu sự huyền diệu của nó
Phen này lại phải... lên núi học tiếp thôi
Ẹc... Ẹc...
 
Tôi cũng không ít lần dùng hàm FREQUENCY, vậy mà vẫn chưa thấu hiểu sự huyền diệu của nó
Phen này lại phải... lên núi học tiếp thôi
Ẹc... Ẹc...
Em không có khiếu trong mấy vụ giải thích nhưng hiểu tới đâu thì nói tới đó vậy:

Hàm FREQUENCY() có 2 tham số truyền vào là Data_Array và Bins_Array là 2 mảng.
Khi xét các giá trị của 2 mảng truyền vào, hàm bỏ qua các phần tử là chuỗi và rỗng.
Kết quả là mảng 1 chiều có số phần tử lớn hơn số phần tử của mảng Bins_Array 1 phần tử.
Giá trị của phần tử thứ n trong mảng kết quả là số phần tử trong mảng Data_Array thỏa mãng các điều kiện sau:
1. Nhỏ hơn hoặc bằng phần tử thứ n trong mảng Bins_Array (nếu n là phần tử cuối cùng trong mảng Bins_Array thì không có điều kiện này)
2. Lớn hơn tất cả các phần tử nhỏ hơn phần tử n trong mảng Bins_Array
Các mảng Data_Array và Bins_Array không cần phải sắp xếp theo thứ tự và có thể là mảng 2 chiều. Nếu Bins_Array là mảng 2 chiều thì thứ tự sắp xếp trong mảng kết quả sẽ ưu tiên tính theo hàng trước.

Xin lỗi mọi người, công thức trên cần sửa lại như thế này mới đúng:
Mã:
=MAX(FREQUENCY(IF(A1:DP1=0,COLUMN(A1:DP1),""),IF(A1:DP1=0,"",COLUMN(A1:DP1))))
Vẫn là công thức mảng.
 
Lần chỉnh sửa cuối:
Xin lỗi mọi người, công thức trên cần sửa lại như thế này mới đúng:
Mã:
=MAX(FREQUENCY(IF(A1:DP1=0,COLUMN(A1:DP1),""),IF(A1:DP1=0,"",COLUMN(A1:DP1))))
Vẫn là công thức mảng.
Cái này thì hiểu!
Hèn nào công thức đầu tiên tôi nghĩ mãi vẫn không "thấu" (dù rằng kết quả vẫn chính xác)
 
Sr mọi người, em là mem mới, em không biết tạo topic mới như thế nào nên mạo muội post vào topic này mong mọi người thông cảm!
Chuyện là vầy: em có 2 file excel dung lượng quá lớn mặc dù nội dung đa số là chữ, chỉ có một vài hình và công thức cũng rất ít.
Link của 2 file đó đây ạ http://www.mediafire.com/?ou3g8ugbp1hcr9c & http://www.mediafire.com/?n81dgcfoaliyw3c
Các pro xem giúp em koi có thể làm giảm bớt dung luợng không, hay là đã bị nhiểm virus gì chăng.
 

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

Back
Top Bottom