Переместить таблицу в стиле матрицы в 3 столбца в Excel

У меня есть таблица в стиле матрицы в excel, где B1: Z1 – заголовки столбцов, а A2: A99 – заголовки строк. Я хотел бы преобразовать эту таблицу в таблицу с тремя столбцами (заголовок столбца, заголовок строки, значение ячейки). Неважно, в каком порядке находится новая таблица.

ABCDABCABC 1 H1 H2 H3 1 H1 R1 V1 1 H1 R1 V1 2 R1 V1 V2 V3 => 2 H1 R2 V4 or 2 H2 R1 V2 3 R2 V4 V5 V6 3 H1 R3 V7 3 H3 R1 V3 4 R3 V7 V8 V9 4 H2 R1 V2 4 H1 R2 V4 5 H2 R2 V5 5 H2 R2 V5 6 H2 R3 V8 6 H3 R2 V6 7 H3 R1 V3 7 H1 R3 V7 8 H3 R2 V6 8 H2 R3 V8 9 H3 R3 V9 9 H3 R3 V8 

Я играл с функцией OFFSET для создания всей таблицы, но мне кажется, что требуется сочетание TRANSPOSE и V / HLOOKUP.

  • Отображение негативных меток времени в Excel 2007chart
  • Формат номера Excel для преобразования числа месяцев в название месяца
  • Применение формулы к диапазону ячеек без перетаскивания
  • Преобразовать столбец в список, разделенный запятыми
  • Когда Excel решает перегрузить текст в соседние ячейки или вырезать их на границе?
  • Excel - сумма значений, если их строка соответствует нескольким критериям
  • благодаря

    РЕДАКТИРОВАТЬ

    Мне удалось найти правильные формулы. Если данные в Sheet1, как в моем примере выше, формулы идут в Sheet2:

     [A1] =IF(ROW() <= COUNTA(Sheet1!$B$1:$Z$1)*COUNTA(Sheet1!$A$2:$A$99), OFFSET(Sheet1!$A$1,0,IF(MOD(ROW(),COUNTA(Sheet1!$B$1:$Z$1))=0,COUNTA(Sheet1!$B$1:$Z$1),MOD(ROW(),COUNTA(Sheet1!$B$1:$Z$1)))),"") [B1] =IF(ROW() <= COUNTA(Sheet1!$B$1:$Z$1)*COUNTA(Sheet1!$A$2:$A$99),OFFSET(Sheet1!$A$1,IF(MOD(ROW(),COUNTA(Sheet1!$A$2:$A$99))=0,COUNTA(Sheet1!$A$2:$A$99),MOD(ROW(),COUNTA(Sheet1!$A$2:$A$99))),0),"") [C1] =IF(ROW() <= COUNTA(Sheet1!$B$1:$Z$1)*COUNTA(Sheet1!$A$2:$A$99),OFFSET(Sheet1!$A$1,IF(MOD(ROW(),COUNTA(Sheet1!$A$2:$A$99))=0,COUNTA(Sheet1!$A$2:$A$99),MOD(ROW(),COUNTA(Sheet1!$A$2:$A$99))),IF(MOD(ROW(),COUNTA(Sheet1!$B$1:$Z$1))=0,COUNTA(Sheet1!$B$1:$Z$1),MOD(ROW(),COUNTA(Sheet1!$B$1:$Z$1)))),"") 

    Формулы ограничены B1: Z1 для заголовков и A2: A99 для строк (при необходимости их можно увеличить до максимума). Формула COUNTA () возвращает количество ячеек, которые действительно имеют значения, что ограничивает количество строк, возвращаемых в строки заголовков *. В противном случае формулы могли бы продолжать бесконечность из-за функции MOD.

  • Как я могу объединить столбцы A и столбцы B в столбце C в Excel?
  • Как указать конкретный рабочий лист для открытия книги MS Excel с помощью гиперссылки?
  • Как удалить строки не в фильтре
  • У меня есть лист, который имеет 2 столбца; В одном - это имя, в другом - одно или несколько писем, разделенных запятой
  • Excel - Формулы, которые отображаются на нескольких листах?
  • Как вы автоматически изменяете размеры ячеек в Excel?
  • 2 Solutions collect form web for “Переместить таблицу в стиле матрицы в 3 столбца в Excel”

    Мне нравится этот вопрос 🙂

    Попробуйте эти функции. Вставьте их в h0, r0, v0 и перетащите их вниз

      hrv 0 (a) (b) (c) 1 | | | | | | 2 \ / \ / \ / 3 vvv 

    где:
    H = метка заголовка
    R = ярлык строки
    V = метка значения

    (A) = OFFSET ($ A $ 1, INT (H2 / 99) + 1, MOD (H2,99) +1,1,1)
    (B) = OFFSET ($ A $ 1, INT (H2 / 99) +1,0,1,1)
    (C) = OFFSET ($ A $ 1,0, MOD (H2,99) +1,1,)

    Где H2 – столбец со значениями: 0,1,2,3 …

    Несколько недель назад я увидел немного более обобщенную версию решения, предоставленного @Dick Kusleika в StackOverflow: Преобразование строки с столбцами данных в столбец с несколькими строками в Excel 2007 . Кажется, что у него нет ссылок на отдельные строки (вместо этого используется ROW() ), но при этом требуется, чтобы количество столбцов было жестко закодировано.

    Давайте будем гением компьютера.