如何在Excel中计算复杂条件的平均值

我会尽我所能解释这一点。

我有一个数据表用SQL提取。 我的目标是计算列中某些单元格的平均值。 有一个条件,该单元格所在行包含一个特定的字母,如“B”。

我正在处理build筑许可证,他们都有一个身份证:“12-3456-12-B”。 这封信类似于许可证的types,这就是我想如何划分我的平均数。 在列中,我希望提取的平均值是一个类似于上述许可证修复程度的百分比。

所以我想要的是个别许可types的平均修理程度。

从逻辑angular度来看:“如果当前行中的单元格B包含”-B“

干杯!

如果ID在列B中,列C的%s很简单,那么使用带有"wildcard" Excel中的AVERAGEIF函数是非常简单的,例如

=AVERAGEIF(B:B,"*B",C:C)

该公式对同一行的列B条目以“B”结尾的列C进行平均,

你试过什么了? 任何具体问题?

从我的angular度来看,你基本上有两个select:

1)您使用Excel公式

2)您使用VBA(推荐)

使用选项1可以通过多种方式完成。 最简单的可能是使用每个许可证types的新列,然后在那里使用简单的IF公式来获得值,以防RIGHT(yourCell, 1)是B或C或其他。 然后你做一个COUNTIF来获得该列中的条目数量,这将使你能够计算列值的平均值。

另一种方法是通过VLOOKUP 。 使用这个,你可以build立自己的matrix,然后计算平均值(我更喜欢这个比上面的方法)。

现在选项2(VBA):

这不会膨胀你的实际Excel表,这是一个很大的优点。 获取每个许可证types的数组,并使用简单的循环来parsing工作表中的每一行(包含内容),并将修复程度的值添加到相应的数组中。 一旦完成parsing每个数组,计算您的平均值,并将它们写回到一些不错的结果表。