Подсчет уровней списков на основе строковых идентификаторов - многоуровневые списки - PullRequest
1 голос
/ 24 апреля 2020

Как и в моем последнем посте, я работаю через подсчет количества уровней в многоуровневом списке. Цель вывода - заполнить столбцы G: I (их больше, но это наглядно).

  A      B        C        D         E          F            G          H       I
+------+------+--------+---------+----------+------------+----------+-------+-------+
| L1   | L2   |   L3   |   L4    |   L5     |   L6       | L4_count | L5_c  | L6_c  |
+------+------+--------+---------+----------+------------+----------+-------+-------+
| 1    | 1.1  | 1.1.1  | 1.1.1.1 |1.1.1.1.1 | N/A        |   2      |   2   |   0   |
| 1    | 1.1  | 1.1.1  | 1.1.1.1 |1.1.1.1.2 |1.1.1.1.2.1 |   2      |   2   |   2   |
| 1    | 1.1  | 1.1.1  | 1.1.1.1 |1.1.1.1.2 |1.1.1.1.2.2 |   2      |   2   |   1   |
| 1    | 1.1  | 1.1.1  | 1.1.1.2 |1.1.1.2.1 |1.1.1.2.1.1 |   2      |   1   |   1   |
| 1    | 1.1  | 1.1.2  | 1.1.1.2 |N/A       |N/A         |   2      |   0   |   0   |
+------+------+--------+---------+----------+------------+----------+-------+-------+

Мое решение до сих пор заключалось в следующем:

={MAXIFS(IFERROR(VALUE(RIGHT(E:E)),0),IFERROR(VALUE(MID(E:E,9,1)),0),VALUE(MID(E2,9,1)))}

Попытка найти максимальный последний di git, если второй до последнего di git совпадает в качестве контрольной ячейки. Тем не менее, я продолжаю получать «есть проблема с вашей формулой». Любая помощь будет оценена, очень открыты для реструктуризации таблицы. Спасибо!

Ответы [ 2 ]

1 голос
/ 24 апреля 2020

Поместите это в G2:

=IFERROR(MAX(IF(MID(D$2:D$6,LEN(D$2:D$6)-2,1)=MID(D2,LEN(D2)-2,1),--RIGHT(D$2:D$6))),0)

Используйте Ctrl-Shift-Enter вместо Enter, чтобы выйти из режима редактирования. Затем скопируйте снова и вниз.

enter image description here

0 голосов
/ 24 апреля 2020

Если я вас правильно понял, вы можете использовать следующую формулу в ячейке G2.

=MAX(IFERROR(SUBSTITUTE(D$2:D$6,C2&".","")+0,0))

Копировать и поперек столько, сколько необходимо.

Обратите внимание, что это формула массива, поэтому ее необходимо зафиксировать, используя CTRL + SHIFT + ENTER одновременно. Если все сделано правильно, Excel обернет формулу фигурными скобками {}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...