В настоящее время у меня есть лист в 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. На самом деле было бы лучше, если бы это было не так. – t0ucansam
[Обратное совпадение] (http://stackoverflow.com/questions/14189085/excel-reverse-match) может помочь. При этом у вас будет номер строки, который может использоваться в формуле индекса для получения желаемого результата. Дайте мне минуту ... – vacip