1

У меня есть этот запрос->

        A     B
     1 |p1  | a:10;b:20;c:30 |
     2 |p2  | a:25;b:15;c:40 |

Как получить p1 и p2 в столбце A, пока его следующее значение не будет разделено без использования макросов?

        A     B   C

    4 |p1   |a  |10 |
    5 |p1   |b  |20 |
    6 |p1   |c  |30 |
    7 |p2   |a  |25 |
    8 |p2   |b  |15 |
    9 |p2   |c  |40 |

Использование выражения и значения в столбце A не являются фиксированными, они являются динамическими.

1 ответ1

1

Я бы использовал Power Query Add-In для этого. В Excel 2016 Power Query встроен в ленту данных в разделе "Получить и преобразовать".

Power Query может начинаться с существующей таблицы Excel. Я бы начал с шага Split в столбце B, используя точку с запятой. Важным трюком является открытие раздела "Дополнительно" на странице "Разделить столбцы по разделителям" и введите большее число для: «Количество столбцов, на которые нужно разделить». По умолчанию будет установлен минимум, необходимый для ваших текущих данных, например, 3. Вы можете ввести большее число, например, 100, чтобы учесть будущие требования к данным.

Затем я выбрал бы Столбец А и использовал команду «Отключить столбцы / Отключить другие столбцы», чтобы вернуть все разделенные столбцы обратно в один столбец в несколько строк. Наконец, я бы снова использовал команду Split для сгенерированного столбца "Value", разделив его двоеточием.

Результат запроса может быть доставлен в виде таблицы Excel.

Возможно, вы бы добавили несколько шагов для удаления ненужных столбцов и переименования столбцов. Вы можете создать это без написания макроса или кода функции - вы просто щелкаете мышью в окне Power Query.

Я создал рабочее решение, которое вы можете загрузить с моего OneDrive и попробовать:

http://1drv.ms/1AzPAZp

Это файл: Power Query demo - динамическое разбиение столбца и его разделение на строки

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