1

Я не уверен, как это называется, но я хочу переформатировать данные Excel из этого;

формат 1

к этому;

Другими словами, обведите заголовки столбцов и добавьте каждую точку данных в новую группу. И отобразить результаты на новой вкладке.

1 ответ1

1

Это решение будет немного на общей стороне. Предположим, что ваша исходная таблица находится в B2:D5. Таким образом, вы можете адаптировать его к таблице, расположенной в любом месте вашего листа. Где в качестве таблицы, начинающейся с А1, может использоваться несколько коротких путей.

Поместите следующие две формулы в G3 и H3 соответственно:

=IFERROR(INDEX($B$2:$D$2,MOD(ROWS($G$3:G3),COUNTA($B$2:$D$2)+1)),"")

=IFERROR(INDEX($B$3:$D$5,ROUNDUP((ROWS($H$3:H3))/(COUNTA($B$2:$D$2)+1),0),MOD(ROWS($H$3:H3),COUNTA($B$2:$D$2)+1)),"")

Первая формула использует функцию мода для генерации счетчика. Когда формула копируется, $ G $ 3:G3 меняется на $ G $ 3:G4, и функция ROWS возвращает 1 для первой строки, 2 для второй строки и так далее. Настройте $ G $ 3:G3, чтобы она была ячейкой, в которой вы хотите начать свой стол. Функция countA предназначена для определения количества столбцов. Диапазон $ B $ 2:$ D $ 2 необходимо будет настроить в соответствии с заголовками столбцов. Вы не можете иметь пустые заголовки. +1 требуется для увеличения количества столбцов на 1, чтобы создать пустую строку между группами.

Функция мода вложена в функцию INDEX $ B $ 2:$ D $ 2. Он будет считать серию чисел, представляющих столбец, который нужно просмотреть, перевернуть на ноль и повторить. Когда mod возвращает значение 0, INDEX не может справиться с этим и выдает ошибку. Вложив, что в функции IFERROR значение ошибки может быть подавлено и вместо него возвращается «». Визуально это выглядит как пробел, но в ячейке все еще есть формула.

Вторая функция в основном такая же, как и первая, за исключением того, что вместо указателя на строку заголовка в одномерном диапазоне остальная часть таблицы используется в INDEX для двумерного диапазона $ B $ 3:$ D $ 5. Поскольку это двумерный диапазон, INDEX необходимо указать, какую строку искать и в какой столбец искать. Поскольку первая формула имеет часть, которая уже заботится о том, какой столбец искать, его можно просто скопировать. Чтобы определить, какую строку искать, эта часть второй формулы делает это:

ROUNDUP((ROWS($H$3:H3))/(COUNTA($B$2:$D$2)+1),0)

Снова замените $ H $ 3:H3 на ячейку для начала вашего второго столбца и $ B $ 2:$ D $ 2, чтобы соответствовать строке заголовка вашего столбца.

Теперь при выборе диапазонов, которые расположены на другом листе, диапазон будет начинаться с имени листа, за которым следует «и ваш диапазон». Excel автоматически сделает это за вас при вводе формулы и переходе на другой лист.

Ниже приведен пример диапазона на листе с именем Sheet1.

Sheet1!B3:D6

Обратите внимание, что в имени нет места. Если на листе есть пробел в имени, например, скажем, рабочий лист с именем RED BLUE, то ссылка будет выглядеть следующим образом:

'RED BLUE'!B3:D6

POC

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