按组计数值

我有一张桌子,学生的ID分组。 我需要一个方便的方法来计算每个组中的学生总数,并在每组最后一行之后填充(标有??

在这里输入图像描述

目前我只需input=COUNT() ,然后手动找出每个组的范围的顶部和底部边界。 根本不方便。

我在想,一个可能的解决scheme可能是下列之一:

  1. 一种数据透视表排列。 我在这个失败了。
  2. Excel数据 – >大纲 – >小计function。 再次失败。 它不断在我的表中创build新的行。
  3. 一个普遍的公式 ,可以粘贴到每个?? 细胞。 不是最优雅的解决scheme,但仍然会这样做。
  4. 一个macros 。 作为最后的补救措施,如果没有别的作品。

以下步骤将计算小计,同时保留工作表的结构和格式。

  1. 将此公式放在单元格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)) 
  2. 使用公式rule =(MOD(ROW(C1),2)= 0)对单元格C1应用条件格式,并使用蓝色填充以匹配其他行上的阴影。 使用select性粘贴特殊格式在列中复制格式。

  3. 要么隐藏列B,要么使用select性粘贴特殊值将列C中的值复制到列B,并隐藏列C.如果决定将值复制到列B,则不需要设置条件格式。

这是公式的作用:

  • 首先,使用SEARCHfunction,通过在行的A列中search单词“Total”来检查公式的行是否为Total行。

    如果find“总计”一词:

    确定工作表中该组合的学生ID的范围:

    a)通过使用MATCHfunction识别find单词“GroupX”和“GroupX Total”的行。 有了这个,你就知道这个组的ID在一个范围内,例如,从第x行开始,到第y行结束。

    b)使用起始和结束行号,构造ID所在的地址范围,该范围必须是string“B”+(行x)+“。”。 +“B”+(行y)。

    c)将string转换为实际可以在INDIRECT函数中使用的范围参考。

    使用COUNTA函数和范围来计算组中的学生人数,并将其显示为公式的结果。

    如果没有find“Total”一词

    检查B列中的单元格是否为空

    a)如果是空的,则显示空白作为公式的结果

    b)如果不是空的,则必须是学生证,因此请将ID显示为公式的结果。

添加一列(我通常将它添加到现有matrix的左边),从第2行开始input填充旧列A中的空白的公式。然后,包含您的新列的旧matrix可用于数据透视表。

  1. 因此,在matrix左侧插入一列,现在是A列。 在单元格A1中放置一个标题,例如“Group Name1”

  2. 在单元格B2中input以下公式,并将其扩展到最后: =IF(B2="",A1,B2)这样您的空白将被填充。

  3. 现在在这个matrix上应用一个数据透视表,在那里。

也许不是最好看的解决scheme,但它的快速和运作良好。

如果你有这样的桌子

学生编号学生组名称……..

那么你可以使用countif / countifs公式