如何在Excel中添加第一列相同的列?

如何在Excel中添加第一列相同的列?,excel,group-by,reporting,excel-formula,Excel,Group By,Reporting,Excel Formula,我在Excel中有一个大的报告表,看起来类似于下面的内容。我需要为每个名字加上所有的数字,并平均所有的百分比 Name Number Percent ------------------------- Alan 1 20% Barb 2 20% Corey 3 40% Barb 1 30% Alan 2 20% Daniel 3 80% Alan 1

我在Excel中有一个大的报告表,看起来类似于下面的内容。我需要为每个名字加上所有的数字,并平均所有的百分比

Name    Number    Percent
-------------------------
Alan    1         20%
Barb    2         20%
Corey   3         40%
Barb    1         30%
Alan    2         20%
Daniel  3         80%
Alan    1         10%
我正在寻找:

Name    Number    Percent
-------------------------
Alan    4         17%
Barb    3         25%
Corey   3         40%
Daniel  3         80%

第一页将有原始数据,第二页将有摘要。如何在按另一列(“名称”)分组的同时添加一列(“编号”)?该函数如何更改为以相同方式平均第三列?(不使用VBA)

如果您真的想要对“大”数据集进行简单的求和和和平均,透视表是目前为止最快的解决方案

然而,从样本结果来看,我怀疑您确实想要
百分比
的加权平均值,其中
数字
是权重(尽管一些样本结果看起来很模糊,但我猜这是因为样本结果代表了更大的数据集)。使用数据表中的帮助器列,也可以使用透视表快速完成此操作

  • 在数据表中添加一个名为
    ExtPercent
    的新列,其中计算值为Number*Percent
  • 创建透视表以在源数据中包含新列
  • Name
    放置在行区域中
  • 将计算字段添加到PT中,称为“加权平均百分比” 使用公式
    =ExtPercent/Percent
    ,并将其添加到数据区域
  • 当然,您也可以将
    Number
    的总和添加到数据区域中

您希望只执行一次(即一些手动干预)还是常规(即[Array]公式或VBA)

为了识别重复项,我会在例如D3中使用=countif(A$3:A$9,A3)并向下复制公式。为了排名。如果您只想标识第一个唯一值,可以使用=If(COUNTIF(A3:A$9,A3)>1,“重复”,“唯一”)。我专门从A3中删除了$,因此此公式在向下复制时使用了缩小的查找范围

我会使用SumIf(范围、标准、总和范围)来添加分数。因此在本例中=SumIf(A$3:A$9,A3,B$3:B$9)

如果你想用公式创建这个压缩列表,请看这里。

什么是直接计算?如何得到Alan=43%?哎呀,编辑过了。愚蠢的误算。加权平均值很好。平均百分比几乎毫无意义。