Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 使用标准统计变量范围_Vba_Excel - Fatal编程技术网

Vba 使用标准统计变量范围

Vba 使用标准统计变量范围,vba,excel,Vba,Excel,我需要帮助计算最小,最大,平均使用数据标准。下图显示了两列数据,即时间和速度。我想计算从时间0(单元格2)到单元格14范围内的平均速度。然后,计算从下一个0(单元格15)到单元格20的平均速度,依此类推。显然,同样的公式可以用于计算最小值、最大值和其他统计数据 有没有一种方法可以写出一个聪明的公式,知道如何分别平均每个分段?下图显示了三个部分,但我的原始数据集要大得多:当它找到0时,可以向组中添加一列 使用1初始化单元格,并在下一个单元格中使用=IF(A3=0,C2+1,C2) 然后可以使用公式

我需要帮助计算最小,最大,平均使用数据标准。下图显示了两列数据,即时间和速度。我想计算从时间0(单元格2)到单元格14范围内的平均速度。然后,计算从下一个0(单元格15)到单元格20的平均速度,依此类推。显然,同样的公式可以用于计算最小值、最大值和其他统计数据


有没有一种方法可以写出一个聪明的公式,知道如何分别平均每个分段?下图显示了三个部分,但我的原始数据集要大得多:

当它找到
0
时,可以向组中添加一列

  • 使用
    1
    初始化单元格,并在下一个单元格中使用
    =IF(A3=0,C2+1,C2)
  • 然后可以使用公式,
    AVERAGEIF
    MINIFS
    MAXIFS
    。(仅在Excel v2016中提供)


  • 仅在摘要中使用帮助器列的方法

    您不需要用助手列填充所有数据行,您可以将输入限制在摘要范围内。 此方法使用摘要范围中的
    间接
    函数来匹配数据块中的最后一个单元格(由0标识),并 通过
    小计
    函数计算结果(参数1-平均值,最小值5-最大值4)

  • 使用
    =1初始化单元格E1
  • 然后,只要找到数据块,就可以将以下公式写入第2行E2:H2,并将其向下复制。列E显示每个块中的最后一个单元格,F:H显示平均值、最小值和最大值:

    E2
    =匹配(0,间接($A“&$E1+2&“:$A$10000”),0)+$E1

    F2
    =小计(1,间接(“$B$”和$E1+1&“:$B$”和$E2))

    G2
    =小计(5,间接(“$B$”和$E1+1&“:$B$”和$E2))

    H2
    =小计(4,间接(“$B$”&$E1+1&“:$B$”&$E2))

  • 注意

    a) 最后一行数据中必须有一个结束零(
    0


    b) 本例假设$E列中有帮助项;您可以轻松地将其更改为任何列

    同样的原理也适用于数据透视表,我猜他们在哪里可以在行或列中使用val,以及在数据区域中进行汇总?还有,迷你们。。仅在2016年的更高版本中提供:-(非常感谢您在这方面的帮助。谢谢!为@VirtualVid添加了一种替代方法,减少了辅助单元格的数量(仅限于摘要),演示了
    间接
    功能的使用。可能对其他用户也有帮助:-)
    =AVERAGEIF($C$2:$C$17,E2,$B$2:$B$17)
    =MINIFS($B$2:$B$17,$C$2:$C$17,E2)
    =MAXIFS($B$2:$B$17,$C$2:$C$17,E2)