4

Вход:

MACK    113 445 25
JACK    345     
PIKER   30  23  

Я хочу, чтобы вывод был:

MACK    113
MACK    445
MACK    25
JACK    345
PIKER   30
PIKER   23

Скриншот

Как я могу это сделать?

3 ответа3

2

Microsoft Excel имеет плагин под названием PowerQuery.

PowerQuery позволяет вам импортировать данные с вашего листа и выполнять операцию «univiv».

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

Вот некоторые подробности о том, как это сделать:

https://support.office.com/en-us/article/Unpivot-columns-Power-Query-0f7bad4b-9ea1-49c1-9d95-f588221c7098

0

Во-первых, дайте вашим данным несколько заголовков, например:

Name Value1 Value2 Value3
  1. Хит Alt+D+P
  2. Выберите "Несколько консолидированных диапазонов"> Далее
  3. Выберите "Создать одно поле для меня"> Далее
  4. Выберите диапазон (включая заголовки) и нажмите "Готово"

Это создаст сводную таблицу в макете, аналогичном исходным данным, но включает итоги.

  1. Двойной щелчок по нижнему правому итоговому итогу (в вашем примере это значение будет равно 6)

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

0

Что вам нужно, это не транспонировать, а развернуть.

Следующее, вероятно, не лучший способ сделать это, но это работает, и может быть полезно сохранить день, пока кто-то не придет с лучшим решением.

Это предполагает, что ваша сводная таблица находится в Sheet1 начиная с A1 (где MACK ); приспособиться к вашему случаю. В листе 2 введите следующее:

A1: =Sheet1!A1
B1: =Sheet1!B1
C1: 1
D1: 2

A2: =IF(OR(B2="", A1=""), "", INDIRECT(ADDRESS(C2,1, 1, 1, "Sheet1")))
B2: =IF(OR(B1="", INDIRECT(ADDRESS(C2,D2, 1, 1, "Sheet1"))=""), "", INDIRECT(ADDRESS(C2,D2, 1, 1, "Sheet1")))
C2: =IF(D2=2,C1+1,C1)
D2: =IF(INDIRECT(ADDRESS(C1,D1+1, 1, 1, "Sheet1"))<>"",D1+1,2)

Затем скопируйте строку 2 и вставьте ее на столько строк, сколько необходимо. Столбцы A и B будут иметь нужные вам значения, без поворота. Скопируйте и вставьте в другом месте только в качестве значений.

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