如何合并来自不同工作表的列而不重复?
How to merge columns from different sheets without duplicates?
如何将来自两个不同 sheet 的两列数据合并到第三个 sheet 的一列中而不重复?
例如:
Sheet 1
ID
1
2
3
和
Sheet 2
ID
1
6
7
3
变成Sheet3
1
2
3
6
7
可以通过扩展列出唯一值的常用公式来做到这一点
=INDEX(Sheet1!$A:$A, MATCH(0, COUNTIF($a:a1, Sheet1!$A:$A), 0))
第一个列表
和
=INDEX(Sheet2!$A:$A, MATCH(0, COUNTIF($a:a1, Sheet2!$A:$A), 0))
第二个列表
在伪代码中
If at end of first list
If at end of second list
Show nothing
Else
Show next item from second list
Else
If at end of second list
Show next item from first list
ELse
Show smaller of (next item from first list, next item from second list)
所以组合公式为
=IF(ISERROR(INDEX(Sheet1!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet1!$A:$A), 0))),
IF(ISERROR(INDEX(Sheet2!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet2!$A:$A), 0))),
"",
INDEX(Sheet2!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet2!$A:$A), 0))),
IF(ISERROR(INDEX(Sheet2!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet2!$A:$A), 0))),
INDEX(Sheet1!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet1!$A:$A), 0)),
MIN(INDEX(Sheet1!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet1!$A:$A), 0)),
INDEX(Sheet2!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet2!$A:$A), 0)))
))
从 Sheet3!A2 开始。
这些都是数组公式
此版本仅适用于数字。
适用于数字和文本的版本:-
=IF(ISERROR(INDEX(Sheet1!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet1! $A:$A),0))),
IF(ISERROR(INDEX(Sheet2!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet2! $A:$A),0))),
"",
INDEX(Sheet2!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet2!$A:$A),0))),
IF(ISERROR(INDEX(Sheet2!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet2!$A:$A),0))),
INDEX(Sheet1!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet1!$A:$A),0)),
IF( INDEX(Sheet1!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet1!$A:$A),0))
<INDEX(Sheet2!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet2!$A:$A),0)),
INDEX(Sheet1!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet1!$A:$A),0)),
INDEX (Sheet2!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet2!$A:$A),0)))
))
x 不排序
x 不跳过空格
✓ 如果列表已经按升序排列,则保留顺序。
如何将来自两个不同 sheet 的两列数据合并到第三个 sheet 的一列中而不重复?
例如:
Sheet 1
ID
1
2
3
和 Sheet 2
ID
1
6
7
3
变成Sheet3
1
2
3
6
7
可以通过扩展列出唯一值的常用公式来做到这一点
=INDEX(Sheet1!$A:$A, MATCH(0, COUNTIF($a:a1, Sheet1!$A:$A), 0))
第一个列表
和
=INDEX(Sheet2!$A:$A, MATCH(0, COUNTIF($a:a1, Sheet2!$A:$A), 0))
第二个列表
在伪代码中
If at end of first list
If at end of second list
Show nothing
Else
Show next item from second list
Else
If at end of second list
Show next item from first list
ELse
Show smaller of (next item from first list, next item from second list)
所以组合公式为
=IF(ISERROR(INDEX(Sheet1!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet1!$A:$A), 0))),
IF(ISERROR(INDEX(Sheet2!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet2!$A:$A), 0))),
"",
INDEX(Sheet2!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet2!$A:$A), 0))),
IF(ISERROR(INDEX(Sheet2!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet2!$A:$A), 0))),
INDEX(Sheet1!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet1!$A:$A), 0)),
MIN(INDEX(Sheet1!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet1!$A:$A), 0)),
INDEX(Sheet2!$A:$A, MATCH(0, COUNTIF($A:A1, Sheet2!$A:$A), 0)))
))
从 Sheet3!A2 开始。
这些都是数组公式
此版本仅适用于数字。
适用于数字和文本的版本:-
=IF(ISERROR(INDEX(Sheet1!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet1! $A:$A),0))),
IF(ISERROR(INDEX(Sheet2!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet2! $A:$A),0))),
"",
INDEX(Sheet2!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet2!$A:$A),0))),
IF(ISERROR(INDEX(Sheet2!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet2!$A:$A),0))),
INDEX(Sheet1!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet1!$A:$A),0)),
IF( INDEX(Sheet1!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet1!$A:$A),0))
<INDEX(Sheet2!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet2!$A:$A),0)),
INDEX(Sheet1!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet1!$A:$A),0)),
INDEX (Sheet2!$A:$A,MATCH(0,COUNTIF($A:A1,Sheet2!$A:$A),0)))
))
x 不排序
x 不跳过空格
✓ 如果列表已经按升序排列,则保留顺序。