【问题标题】:How to count the number of a value?如何计算一个值的个数?
【发布时间】:2016-10-14 22:39:24
【问题描述】:

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

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

【问题讨论】:

    标签: excel excel-udf vba


    【解决方案1】:

    使用以下代码创建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
    

    这就是您需要的所有代码。现在在工作表中将此公式放入单元格I5,即结果表的左上角单元格:

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

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

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

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

    0;-0;
    

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多