我正在尝试创建一个SUMIFS,它具有智能检查数据范围内的“子”行,然后使用“父”ID号(列在子行中)检查父项数据和总和。我在下面插入了一张表格的图片,其中提供了一个虚拟数据集。这种公式的理想结果是:
第1阶段父母的孩子:$ 0
第2阶段父母的孩子:80美元
第3阶段父母的孩子:$ 10
提前感谢您的帮助!
或作为文字:
ID Type Parent ID Phase Finances
1 Single 1 $10
2 Parent 2 $10
3 Child 2 $10
4 Single 3 $10
5 Parent 3 $10
6 Child 5 $10
7 Single 1 $10
8 Parent 2 $10
9 Child 8 $10
10 Child 8 $10
11 Child 8 $10
12 Child 8 $10
13 Child 8 $10
14 Child 8 $10
15 Child 8 $10
答案 0 :(得分:1)
假设你的桌子在A1到E16。
生成辅助列,填充空白阶段。假设它们与父ID具有相同的相位,则填充空白阶段。因此在F1中将以下公式复制到F16:
=IF(D2<>"",D2,VLOOKUP(C2,$A$2:$D$16,4,0))
现在我们可以使用sumproduct并且只使用子项和阶段2的总数。在H1到J3中,我构建了我正在寻找的汇总表。在H1到J1我使用了标题,在H2到I 4我定义了我要搜索的内容。在J2到J4中,我使用了一个公式来确定财务状况如下:
Type | Phase | Finance
Child | 1 | =SUMPRODUCT(($B$2:$B$16=H2)*($F$2:$F$16=I2)*$E$2:$E$16)
Child | 2 | =SUMPRODUCT(($B$2:$B$16=H3)*($F$2:$F$16=I3)*$E$2:$E$16)
Child | 3 | =SUMPRODUCT(($B$2:$B$16=H4)*($F$2:$F$16=I4)*$E$2:$E$16)
sumproduct只汇总表中有CHILD的行(如H列中所定义)和阶段等于I中定义的数字,并且只汇总财务列中对应的值。如果B中不存在任一子节点或者F中的相位不等于正在搜索的数字,那么该行的值为0。
概念证明
答案 1 :(得分:1)