首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用值分隔单元格并将相关列移动到新行

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

Stack Overflow用户
提问于 2019-09-12 04:03:23
回答 1查看 60关注 0票数 0

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

我找到了与R,Perl等相关的解决方案。然而,我想用excel或excel来处理这个问题。我也尝试过使用excel的“文本到列”特性,然后用一个直接链接映射新的单元格,但这并没有解决我的问题。

下面是excel表格:

代码语言:javascript
复制
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

预期产出如下:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-12 04:17:56

您可以使用#powerquery,它可以在、Excel2010和更高版本的中找到。

请参考此文章,了解如何在您的Excel版本上使用电源查询

逻辑是将源数据加载到Power,在选项卡下使用Transform拆分列函数,以逗号,分隔Tags列,并将结果放入Rows中。

那么,您应该拥有以下内容:

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

下面是场景后面的power查询M代码,仅供参考。您只需要使用编辑器的内置函数就可以得到所需的结果。

代码语言:javascript
复制
let
    Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Subject", type text}, {"Topic", type text}, {"Tags", type text}}),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Changed Type", {{"Tags", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Tags"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Tags", type text}}),
    #"Trimmed Text" = Table.TransformColumns(#"Changed Type1",{{"Tags", Text.Trim, type text}}),
    #"Cleaned Text" = Table.TransformColumns(#"Trimmed Text",{{"Tags", Text.Clean, type text}})
in
    #"Cleaned Text"

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57899567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档