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

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

Входные и выходные данные

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

1 ответ1

0

Номер заказа на обслуживание =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, ...

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