Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.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
Excel 具有条件的多张图纸的平均值_Excel_Vba - Fatal编程技术网

Excel 具有条件的多张图纸的平均值

Excel 具有条件的多张图纸的平均值,excel,vba,Excel,Vba,我的Excel工作簿有几页。每张图纸的B1单元中都有一个产品名称 此外,每张纸的B4至B100单元格中都有大量的数字 我想得到所有表的平均值。以下是我到目前为止的情况: =AVERAGE(Sheet1:Sheet20!B4:B100) 现在这很好,但是,我现在还想有一个额外的条件:不是得到所有表的平均值,我只想得到满足某个产品名称(单元格B1)的表的平均值。如果产品名称与指定名称不同,则不应将整张表作为平均值 有什么简单的方法可以做到这一点吗?如果B1包含Apfel,则执行平均值: Sub A

我的Excel工作簿有几页。每张图纸的B1单元中都有一个产品名称

此外,每张纸的B4至B100单元格中都有大量的数字

我想得到所有表的平均值。以下是我到目前为止的情况:

=AVERAGE(Sheet1:Sheet20!B4:B100)
现在这很好,但是,我现在还想有一个额外的条件:不是得到所有表的平均值,我只想得到满足某个产品名称(单元格B1)的表的平均值。如果产品名称与指定名称不同,则不应将整张表作为平均值


有什么简单的方法可以做到这一点吗?

如果B1包含Apfel,则执行平均值:

Sub AboveAverage()
    Dim zum As Double, kount As Long
    Dim i As Long, r As Range, tAv As Double
    zum = 0
    kount = 0
    For i = 1 To 20
        With Sheets("Sheet" & i)
        If .Range("B1") = "Apfel" Then
            For j = 4 To 10000
                v = .Cells(j, "B").Value
                If v <> "" Then
                    zum = zum + v
                    kount = kount + 1
                End If
            Next j
        End If
        End With
    Next i
    tAv = zum / kount
    MsgBox tAv
End Sub
Sub-overaverage()
暗祖姆双倍,孔长
尺寸i为长,r为射程,tAv为双
zum=0
kount=0
对于i=1到20
带图纸(“图纸”和i)
如果.Range(“B1”)=“Apfel”,则
对于j=4到10000
v=单元格(j,“B”).值
如果v“那么
zum=zum+v
kount=kount+1
如果结束
下一个j
如果结束
以
接下来我
tAv=zum/kount
MsgBox tAv
端接头

在任何一张表的单元格(B4到B100)中是否有空白?实际上,我将其设置为B4到B10000,因为我不知道有多少(但肯定不会超过10000)。所以最后一个值后面有空格,但中间没有空格,这是可行的,但是它是非常硬编码的,除了平均值,我还需要四分位数、中位数、最小值、最大值和其他统计运算。也许有一种方法可以先选择正确的纸张,然后执行操作?那将是一个更容易的好主意。。。。。我将寻找一种方法,将所有相关数据提取到它自己的领域,然后从该领域得出统计数据。