Преобразование нескольких строк и столбцов в столбцы и строки в Excel

Применяется к
Excel 2024 Excel 2021 Excel 2019 Excel 2016

Сводка

При использовании продуктов Microsoft Excel, перечисленных в нижней части этой статьи, можно использовать формулу листа для скрытия данных, охватывающих несколько строк и столбцов в формате базы данных (columnar). 

Дополнительные сведения

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

Пример

  1. На новом листе введите следующие данные:

    A1: Смит, Джон
    A2: 111 Сосна ул.
    A3: Сан-Диего, Калифорния
    A4: (555) 128-549
    A5: Джонс, Сю
    A6: 222 Oak Ln.
    A7: Нью-йорк, Нью-Йорк
    A8: (555) 238-1845
    A9: Андерсон, Том
    A10: 333 Черри авеню.
    A11: Чикаго, Штат Иллинойс
    A12: (555) 581-4914

  2. Введите следующую формулу в ячейку C1:

    =OFFSET($A$1,(ROW()-1)*4+INT((COLUMN()-3)),MOD(COLUMN()-3,1))

  3. Заполните эту формулу до столбца F, а затем до строки 3.

  4. При необходимости измените размеры столбцов. Обратите внимание, что данные теперь отображаются в ячейках C1–F3 следующим образом:

    В Г Д Е
    1 Смит, Джон 111 Сосновая ул. Сан-Диего, Калифорния (555) 128-549
    2 Джонс, Сю 222 Дуб Ln. Нью-Йорк, Нью-Йорк (555) 238-1845
    3 Андерсон, Том 333 Черри авеню. Чикаго, Штат Иллинойс (555) 581-4914

Формула может быть интерпретирована как

OFFSET($A$1,(ROW()-f_row)*rows_in_set+INT((COLUMN()-f_col)/col_in_set), MOD(COLUMN()-f_col,col_in_set))

где

  • f_row = номер строки формулы смещения
  • f_col = номер столбца этой формулы смещения
  • rows_in_set = количество строк, которые составляют одну запись данных.
  • col_in_set = количество столбцов данных