excel - 在excel中将重复的行压缩到不同的列中
问题描述
我在 excel 中有一个电子表格,它是合并两个查询以将项目与其类别匹配的结果。在这种情况下,它看起来像这样(使用食物及其类别作为基本示例):
这样做是为了让我可以看到某些人存在哪些类别(在这种情况下由膳食 A、B、C 等表示)。我只关心某些类别,因此任何未分类的食物都可以从列表中删除(如蜂蜜或燕麦片)。我想组织我的数据,以便删除任何相同的行,并且任何不同的食物类别在列中彼此相邻堆叠,例如:
在我的实际电子表格中,我有几千个值要处理,所以大规模工作的东西将有助于清理这些数据。有什么建议么?谢谢!
解决方案
这里有一些 M 代码,可以根据您的原始数据产生您想要的结果。
“魔法”在Table.Group
命令/聚合中
如果您有不同数量的食物类别,可能需要对拆分器步骤进行一些修改,以便生成正确数量的列:
let
Source = Excel.CurrentWorkbook(){[Name="Table20"]}[Content],
//#"Changed Type" = Table.TransformColumnTypes(Source,{{"Meal", type text}, {"Food", type text}, {"Food Category", type text}}),
#"Grouped Rows" = Table.Group(Source, {"Meal"}, {
{"Food Category", each Text.Combine(
List.RemoveNulls(
List.Sort(
(List.Distinct([Food Category])))),";")}
}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Grouped Rows", "Food Category",
Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"Food Category.1", "Food Category.2"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",
{{"Food Category.1", type text}, {"Food Category.2", type text}})
in
#"Changed Type1"
推荐阅读
- c - 没有找到mingw-w64 C11 threads.h?
- postgresql - Postresql 使用另一个表中的子查询更新表
- python - 如何将多行合并为一行
- reactjs - 将“this”绑定到外部静态方法
- unity3d - 无法强制我的精灵顺利移动/旋转
- java - 无法使每个点具有不同的颜色,无法弄清楚如何使每个点具有不同的颜色存储在数组列表中
- javascript - react-native firebase 将快照推送到数组
- python - Scrapy - 处理不同版本的 h1
- django - django 使用包含土耳其语字符的链接
- ios - Swift,如何加密后端通信?