检查多个列的值,然后对它们执行操作

时间:2013-06-21 16:59:03

标签: vba excel-vba excel-2007 excel

我有一个excel表,其值在E10:1610范围内,如果单元格J5等于“是”,我想使用vba检查列的整个范围是否高于10.将所有这些值一起添加并查找占总数的5%。 这里有一个棘手的部分...如果一个值大于20,那么我们将把这个值计算为20.所以如果我遇到一个像21或35这样的值,我会将该值等于20。所以例如如果我找到,11,13,17,29,23,我将计算11 + 13 + 17 + 20 + 20的5%。 任何帮助将不胜感激......

1 个答案:

答案 0 :(得分:1)

不需要VBA

=IF(J5="Yes",SUMPRODUCT((E10:E1610>=10)*(E10:E1610<20),E10:E1610)*0.05+(COUNTIF(E10:E1610,">=20")),"")

它做的是检查&gt; = 10和&lt; 20,然后求和x.05。它还计算20或更多的条目,并将其添加到总数中。由于20%的5%是1,计数就完成了工作。