如何在Excel中创建反向管理层级结构?
用INDEX+MATCH实现Excel反向管理层级对齐
步骤说明
假设你的原始数据在A列(Employee ID)和B列(Supervisor ID),表头在第1行。我们将通过辅助列+核心公式实现反向层级对齐。
1. 准备待处理员工列表
在D列输入需要生成反向层级的Employee ID(例如D2=11111,D3=22222)。
2. 创建向上层级辅助列
在E-H列计算每个员工的各级上级:
- E2(直接上级,1st level up):
=IFERROR(INDEX($B:$B,MATCH(D2,$A:$A,0)),"") - F2(上级的上级,2nd level up):
=IFERROR(INDEX($B:$B,MATCH(E2,$A:$A,0)),"") - G2(3rd level up):
=IFERROR(INDEX($B:$B,MATCH(F2,$A:$A,0)),"") - H2(4th level up):
=IFERROR(INDEX($B:$B,MATCH(G2,$A:$A,0)),"")
将上述公式下拉至所有待处理员工行。
3. 生成反向对齐的管理层级
在I-M列创建反向层级列(对应你的需求:Supervisor+4 ID到Supervisor ID):
- I2(Supervisor+4 ID,最顶层管理者):
=IF(COUNTA(E2:H2)=0,"",INDEX(E2:H2,COUNTA(E2:H2))) - J2(Supervisor+3 ID):
=IF(COUNTA(E2:H2)>=2,INDEX(E2:H2,COUNTA(E2:H2)-1),"") - K2(Supervisor+2 ID):
=IF(COUNTA(E2:H2)>=3,INDEX(E2:H2,COUNTA(E2:H2)-2),"") - L2(Supervisor+1 ID):
=IF(COUNTA(E2:H2)>=4,INDEX(E2:H2,COUNTA(E2:H2)-3),"") - M2(Supervisor ID):
=""
同样下拉公式至所有行。
效果验证
最终生成的表格将完全匹配你的需求:
| Employee ID | Supervisor+4 ID | Supervisor+3 ID | Supervisor+2 ID | Supervisor+1 ID | Supervisor ID |
|---|---|---|---|---|---|
| 11111 | 55555 | 44444 | 33333 | 22222 | |
| 22222 | 55555 | 44444 | 33333 |
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

