不通过编程,实现 Excel 数据的 Outer Join 合并。总体思路是先从两块数据中找出具备相同内容的列作为 Key 列,然后把两块数据的 Key 列内容纵向串接在一起,找出重复值并删除相应的行,既得到 Outer Join 结果。
示例问题
一组学生,有的考了地理、有的考了生物,现在要将两者合并成一张成绩表。在数据行数非常多的时候,不可能用人工观察的方式来进行合并,必须借助自动或半自动的方法。
原始数据:
期望得到的结果:
第一步:串接 Key 列
选择两块数据都有的“学号”作为 Key 列。将第一块数据的 Key 值复制到第二块,将第二块数据的 Key 值复制到第一块。注:表格中文字颜色仅为示意。得到以下结果:
第二步:找出重复行
对“生物”这张表,先按“学号”排序,得到:
然后,添加一个新列“X",编写公式“=IF(A2=A1,"X","")”,并向下复制到“X”列的每个单元格。该公式可以将上下 Key 值相同的行标记出来(标记为“X”),如下图:
然后,将整个“X”列通过“粘贴为数值”复制成一个新“X”列,删掉原来的“X”列。这样做的目的是在下面重新排序之后,X 标记不会因为调整了顺序而发生变化。
按“X”列倒序排序,并删除所有被标记为“X”的行:
然后把“X”列也删掉,最终得到新的“生物”表:
通过同样的方法,得到新的“地理”表:
第三步:合并数据
将两表的数据横向并置,如下图:
删除中间的“学号”列,就得到想要的结果了。