excel - 逐行组合 Excel 表/范围
问题描述
我有两个清单。一个包含名称,另一个包含车间信息。
所以清单一个看起来像这样:
Name 1
Name 2
Name 3
.
.
Name X
此列表来自外部查询,并被格式化为表格。它的内容不时变化。
另一个看起来像这样,只是格式化为表格(没有基础查询):
Workshop 1
Workshop 2
Workshop 3
Workshop 4
我想结合这两个列表,结果应该是这样的:
Name 1 | Workshop 1
Name 1 | Workshop 2
Name 1 | Workshop 3
Name 1 | Workshop 4
Name 2 | Workshop 1
.
.
.
and so on.
因此,如您所见,总行数增加了四倍。由于第一个表已经有大约 400 行,因此不能选择复制和粘贴。
我不知道如何解决这个问题。我发现的只是关于 JOIN 表,但因此我需要一些我在这里没有的常用列。
有没有办法用公式/电源查询来解决这个问题?还是我必须使用 VBA?
期待一些支持,
关于奥拉夫
解决方案
Power Query方法。
您在工作表上创建了两个表 - 一个命名NameTable
为另一个WorkshopTable
。
为每个表创建一个仅连接查询。我已经命名了这些NameTableQuery
和WorkshopTableQuery
:
let
Source = Excel.CurrentWorkbook(){[Name="NameTable"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}})
in
#"Changed Type"
和
let
Source = Excel.CurrentWorkbook(){[Name="WorkshopTable"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Workshop", type text}})
in
#"Changed Type"
现在创建两者的笛卡尔积。从一个引用开始,然后将另一个添加为您展开的新列:
let
Source = WorkshopTableQuery,
#"Add Names" = Table.AddColumn(Source, "Names", each NameTableQuery),
#"Expanded Names" = Table.ExpandTableColumn(#"Add Names", "Names", {"Name"}, {"Name"})
in
#"Expanded Names"
你的决赛桌将是:
| Workshop | Name |
|------------|--------|
| Workshop 1 | Name 1 |
| Workshop 1 | Name 2 |
| Workshop 1 | Name 3 |
| Workshop 1 | Name 4 |
| Workshop 1 | Name 5 |
| Workshop 2 | Name 1 |
| Workshop 2 | Name 2 |
| Workshop 2 | Name 3 |
| Workshop 2 | Name 4 |
| Workshop 2 | Name 5 |
推荐阅读
- javascript - Cookie 总是要求输入
- android - Navigation Jetpack 中没有 addOnNavigatedListener
- go-gorm - 我可以将 go-gorm 与 MySQL json 类型字段一起使用吗?
- javascript - 是否可以在不使用 express 作为 vue js 的后端的情况下使用纯节点 js?
- powershell - 终止 Powershell 功能出现任何错误
- python - 预期二维数组,得到一维数组:array=[1 3 5 6 7 8 9]?
- server - SCM-Manager 应用在哪里
- cluster-analysis - 如何在 Elbon 方法中选择最佳簇数?
- android - 使用 100 个 EditFields 和 TextFields 开发应用程序
- python - 如何在python中进行排序、计算和查找最大值