合并两个列头不同的表格

有两个Excel"named ranges"Events1Events2。从第2行开始,它们都可以看做带表头的表格,并有部分表头相同。

Column1 Column2 Column3 Column4
DATE FIRST NAME SURNAME CODE
1/2/2024 John Smith 3
1/2/2024 Lily JJ 33

Column1 Column2 Column3
DATE FULL NAME CODE
1/3/2024 Peter Smith 2
1/3/2024 John Wilson 22

要求:通过引用"named ranges"的名字,将两个表格合并,字段不同时用空白表示。

NAME DATE FIRST NAME SURNAME FULL NAME CODE
Events1 1/2/2024 John Smith 3
Events1 1/2/2024 Lily JJ 33
Events2 1/3/2024 Peter Smith 2
Events2 1/3/2024 John Wilson 22

使用 SPL XLL

=spl("=?1.to(3,).($[Events1]|~.m(1,2,3,0,4))|?2.to(3,).($[Events2]|~.m(1,0,0,2,3))",Events1,Events2)

Picture1png

函数 to(3,) 表示取第 3 个直到最后一个成员,m 按位置取多个成员,0 表示 null~是当前成员,$[]是字符串标志。

来源:https://stackoverflow.com/questions/78253023/power-query-m-code-extract-a-list-of-tables-into-one-main-table-some-column