Можно ли будет транспонировать столбцы в Excel в строки и иметь повторяющиеся строки? - PullRequest
0 голосов
/ 30 июня 2019

У меня есть столбцы в моем текущем Excel, как это. Заголовок столбца, например 2019-03, представляет март 2019 года, а строки этого столбца содержат цены на дома, соответствующие конкретному городу. Я не могу провести анализ временных рядов (на kepler.gl), так как месяцы указаны в столбцах. Удастся ли переставить столбцы в строки и получить дубликаты строк для каждого города с соответствующей ценой?

То, что я намереваюсь иметь, - это столбец с названием Временная шкала с месяцами в виде строк, и вы можете увидеть соответствующую цену дома в определенный период времени и для определенного города. Так как его всего 2 строки, я сделал это здесь вручную. В моем файле много таких столбцов. Есть ли лучший способ добиться этого в Excel? По крайней мере, мне нужны данные за 2015 год. Так что это будет огромной задачей. Интересно, есть ли лучший способ решить это. Пожалуйста, дайте мне знать.

Actual Data

2019-03  2019-04  2019-05  2019-06   City
548400   563600   585100   595000    Leland
118100   118700   119300   125000    Barron

Ожидаемая таблица в Excel

Timeline  Price    City
2019-03   548400   Leland
2019-04   563600   Leland
2019-05   585100   Leland
2019-06   595000   Leland
2019-03   118100   Barron
2019-04   118700   Barron
2019-05   119300   Barron
2019-06   125000   Barron

1 Ответ

0 голосов
/ 30 июня 2019

Используйте PowerQuery или формулы вместо VBA:

PowerQuery:

  • Выберите ячейку в> Данные> Из таблицы / диапазона
  • Выберите столбец Город> Преобразовать> Удалить сводку> Другие столбцы
  • Закрыть PowerQuery и загрузить данные

Кредиты @RonRosenfeld, который очень ясно описал здесь , включая ссылку на бесплатную надстройку в Excel-2010!

enter image description here

Формулы:

На той же странице я описал использование формул.В вашем случае вы можете использовать:

Формула в G2:

=INDEX($A$2:$D$3,MATCH(I2,$E$2:$E$3,0),MATCH(H2,$A$1:$D$1,0))

Формула в H2:

=INDEX($A$1:$D$1,,COUNTIF($I$2:I2,I2))

Формула в I2:

=INDEX(E:E,INT((ROW(A1)-1)/4)+2)

enter image description here

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