计算组中的值

时间:2012-12-21 22:53:04

标签: excel excel-formula

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

enter image description here

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

我在想可能的解决方案可能是以下之一:

  1. 某种数据透视表排列。我失败了。
  2. Excel 数据 - >大纲 - >小计功能。再次,失败。它不断在我的表中创建新行。
  3. 可以粘贴到每个??单元格中的通用公式。不是最优雅的解决方案,但仍然会这样做。
  4. 。如果没有别的办法可以作为最后的补救措施。

3 个答案:

答案 0 :(得分:3)

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

  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,并使用蓝色填充以匹配其他行上的阴影。使用“选择性粘贴格式”将格式复制到列中。

  3. 隐藏列B,或使用“粘贴特殊值”将列C中的值复制到列B并隐藏列C.如果决定将值复制到列B,则无需设置条件格式。

  4. 这是公式的作用:

    • 首先,使用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列中空白的公式。然后,包含新列的旧矩阵可用于支点。

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

  2. 在单元格B2中输入以下公式并将其扩展到结尾: =IF(B2="",A1,B2)这样你的空白就会被填满。

  3. 现在在这个矩阵上应用一个支点,你就可以了。

  4. 也许不是最好看的解决方案,但速度快,效果很好。

答案 2 :(得分:0)

如果你有这样的表

学生ID学生组名称........

然后你可以使用countif / countifs公式

相关问题