我有以下Excel电子表格:
A B
1 Original List Unique List
2 Product A Product A
3 Product A Product B
4 Product B Product C
5 =""
6 Product A
7 Product C
8 Product B
9 =""
10 Product C
在 A栏中,我有多次包含多个产品的列表。我的目标是在 B列中创建所有唯一项目的列表。
为了实现这个目的,我在细胞B2:B10 中使用了this帖子中的公式:
B2:B10 =IFERROR(INDEX($A$2:$A$10,MATCH(SUM(COUNTIF(B$1:B1,$A$2:$A$10)),COUNTIF($A$2:$A$10,"<"&$A$2:$A$10),0)),"")
我得到以下结果:
A B
1 Original List Unique List
2 Product A
3 Product A Product A
4 Product B Product B
5 ="" Product C
6 Product A
7 Product C
8 Product B
9 =""
10 Product C
这个结果非常接近我想要的列表。唯一的问题是公式无法处理 A列中某些单元格中的公式=""
。不是在 Cell B2 中启动列表,而是在 Cell B3 中启动列表。
我如何制作公式,以便在原始列表中有=""
的单元格时也可以使用?
答案 0 :(得分:0)
你能否使用excel内置的&#39;删除重复项&#39; ?功能:
Range("$A$2:$A$10").RemoveDuplicates Columns:=1, Header:=xlNo
答案 1 :(得分:0)
我们可以使用“帮助”列。在 C2 中输入:
=IF(A2="","",IF(COUNTIF($A$2:A2,A2)>1,"",1+MAX($C$1:C1)))
并复制下来。列 C 为 A 列中的每个项目分配一个简单的顺序值,从中提取数据。然后在 B2 中输入:
=IFERROR(INDEX($A$2:$A$10,MATCH(ROWS($1:1),$C$2:$C$10,0)),"")
并复制下来:
注意:强>
此方法使用普通公式而不是数组公式。
答案 2 :(得分:0)
您可以使用Advanced Filter
。
使用公式条件,例如=LEN(A5)>0
,其中A5
是第一个包含数据的单元格。然后检查“高级过滤器”对话框中的Unique Records Only
。您可以就地过滤,也可以过滤到新位置