如何统计一个值的个数?

How to count the number of a value?

我正在连续处理 956 个值。我在获取每个值中的行距离时遇到问题,因为它们太多了。有没有办法通过按钮使用 Excel-VBA 来实现这一点?

例如: 这里显示的是计算一行距离的次数。

创建一个 user-defined function in a module,代码如下:

Option Explicit

Public Function Distance(matrix As Range, value As Long, rowCount As Long)
    Dim cell As Range
    Dim lastRow As Long
    Dim result As Long

    lastRow = 1
    For Each cell In matrix
        If cell.value = value Then
            If cell.row - lastRow + 1 = rowCount Then result = result + 1
            lastRow = cell.row
        End If
    Next
    Distance = result
End Function

这就是您需要的全部代码。现在在 Sheet 中将此公式放入单元格 I5,即结果左上角的单元格 table:

=Distance($A:$F, $H5, I)

根据左侧源 table 中的行数,您可能需要将该公式中的 11 调整为更大的数字,因此整个 table在那里被引用。

然后将此公式复制到其余输出 table:水平 drag/copy,然后 select 该行,然后 drag/copy 向下。

table 也会填充很多零。要摆脱这些,请使用 cell formatting。使用此自定义格式:

0;-0;

这是结果(忽略你在公式中看到的分号;这些与我的区域设置有关):

不需要按钮。结果像任何其他标准公式一样更新。

请注意,您可以根据需要使用其他名称命名您的函数,但请确保对 sheet.

中的公式进行相同的更改