【发布时间】:2016-01-12 21:07:36
【问题描述】:
我目前在 excel 中有一个带有缩进层次结构的工作表,如下所示。
每个项目都有缩进(每个缩进四个空格)以显示它如何适应整个层次结构。
我已经能够创建一个“级别”列,将缩进级别转换为数字。
+------------+-------+--------+
| Item | Level | Parent |
+------------+-------+--------+
| P1 | 1 | N/A |
| P2 | 2 | P1 |
| P3 | 2 | P1 |
| P4 | 3 | P3 |
| P5 | 2 | P1 |
| P6 | 3 | P5 |
+------------+-------+--------+
我想要做的是生成上面的“父级”列,它使用“级别”信息来显示每个项目的父级。
我认为这需要通过一个循环来完成每个项目 X:
-Find level info for X
-Find (levelx-1) which would equal the parent item's level
-Search upward for the first row with a level equal to (levelx-1)
-Find the item number in that row
-Write item number in adjacent cell to X
很遗憾,我不知道如何将这个想法翻译成 VBA。
提前感谢您的帮助。
【问题讨论】:
-
澄清一下,解决方案不一定是 VBA。事实上,如果不这样做会更好。
-
reverse match 可能会有所帮助。这样,您将获得行号,可以在索引公式中使用它来获得所需的结果。给我一分钟...