У меня есть таблица с 2000 строками, как это

company   product   targetJan   targetFeb   targetMarch   targetApril ...
Google    Docs      10          20          30            40
Google    Mail      13          25          45            70

Что я хочу скрыть

Company  product  Date  Target
Google   Docs     Jan   10
Google   Docs     Feb   20
...
Google   Mail     Jan   13
...

Я понятия не имею, как справиться с этим, и я не особенно знаком с макросами или VBA. Как я могу решить это?

РЕДАКТИРОВАТЬ: я записал макрос, который делает работу, но только в первой строке, которую я указал. Теперь мне нужно выяснить, как применить его к каждые 12 строк по всему документу: https://pastebin.com/D9yUHxZk

2 ответа2

2

Это можно сделать без использования макроса. Формулы ниже заполняют новую таблицу справа от ваших существующих данных:

Эти формулы, заполненные из O2:R2 (соответственно), дают показанные результаты.

 =OFFSET($A$2,TRUNC((ROW()-2)/12),0)
 =OFFSET($B$2,TRUNC((ROW()-2)/12),0)
 =RIGHT(OFFSET($C$1,0,MOD((ROW()-2),12)),3)
 =OFFSET($C$2,TRUNC((ROW()-2)/12),MOD((ROW()-2),12))

Обратите внимание, что (для простоты) я изменил ваши целевые заголовки, поэтому месячная часть - это трехбуквенное сокращение. Если вы хотите извлечь более длинное название месяца, это можно сделать с помощью текстовых функций MID () и LEN ().

Заполнив все новые данные, вы можете удалить столбцы, содержащие старые данные, если хотите. Но сначала выберите все новые данные, скопируйте их и вставьте Special> Values ..., чтобы данные не терялись при удалении столбцов, из которых они получены.

0

Чтобы преобразовать строки в столбцы (транспонировать):

  • скопируйте свой диапазон
  • вставить
  • нажмите на опцию вставки (нижний правый угол вашего вставленного массива)
  • нажмите на транспонировать (T)

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

удачи.

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