3

Я искал способ автоматизировать преобразование данных в таблице Excel в матрицу. Например, из левой таблицы в матрицу справа, как показано на следующем рисунке:

Очевидно, сводная таблица не решит эту проблему, потому что она может только агрегировать. Что мне нужно, это показать отдельные данные.

Есть ли в Excel встроенная функция, которая решает эту конкретную проблему, или мне нужно использовать VBA, и если да, то как?

1 ответ1

0

Не существует единой встроенной функции Excel для достижения того, что вам нужно. Либо соберите воедино некоторые сортирующие, перемещающие и простые встроенные функции, если это необходимо для разовых требований, которых я вполне могу достичь без помощи, либо используйте VBA.

Вывод заключается либо в том, что у вас много записей (хотя это мало что изменит для разовых требований), либо в том, что вам требуется делать это часто. Как и во многих вопросах Excel, количество и частота имеют отношение к выбору подходящего подхода, и вы (и другие), возможно, не получите такой хороший совет, как в противном случае, если вы оставите желающих ответить, чтобы угадать такие детали.

Сложность здесь заключается, главным образом, в том, что у вас есть отношения многие-к-одному (по сути, I). Что касается "как?"«По вашему вопросу я бы предложил (а) включить макро-рекордер и завершить процесс, как если бы он был однократным (б), отсортировать по Уровню в пределах Отдела (в), затем сместить и переставить Отделы, чтобы удовлетворить и, наконец, (d) выровнять, чтобы соответствовать.

Если у вас есть конкретные проблемы с вашим кодом, наш дочерний сайт Stack Overflow обладает магией, необходимой для их устранения.

Запоздалая мысль: и сводная таблица вполне может подойти как часть процесса. Поместите все три поля как Row Labels (сверху вниз: Департамент, уровень, имя), Переместить Low Копировать / Вставить / Специальные значения и все , что осталось немного репозиционирование.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .