Đếm số âm liên tiếp (Microsoft Excel)
Lori có một chuỗi số, trong các ô liền kề, có thể là số dương hoặc số âm. Cô ấy muốn một cách để xác định dãy số âm lớn nhất trong dãy. Vì vậy, nếu có bảy số âm liên tiếp trong dãy số này, cô ấy sẽ muốn một công thức trả về giá trị 7.
Chúng tôi đã xem xét cao và thấp và không thể tìm thấy một công thức duy nhất sẽ làm được những gì mong muốn. Tuy nhiên, bạn có thể làm điều đó với một cột trung gian. Ví dụ: nếu bạn có các số của mình trong cột A (bắt đầu bằng A1), thì bạn có thể đặt công thức sau vào ô B1:
=IF(A1<0,1,0)
Sau đó, trong ô B2 nhập như sau:
=IF(A2<0,B1+1,0)
Sao chép điều này xuống tất cả các ô khác trong cột B có giá trị trong cột A. Sau đó, trong một ô khác (có lẽ là ô C1), bạn có thể đặt công thức sau:
=MAX(B:B)
Giá trị này sẽ đại diện cho số lượng lớn nhất các giá trị âm liên tiếp trong cột A.
Nếu bạn không muốn tạo một cột trung gian để nhận câu trả lời, bạn có thể tạo một hàm do người dùng xác định sẽ trả về giá trị.
Function MaxNegSequence(rng As Range) ' search for the largest sequence ' of negative numbers in the range Dim c As Range Dim lCounter As Long Dim lMaxCount As Long Application.Volatile lCounter = 0 lMaxCount = 0 On Error Resume Next For Each c In rng.Cells If c.Value < 0 Then lCounter = lCounter + 1 If lCounter > lMaxCount Then lMaxCount = lCounter End If Else lCounter = 0 End If Next c MaxNegSequence = lMaxCount End Function
Để sử dụng hàm, chỉ cần đặt một công thức tương tự như sau trong trang tính của bạn:
= MaxNegSequence(A1:A512)
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (3533) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: