我有一张表,其中学生ID分组。我需要一种方便的方法来计算每组中的学生总数,并在每组的最后一行之后填充(标有??
)
目前我只需输入=COUNT()
,然后手动找出每个组范围的顶部和底部边框。根本不方便。
我在想可能的解决方案可能是以下之一:
??
单元格中的通用公式。不是最优雅的解决方案,但仍然会这样做。答案 0 :(得分:3)
以下步骤将计算小计,同时保留工作表的结构和格式。
将此公式放入单元格C1并将公式复制到列中:
=IF(NOT(ISERROR(SEARCH("Total",A1))),COUNTA(INDIRECT("B"&MATCH(LEFT(A1,LEN(A1)-7),A:A,0)+1&".B"&(MATCH(A1,A:A,0)+1))),IF(B1="","",B1))
使用公式rule =(MOD(ROW(C1),2)= 0)将条件格式应用于单元格C1,并使用蓝色填充以匹配其他行上的阴影。使用“选择性粘贴格式”将格式复制到列中。
隐藏列B,或使用“粘贴特殊值”将列C中的值复制到列B并隐藏列C.如果决定将值复制到列B,则无需设置条件格式。
这是公式的作用:
首先,使用SEARCH函数,通过在行的A列中搜索单词“Total”的单元格来检查公式的行是否为Total行。
如果找到“总计”一词:
确定工作表中该总计行的学生ID范围:
a)使用MATCH函数识别找到“GroupX”和“GroupX Total”字样的行。有了这个,你知道组的ID在一个范围内,例如,从行x开始,到第y行结束。
b)使用起始行号和结束行号,构造ID所在的地址范围,其中必须是字符串“B”+(行x)+“”。 +“B”+(行y)。
c)将字符串转换为可使用INDIRECT函数在公式中实际使用的范围引用。
使用COUNTA函数和范围计算组中的学生数,并将其显示为公式的结果。
如果找不到“总计”一词
检查B列中的单元格是否为空
a)如果为空,则显示空白作为公式的结果
b)如果它不为空,则必须是学生ID,因此请将ID显示为公式的结果。
答案 1 :(得分:2)
添加一列(我通常将其添加到现有矩阵的左侧),在此处输入从第2行开始填充旧A列中空白的公式。然后,包含新列的旧矩阵可用于支点。
因此,在矩阵左侧插入一列,现在是A列。在单元格A1中放置标题,例如“Group Name1”
在单元格B2中输入以下公式并将其扩展到结尾:
=IF(B2="",A1,B2)
这样你的空白就会被填满。
现在在这个矩阵上应用一个支点,你就可以了。
也许不是最好看的解决方案,但速度快,效果很好。
答案 2 :(得分:0)
如果你有这样的表
学生ID学生组名称........
然后你可以使用countif / countifs公式