-1

У меня есть таблица из 35 тыс. Строк в первой таблице ниже, которую я хочу изменить, как в нижней таблице. http://i.stack.imgur.com/Zc4u1.png Итак, я хочу изменить эти данные таким образом, чтобы все люди с определенным GroupID в отдельных столбцах.

Я полагаю, что я должен добавить счетчик для каждой строки в пределах конкретного GroupID? Кроме того, я полагаю, что такие проблемы лучше всего решать в базе данных?

Так как у меня часто есть такие данные, мне нужно гораздо быстрее решать их, чем сейчас.


Не из ОП. Уточнение из комментария

GroupID является первичным ключом.
Имена могут повторяться, но> 70% являются уникальными.
Порядок сортировки не важен.
GroupID с разными Ins может быть не более 10.
Эффективный максимум для блоков GroupID/Ins/ID/Name/Sales составляет около 20k.

2 ответа2

0

Я бы посоветовал вам использовать сводные таблицы. Поиск в Google "учебника по сводным таблицам Excel" приведет к появлению множества веб-сайтов, которые могут помочь.

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

SQL Server Reporting Services (SSRS) - это программная система для создания отчетов на основе сервера от Microsoft. Администрирование через веб-интерфейс позволяет использовать его для подготовки и доставки различных интерактивных и печатных отчетов. SSRS конкурирует, например, с Crystal Reports.

0

Я с сожалением отмечаю, что вы плохо справились с этим вопросом, и надеюсь, что вы нашли решение в любом случае, но в случае, если я не предложу хотя бы промежуточный ответ. Он не очень автоматизирован по разным причинам, включая то, что я не знаю, какую версию Excel вы используете, и объяснение сложных формул утомительно! Кроме того, я отмечаю «у меня часто такие данные», поэтому, возможно, «правильным» решением будет либо маршрут к базе данных, либо, по крайней мере, VBA, если формат данных достаточно согласован и требования к обработке повторяются. Хотя для VBA вы, скорее всего, получите хороший ответ в StackOverflow.

Итак, результат, который я имею:

образец вывода повторно SU469870

Не такой же порядок, как в вашем примере, но вы упомянули, что порядок не важен. Также у меня есть разница (выделено), но это из-за несоответствия между вашими примерами ввода и вывода.

Я добился этого, по сути, с помощью следующих шагов, предположив, что данные находятся в ColumnA:E с метками столбца в Row1:

  1. Сортировать A:F по GroupID.
  2. В F2 ключ =IF(A2=A1,"","b") и копирование вниз.
  3. Фильтруйте F и выберите b .
  4. Копия видна в H1 .
  5. Удалить данные, видимые в ColumnA:F
  6. Сортировать A:F по GroupID.
  7. Копия видна на M1
  8. Удалить данные, видимые в ColumnA:F
  9. Повторите шаги 6-8 еще примерно 8 раз (при вставке каждый раз переходя по 5 столбцам), пока в A:F не останется данных.
  10. Удалите A:G , последний столбец и любые другие ячейки, содержащие формулу (отображается как b).
  11. Выровняйте блоки вручную (возможно? - должна быть способна к "автоматизации" при необходимости).
  12. Удалите столбцы GroupID, кроме одного в крайнем левом углу.
  13. Применить границы.

В b нет никакого значения - просто какой-либо маркер, но я выбрал эту букву, поскольку перемещал по одной блокировке b за раз.

Надеюсь, это все говорит само за себя, хотя я был бы рад уточнить (или попытаться исправить!) если необходимо.

Обратите внимание, что я работал над копией и рекомендую вам сделать это, так как Delete используется выше

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