我有一张如下所示的 Excel 表格:
ID | 最喜欢的水果 |
---|---|
1 | 苹果、香蕉 |
2 | 草莓、香蕉 |
3 | 猕猴桃、苹果 |
我希望将每种水果放在不同的行中,如下所示:
ID | 最喜欢的水果 |
---|---|
1 | 苹果 |
1 | 香蕉 |
2 | 草莓 |
2 | 香蕉 |
3 | 奇异果 |
3 | 苹果 |
知道如何实现吗?
谢谢。
答案1
答案2
您可以使用 Windows Excel 2010+ 和 Office 365 中提供的 Power Query 将逗号上的收藏夹列拆分为行。
使用 Power Query
- 在数据表中选择一些单元格
Data => Get&Transform => from Table/Range
- 当 PQ 编辑器打开时:
Home => Advanced Editor
- 记下表格姓名在第 2 行
- 将下面的 M 代码粘贴到您所看到的位置
- 将第 2 行的表名改回最初生成的表名。
- 阅读评论并探索
Applied Steps
以了解算法
M 代码
let
//Read in the data
//Be sure to change Table Name in next line to the actual name in your workbook
Source = Excel.CurrentWorkbook(){[Name="Fruits"]}[Content],
//set the data type
#"Changed Type" = Table.TransformColumnTypes(Source,{
{"id", Int64.Type},
{"favorite fruits", type text}
}),
//Split the Favorites column by the comma, into Rows!
#"Split Column by Delimiter" = Table.ExpandListColumn(
Table.TransformColumns(#"Changed Type", {
{"favorite fruits", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv),
let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "favorite fruits"),
//Trim the contents of the column to remove leading spaces (when delimiter was <comma> <space>
#"Trimmed Text" = Table.TransformColumns(#"Split Column by Delimiter",{{"favorite fruits", Text.Trim, type text}})
in
#"Trimmed Text"