如何在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每个数组,计算您的平均值,并将它们写回到一些不错的结果表。