如何聚合数据';按'分组;它的父对象,并将其用于Excel中的进一步计算(标准化)?

如何聚合数据';按'分组;它的父对象,并将其用于Excel中的进一步计算(标准化)?,excel,group-by,normalization,Excel,Group By,Normalization,我在Excel工作簿中有一些数据。该数据是分层的,即工作表中的数据之间存在父子关系。以下是它在特定工作表中的外观:(右侧有其他行(在其上方)和列,但对于此问题并不重要) |家长|项目|分数| |P1 | I1 | 3| |P2 | I2 | 1| |P1 | I3 | 6| |P3 | I4 | 1.5| |P4 | I5 | 4| 我们需要有一个属于特定父项的所有项目的总和,即按父项合计,以获得每个父项的“项目总和”。(根工作表没有任何父工作表(即空白列),但各工作表的结构相同)。需要在0-1

我在Excel工作簿中有一些数据。该数据是分层的,即工作表中的数据之间存在父子关系。以下是它在特定工作表中的外观:(右侧有其他行(在其上方)和列,但对于此问题并不重要)

|家长|项目|分数| |P1 | I1 | 3| |P2 | I2 | 1| |P1 | I3 | 6| |P3 | I4 | 1.5| |P4 | I5 | 4| 我们需要有一个属于特定父项的所有项目的总和,即按父项合计,以获得每个父项的“项目总和”。(根工作表没有任何父工作表(即空白列),但各工作表的结构相同)。需要在0-1的范围内“标准化”父母子女的分数(编辑:,即子女的分数总和必须为1)

我一直在使用pivot表,我发现可以按父级聚合数据。但我不确定如何使用这些数据来规范项目分数。更重要的是,excel工作表中的数据非常动态,根据我对pivot表的最低经验,数据似乎没有自动刷新

更重要的是,每个“子级工作表”都是从当前级别的工作表(使用宏)生成的。因此,我们需要一种能够按家长汇总分数的方法,以便在复制时可以轻松地将其传播到下一个工作表(即使是手动完成)


我正处在一个能够在Excel中执行“分组方式”(来自SQL)的边缘。有什么想法吗?

如果需要找到与给定条件匹配的所有值之和,请使用SUMIF函数。我假设“家长”在A列中,“项目”在B列中,而“分数”在C列中。在D2中,您必须输入以下公式:=SUMIF(A:A;A2;C:C),并将其复制下来


然而,如果你想将分数放在0到1的范围内,你不需要知道父母子女分数的总和:你只需要知道父母子女的最大分数。由于MAXIF函数不存在,我们将使用一个数组函数组合MAX和IF。在D2中键入此项,然后按Ctrl+Shift+Enter:=MAX(如果(A:A=A2;C:C)。应该添加括号以显示它是一个数组公式:{=MAX(如果(A:A=A2;C:C)}.现在,您需要将孩子的分数除以其组的最大分数。

我不能使用您提到的标准化,因为这将为我提供一个从0-1开始的基于线性插值“范围”的排名,而不是总体百分比贡献,例如[1,5,9]-使用您的公式得到[0.111,0.556,1]它们的总和不是1,我也不能确定“1”或“5”对总总和的贡献有多大。我需要的是[0.0667,0.333,0.6]:总和=1(可以通过除以总和得到)。好的。你应该使用我当时提到的SUMIF公式。老实说,我甚至没有想到它!谢谢:) | Parent | Item | Score | | P1 | I1 | 3 | | P2 | I2 | 1 | | P1 | I3 | 6 | | P3 | I4 | 1.5 | | P4 | I5 | 4 |