Не существует единой встроенной функции Excel для достижения того, что вам нужно. Либо соберите воедино некоторые сортирующие, перемещающие и простые встроенные функции, если это необходимо для разовых требований, которых я вполне могу достичь без помощи, либо используйте VBA.
Вывод заключается либо в том, что у вас много записей (хотя это мало что изменит для разовых требований), либо в том, что вам требуется делать это часто. Как и во многих вопросах Excel, количество и частота имеют отношение к выбору подходящего подхода, и вы (и другие), возможно, не получите такой хороший совет, как в противном случае, если вы оставите желающих ответить, чтобы угадать такие детали.
Сложность здесь заключается, главным образом, в том, что у вас есть отношения многие-к-одному (по сути, I
). Что касается "как?"«По вашему вопросу я бы предложил (а) включить макро-рекордер и завершить процесс, как если бы он был однократным (б), отсортировать по Уровню в пределах Отдела (в), затем сместить и переставить Отделы, чтобы удовлетворить и, наконец, (d) выровнять, чтобы соответствовать.
Если у вас есть конкретные проблемы с вашим кодом, наш дочерний сайт Stack Overflow обладает магией, необходимой для их устранения.
Запоздалая мысль: и сводная таблица вполне может подойти как часть процесса. Поместите все три поля как Row Labels (сверху вниз: Департамент, уровень, имя), Переместить Low
Копировать / Вставить / Специальные значения и все , что осталось немного репозиционирование.