Нахождение количества уникальных значений на основе иерархических данных Excel - PullRequest
2 голосов
/ 23 апреля 2020

У меня есть набор данных Excel, который по сути представляет собой вложенный список, структурированный следующим образом:

+------+------+--------------+----------------+-----------+-------+-------+
| Lvl1 | Lvl2 |   Lvl3       |     Lvl4       |   Lvl5    | Count |Weight |
+------+------+--------------+----------------+-----------+-------+-------+
| X1   | X2   | X3           | B1             | N/A       |     2 | 6%    |
| X1   | X2   | X3           | B2             | C1        |     2 | 3%    |
| X1   | X2   | X3           | B2             | D1        |     2 | 3%    |
+------+------+--------------+----------------+-----------+-------+-------+

Каждая переменная X имеет весовые коэффициенты в отдельном столбце (не показан - давайте назовем его W1-W5 с W3-W5 неизвестно), а переменные BD - нет. В приведенном выше примере вес X3 составляет 12%. B1 и B2 будут иметь весовые коэффициенты 6%, но тогда B2 будет разделен на две части для весовых коэффициентов 3% каждый.

ЦЕЛЬ: Мне нужен столбец с каждой строкой, рассчитывающей количество переменных ( n) применяется к родительскому весу, поэтому я могу разделить это n на соответствующий переменный вес. ВОПРОС: Наличие разных уровней неизвестных затрудняет проверку уровней родителя / дедушки для заголовков, которые применяются к одному и тому же весу.

Мое текущее решение состояло в том, чтобы найти счет X3, затем применить этот счет X3 к диапазону Lvl4, посмотреть, сколько уникальны в этом диапазоне, а затем подсчитать диапазон в Lvl5. Моя цель состоит в том, чтобы получить количество позиций (чтобы разделить весовые коэффициенты) для самого низкого уровня и второго самого низкого уровня

Мои формулы становятся громоздкими, и никакого решения не видно. Заранее спасибо!

Мои текущие решения, я не знаю, как сделать динамические c для переменных и столбцов. Я пытался использовать смещения, используя диапазон родительского уровня, но это работает только тогда, когда существует один уровень между известным весом и неизвестным весом.

To find number of X3's:
=SUM(IF(FREQUENCY(
IF($C$2:$C$4<>"",
MATCH($C$2:$C$14,$C$2:$C$4,0)),
ROW($C$C:$C$4)
-ROW($C$2)
+1),1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...