Excel: от горизонтального до вертикального расположения рядов

Для предъявления по месту требования,

Мне срочно нужны ваши знания о том, как перевернуть данные в соответствии с приведенным ниже вводом в выходные данные:

Я знаю, как работает транспонирование, но это утомительно, если мы имеем дело с сотнями строк. Если есть более быстрое решение для этого, это значительно сэкономит много времени. Заранее спасибо.

1 ответ

Сервисный номер заказа =INDEX($A$2:$A$100,INT(ROW($A3)/3))

  • где $A$2:$A$100 диапазон номеров сервисных заказов.
  • где $A3 Не используется для ссылки на значение ячейки. Покидать $A3 относительная строка

Заголовки строк (средняя колонка) =INDEX($B$1:$D$1,MOD(ROW($A3),3)+1)

  • где $B$1:$D$1 это заголовки столбцов.

Значения строк =INDEX($B$2:$D$100,INT(ROW($A3)/3),MOD(ROW($A3),3)+1)

  • где $B$2:$D$100 диапазон данных о доставке / топливе / платных дорогах.

Скопируйте все три формулы в последовательные ячейки в одной строке:
ServiceOrderNumber | RowHeadings | RowValues

Если эти формулы находятся на листе, отличном от данных, обязательно укажите диапазон с именем листа: Sheet1!$A$2:$A$100

Выберите все три ячейки формулы. Если выбраны все три, скопируйте и перетащите вниз (таким образом, все три формулы будут скопированы вместе, а не по одной за раз).

Почему это работает:

  • $A3 ссылка на ячейку будет увеличиваться в значении строки для каждой строки, в которую копируется формула препарата.
    • ROW этой увеличенной ссылки на строку предоставим числа: 3,4,5,6,7,8,...
  • INT деление на 3 приведет к тому, что каждые 3 строки будут действовать как один: 1,1,1,2,2,2,...
  • MOD из 3 будет циклически проходить по столбцам: 1,2,3,1,2,3,...
Другие вопросы по тегам