如何计算一个值的数量?

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

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

在这里输入图像说明

使用以下代码在模块中创build一个用户定义的函数 :

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 

这就是你需要的所有代码。 现在在工作表中把这个公式放在单元格I5 ,即结果表格的左上angular的单元格中:

 =Distance($A$1:$F$11, $H5, I$4) 

根据左侧源表中有多less行,您可能需要将该公式中的11调整为更大的数字,以便在那里引用整个表格。

然后将此公式复制到输出表的其余部分:水平拖动/复制,然后select该行,然后向下拖动/向下复制。

这个表格也会填充很多零。 为了摆脱这些,使用单元格格式 。 使用此自定义格式:

 0;-0; 

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

在这里输入图像说明

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

请注意,如果需要,可以使用其他名称命名函数,但要确保在表单中的公式中进行相同的更改。