用值分隔单元格并将相关列移动到新行

时间:2019-09-12 04:03:23

标签: excel excel-formula excel-2010

我正在尝试用逗号分隔多个值的列,并将每个值移到下一行,同时从不同的列继承相关值。

我找到了与R,Perl等相关的解决方案。但是,我想使用excel或excel-vba来解决这个问题。我还尝试过使用excel的“从文本到列”功能,然后使用直接链接映射新单元格,但这不能解决我的问题。

下面是Excel工作表:

Name         Subject       Topic    Tags
Chinedu      Mathematics   Algebra  Algebra, Trigonometry,  Maths
Sophia       English       Comp     English,comprehension, New tag
Sonia        English       Essay    English, Essay Writing,Tag
John         Maths.        Trig.    Maths, Trigonometry, New

预期输出为:

Name         Subject       Topic    Tags
Chinedu      Mathematics   Algebra  Algebra
Chinedu      Mathematics   Algebra  Trigonometry
Chinedu      Mathematics   Algebra  Maths
Sophia       English       Comp     English
Sophia       English       Comp     comprehension
Sophia       English       Comp     New tag
John         Maths.        Trig.    Maths
John         Maths.        Trig.    Trigonometry
John         Maths.        Trig.    New

1 个答案:

答案 0 :(得分:2)

您可以使用在{strong> Excel 2010和更高版本中可用的#powerquery

请参阅此article,以了解如何在您的Excel版本上使用 Power Query

逻辑是将源数据加载到Power Query Editor,使用Transform选项卡下的 Split Column 函数将Tags列用逗号{{1 }}作为分隔符,然后将结果放入

Split Columns

那么您应该具有以下内容:

Output

您可以修剪清洁 ,列以使数据整洁,然后将输出表加载到新工作表(默认情况下)或创建查询的连接,然后选择将其加载到工作簿中的特定位置。

这是幕后力量查询M代码,仅供参考。您只需要使用编辑器的内置功能即可获得所需的结果。

Tags

如果您有任何疑问,请告诉我。干杯:)