我正在尝试用逗号分隔多个值的列,并将每个值移到下一行,同时从不同的列继承相关值。
我找到了与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
答案 0 :(得分:2)
您可以使用在{strong> Excel 2010和更高版本中可用的#powerquery
。
请参阅此article,以了解如何在您的Excel版本上使用 Power Query 。
逻辑是将源数据加载到Power Query Editor,使用Transform
选项卡下的 Split Column 函数将Tags
列用逗号{{1 }}作为分隔符,然后将结果放入行。
那么您应该具有以下内容:
您可以修剪和清洁 ,
列以使数据整洁,然后将输出表加载到新工作表(默认情况下)或创建查询的连接,然后选择将其加载到工作簿中的特定位置。
这是幕后力量查询M代码,仅供参考。您只需要使用编辑器的内置功能即可获得所需的结果。
Tags
如果您有任何疑问,请告诉我。干杯:)