根据层次结构计算预期计数

问题描述 投票:0回答:1

我正在处理层次结构 Excel 工作表,我需要一些帮助。 A-F 列中描绘了组织层次结构。我需要一个为“预期计数”列提供值的函数。

这里我手动填写了我想要在 H 列中获取的值:

样本表

我总结一下逻辑,H 列中的数字是如何计算的:

现在让我们看看每行中的最后一个组织部门:

  1. 如果该给定单元格在右侧的单元格中没有值(实际上该组织单位没有下属单位),则“预期人数”=“团队人数”-1。 [例如。 C4 在右侧的单元格中没有值(D5 为空),这实际上意味着“组织 1 的子组织 A”。无下属单位。 H4 = G4-1 = 8

  2. 如果给定的单元格在右侧的单元格中具有值(实际上该单位有一个或多个下属单位),则“预期数量”=“团队人数”-1 + 不同下属单位的数量 x 2 [例如。 C5 在右侧的单元格中有 4 个不同的值)这实际上意味着“组织 1 的子组织 B”。有4个不同的下属单位。 H5 = G5-1+4x2= 16

  3. 如果 G 列中的值为 0,则“预期计数”= 不同下属单元的数量 x 2 [例如H2 = 1x2 =2]

该功能也必须在较低级别上工作。它只是层次结构的一个示例。会有数千个单位,可能有 8 个级别。

excel excel-formula hierarchy
1个回答
0
投票

使用提供的逻辑时,我得到的结果与您在图像中发布的结果不同,但遵循您的逻辑:

=G2+(G2=0)-1+2*COUNTA(A2:F2)*(COUNTA(A2:F2)<COUNTA(A3:F3))

或溢出(Office 365):

=LET(data,A2:G17,
     lvl,DROP(data,,-1),
     col,SEQUENCE(COLUMNS(lvl),,,0),
     headc,TAKE(data,,-1),
     curr,BYROW(--(lvl>""),SUM),
headc+(headc=0)-1+2*curr*(IFERROR(curr<DROP(curr,1),0)))

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.