在excel vba中平均每日变化列

时间:2012-06-20 16:17:04

标签: excel vbscript

每天我都要分析两个数字。

  1. Cols每天都不同。
  2. Col 1从1到5没有。例如。第1天有150 x 1和200 x 2等。第2天,350 x 1和85 x 2等。
  3. Col 2的值介于1和99之间。
  4. 我需要计算有多少1来获得1的平均值,2的平均值等等。到目前为止,我已经尝试编写了一个vb程序(excel 2010) - 我写了以下内容:

    Function Phil2()
    ct = 0
    For X = 2 To 10
    If ax = 1 Then Let b15 = b15 + bx
    ct = ct + 1
    Next
    End Function.
    

    但我无法展示它。谁能帮我? 我想要单元格b15中1的平均值。

2 个答案:

答案 0 :(得分:0)

有关单元格E1中的内容,请参阅公式栏。如果您没有XL2007或更高版本,公式将变为:

=IF(ISERROR(SUMIF($A$1:$B$10,D1,$B$1:$B$10)/COUNTIF($A$1:$B$10,D1)),"",SUMIF($A$1:$B$10,D1,$B$1:$B$10)/COUNTIF($A$1:$B$10,D1))

您还可以使用Dynamic Named Ranges为您的ID(1,2,3 ..)和数据(%)设置更加“自动化”,每天都会更改。

enter image description here

答案 1 :(得分:0)

好的,它运作正常 - 我将你的公式修改为:

=IFERROR(AVERAGEIFS(B$16:B$500,$A$16:$A$500,$A2,B$16:B$500,">0"),"")

它适用于值1和2。所以这是一个很好的开始。我把配方奶粉放在上面:所以在a1中我输入了牛奶,在b1%牛奶中,在c1%重量等等。在a2中我输入了1,a3 2,a4 3等。在b2你的配方等。我的下一个挑战是将所有牛类型3到11混在一起。因此,在牛类型1旁边,我们每个类别都有一个%,对于牛类型2等等。但是第三行必须具有所有类别的平均值3 +。原始数据牛类型在10以下,在b10,c10等中为val。