首页 > 解决方案 > 从多列中删除重复项,以便输出在 excel 中是唯一的

问题描述

我有这两个列:

Column 1    Column 2
A              E
B              F
C              B
D              A
               G

我需要比较这两列,所以输出必须是:

Column 3
A
B
C
D
E
F
G

标签: excel

解决方案


这可以通过像这样从单元格 C2 开始的公式来完成:

=IFERROR(INDEX($A$2:$A$5,MATCH(0,INDEX(COUNTIF($C$1:C1,$A$2:$A$5),,),)),IFERROR(INDEX($B$2:$B$6,MATCH(0,INDEX(COUNTIF($C$1:C1,$B$2:$B$6),,),)),""))

这是一个常规(非数组)公式。

请注意,虽然结果看起来已排序,但没有排序,它是按照遇到值的顺序报告的。第 1、2 和 3 列

我知道这不是请求的一部分,但既然我提到了它,如果我们希望列表排序尽管原始列的顺序,我认为这个公式输入到 C2 并复制下来将作为一个数组公式使用 [ Ctrl]+[Shift]+[Enter]:

=IFERROR(INDEX($A$2:$B$6, SMALL(IF(SMALL(IF(COUNTIF($C$1:C1, $A$2:$B$6)+ISBLANK($A$2:$B$6)=0, COUNTIF($A$2:$B$6, "<"&$A$2:$B$6)+1, ""), 1)=IF(ISBLANK($A$2:$B$6), "", COUNTIF($A$2:$B$6, "<"&$A$2:$B$6)+1), ROW($A$2:$B$6)-MIN(ROW($A$2:$B$6))+1), 1), MATCH(MIN(IF(COUNTIF($C$1:C1, $A$2:$B$6)+ISBLANK($A$2:$B$6)>0, "", COUNTIF($A$2:$B$6, "<"&$A$2:$B$6)+1)), INDEX(IF(ISBLANK($A$2:$B$6), "", COUNTIF($A$2:$B$6, "<"&$A$2:$B$6)+1), SMALL(IF(SMALL(IF(COUNTIF($C$1:C1, $A$2:$B$6)+ISBLANK($A$2:$B$6)=0, COUNTIF($A$2:$B$6, "<"&$A$2:$B$6)+1, ""), 1)=IF(ISBLANK($A$2:$B$6), "", COUNTIF($A$2:$B$6, "<"&$A$2:$B$6)+1), ROW($A$2:$B$6)-MIN(ROW($A$2:$B$6))+1), 1), , 1), 0), 1),"")

请参阅下面的一组修改后的原始值。我将输入列引用为一个范围,这使得它有点复杂,因为我必须删除空白值。

在此处输入图像描述


推荐阅读