excel - Excel:连接具有公共字段值的所有行的单元格
问题描述
在 Excel 中,对于在 ID 列中具有匹配数据的所有行,我需要将数据从一列连接到另一列。
然后,我将丢弃除单个项目和第一个项目之外的所有项目,因此我确实需要将数据内联保持在新列中,而不是通过新表或工作表。
例如。
ID 数据组合
A 苹果 苹果
B 梨 梨 香蕉
B 香蕉梨 香蕉
C 樱桃
D 苹果 苹果 桃 梨
D 桃 苹果 桃梨
D 梨 苹果桃梨
我查看了基于公共单元格的连接 (Excel) 行,包括不同的列和Excel: Group values from rows based on common cell value,但这两种解决方案都不是我想要的。
我的工作表有大约 90 列,所以它有点像野兽。
感谢任何关于这一点的指示或指导。
非常感谢
解决方案
POWER QUERY 方法- 在 Excel 2010 和更高版本中可用
请参阅本文以了解如何在您的 Excel 版本上使用 Power Query。我的演示是使用Excel 2016。
假设您已将数据范围放入Table,使用From Table函数将其添加到 Power Query 编辑器,它应该如下所示:
然后使用编辑器选项卡下的Group By功能Transform
对数据进行分组,如下图所示:
转到公式栏并替换公式如下
= Table.Group(#"Changed Type", {"ID"}, {{"Sum", each Text.Combine([DATA], " "), type text}})
关键是将List.Sum
后面each
的Text.Combine
函数替换为Power Query M语言的函数。
该表将更新为:
然后,您可以关闭并将此查询的输出加载到新工作表(默认情况下)。
这是幕后的完整代码,仅供参考。
let
Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", type text}, {"DATA", type text}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"ID"}, {{"Sum", each Text.Combine([DATA], " "), type text}})
in
#"Grouped Rows"
如果您有任何问题,请告诉我。干杯:)
推荐阅读
- python - 如何从 matplotlib 的列表中为子集设置标题
- elasticsearch - logstash 将数据传输到elasticsearch 解析日期错误
- mongodb - 如何按特定日期范围计算文档
- android - 获取错误参数不同!通缉 Mockito 测试
- node.js - 如何安排节点 js 脚本在 Windows 上自动运行?
- ios - 无法将 first_open 事件从 Firebase Analytics 导入 Google Ads
- asp.net - ASP.NET IConfigurationSection 为 POCO 返回空对象
- python - 附加到python中对象字典中的对象列表
- django - 我正在搜索并收到未找到索引的错误?
- powershell - 在 Powershell 中创建文件夹和移动文件