公式将告诉我每行有多少组 7 个连续的零

公式将告诉我每行有多少组 7 个连续的零

我有一个有 300 行和 50 列的数据库。

单元格中填充的是zerooneblank

我正在寻找一个公式,可以将其代入第 51 列,表示 300 行,这样就可以知道有多少组7 个连续零每行都有。

答案1

考虑以下用户定义函数

Public Function BlockCount(rng As Range) As Long
    Dim ItemCount As Long, r As Range, v As String

    BlockCount = 0
    ItemCount = 0

    For Each r In rng
        v = r.Text
        If v = "0" Then
            ItemCount = ItemCount + 1
            If ItemCount = 7 Then
                ItemCount = 0
                BlockCount = BlockCount + 1
            End If
        Else
            ItemCount = 0
        End If
    Next r

End Function

在此处输入图片描述

用户定义函数 (UDF) 非常容易安装和使用:

  1. ALT-F11 打开 VBE 窗口
  2. ALT-I ALT-M 打开新模块
  3. 粘贴内容并关闭 VBE 窗口

如果您保存工作簿,UDF 将随之保存。如果您使用的是 2003 之后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx

要删除 UDF:

  1. 调出如上所示的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要从 Excel 使用 UDF:

=BlockCount(A1:Z1)

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

有关 UDF 的详细信息,请参阅:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

必须启用宏才能使其工作!

相关内容