如何在不使用任何宏函数的情况下在 Excel 中拆分此查询

如何在不使用任何宏函数的情况下在 Excel 中拆分此查询

我有这个疑问->

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

如何在不使用宏的情况下获取 A 列中的 p1 和 p2 直到其下一个值被拆分?

        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

我将使用 Power Query 插件来实现这一点。从 Excel 2016 开始,Power Query 内置于“获取和转换”部分下的数据功能区中。

Power Query 可以从现有的 Excel 表开始。我会从使用分号的 B 列拆分步骤开始。一个关键技巧是打开“按分隔符拆分列”页面上的“高级”部分,并为“要拆分成的列数”输入一个更大的数字。它将默认为您当前数据所需的最小值,例如 3。您可以输入更大的数字,例如 100,以满足未来的数据需求。

然后,我会选择 A 列并使用“取消透视列/取消透视其他列”命令将所有拆分的列合并为一列,并分布在多行上。最后,我会在生成的“值”列上再次使用“拆分”命令,使用冒号进行拆分。

查询结果可以以 Excel 表格的形式提供。

您可能需要添加几个步骤来删除不需要的列并重命名列。您无需编写任何宏或函数代码即可构建此功能 - 只需在 Power Query 窗口中单击即可。

我构建了一个可行的解决方案,您可以从我的 OneDrive 下载并尝试:

http://1drv.ms/1AzPAZp

这是文件:Power Query 演示 - 动态拆分列并逆透视为行

相关内容