求可动态生成三级分层表格的公式(n取值3-12)
动态生成3列分层树状表格的公式(适配n=3~12)
假设现有数据存储在A列(从A1开始,共n³行),先在任意空白单元格(比如Z1)输入目标n值(3~12),然后按以下公式分别生成Level1、Level2、Level3列:
Level1列(对应B列)
每个Level1值重复n²次,共生成n个唯一值:
=INDEX($A:$A, INT((ROW()-1)/($Z$1^2)) + 1)
下拉公式至第n³行(可通过=Z1^3计算总行数,比如在Z2输入该公式,以此确定下拉范围)。
Level2列(对应C列)
每个Level2值重复n次,共生成n²个值:
=INDEX($A:$A, INT((ROW()-1)/$Z$1) + 1)
同样下拉至第n³行。
Level3列(对应D列)
直接映射原始数据的每一行:
=A1
下拉至第n³行即可。
验证示例(n=3)
当Z1=3时:
- Level1列:每9行(3²)重复A1、A10、A19,共3个值
- Level2列:每3行重复A1、A4、A7、A10、A13、A16、A19、A22、A25,共9个值
- Level3列:完整映射A1~A27(3³行)的所有数据
该公式无需过滤重复值,完全适配n=3到12的所有取值,且支持现有表格的简化格式。
内容的提问来源于stack exchange,提问作者Kristof Kerremans
相关产品推荐
相关产品推荐

