Создать и обновить матрицу данных из списков? - PullRequest
0 голосов
/ 26 января 2020

Это может быть совсем не то место, чтобы спрашивать об этом, извиняюсь заранее, если так.

У меня есть книга Excel с такой структурой:

  • Лист1: Список элементов ( A)
  • Sheet2: список элементов (B)
  • Sheet3: Матрица элементов A (строки) и элементов B (столбцы), с элементами, введенными вручную

Матрица используется для ручного определения отношений между A и B. Отношение - это просто X на соответствующем перекрестке, чтобы показать, что itemA относится к этому itemB.

Из матрицы я создаю:

  • Sheet4: Power Query 'unpivot' Sheet3 для генерации SQL вставок

Проблема в том, что списки элементов в Sheet1 и Sheet2 не привязаны к Sheet3. Если я добавляю, удаляю или изменяю что-то в Sheet1 или Sheet2, мне нужно вручную добавить или изменить строки или столбцы Sheet3. Я не нашел способ сделать это автоматически.

  • Простые решения, такие как VLOOKUP, рискуют ошибками, возникающими один за другим, и не создают и не удаляют новые столбцы.
  • Может работать ряд Power Queries, но мне не удалось придумать концептуальную основу для этого.
  • Сводные таблицы выглядят только односторонними
  • Использование одной матрицы в качестве основного источника (без списков) будет работать для этого простого случая, но полная рабочая книга также имеет B / C, B / D, C / D и c. матрицы, поэтому более подходящим представляется наличие единого списка для каждого типа элементов.

Требования к образцу:

  • Добавить элемент Sheet2, матрица добавляет столбец с элементом, в идеальном порядке того же списка, что и Sheet2
  • Удалить элемент Sheet2, матрицу удаляет столбец с элементом, отбрасывая все связи, определенные в этом столбце
  • Изменить элемент Sheet2, матрица изменяет элемент

Возможно ли достичь этого в Excel? если нет, то как я могу добиться этого с помощью механизма GUI вне Excel? Я предполагаю, что мне нужно что-то перед базой данных, чтобы сохранить правильные отношения A / B, как они определены. В противном случае, это очень зеленый проект.

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