Excel 宏对两列并排排序

Excel 宏对两列并排排序

这是我经常要做的一项任务:

我有两个表,它们的内容相似但不相同。假设:表 1 包含列 A1、B1、C1、... 表 2 包含列 A2、B2、C2、... 假设表 1 是表 2 的旧版本。因此表 2 包含表 1 没有的记录,一些记录已被删除,一些记录已更改。假设 A 是两个表中的 id 列。

如果我在 Excel 表中并排显示了这两个表中的数据(A1、B1、C1、...、A2、B2、C2、...),我该如何对它们进行排序,以便两个表中 A 列匹配的行彼此相邻,而一个表中包含数据但另一个表不包含数据的行则单独排序,另一侧有空列?

例如表 1 的 A 列包含:1,2,5,6

表 2 的 A 列包含:2,3,6,7,10

那我怎样才能得到这个结果:

A1 A2
1
2 2
   3
5
6 6
   7
   10

B、C 等列应与 A 列一起排序。

(为了更清楚:如果我用两个 mysql 表来执行此操作,它将类似于表 1 和表 2 之间的左连接和右连接的并集,在列 A1=A2 上,按 coalesce(A1,A2) 排序。)

Ax 列可以包含字母数字数据,而不仅仅是数字,并且两个表之间的列数并不总是相同(它们只需要与各自的 Ax 列一起排序)。

解决方案不一定是宏,但我怀疑如果没有宏我就无法做到这一点?

预计到达时间:我通常这样做的方式是从一个工作表上的一个表复制数据,按 A 排序,然后从另一个工作表上的另一个表复制数据,按 A 排序,将它们复制到彼此旁边,然后手动将空的“行”插入到缺少行的那一半。

对于宏,我不关心它如何启动,我猜如果两者位于同一个 Excel 文件中的不同工作表上会最简单,但我需要在同一张工作表上并排显示最终结果。

相关内容