多列上的唯一值

时间:2019-05-20 15:46:42

标签: excel vba

我需要从几列中获得唯一值的列表。数据如下所示: screenshot

我尝试使用“唯一”,但它只给我该列表的副本。这4个列表已经是另一个工作表中的唯一值。 如果不可能从4列中获得唯一性,那么我将如何组合这4列,而是将一行中的数据合并到1个单元格中,我想将那一列追加为每行一个城市(因此添加更多行)。 我有另一个想法-将数据从多张工作表中拉到1行中,但是由于它是自动报告,每张工作表中的城镇数量每次都在变化,因此不能使用特定的单元格位置。

2 个答案:

答案 0 :(得分:1)

您可以使用以下公式(输入到单元格F2中并假设您的数据在A1:D5范围内)

=IFERROR(LOOKUP("zzzzz",INDEX(IF(COUNTIF(F$1:F1,A$2:D$5),0,A$2:D$5),MIN(IF(COUNTIF(F$1:F1,A$2:D$5),"",ROW(A$2:D$5)-ROW(A$2)+1)),0)),"")

由于它是一个数组公式,因此需要使用 Ctrl + Shift + Enter 输入,并向下复制直到存在空白单元格< / p>

答案 1 :(得分:0)

在我的情况下不起作用,在calc(LibreOffice)中,我有完全相同的问题。从多行带有文本的空格中提取唯一值。我尝试了很多公式,但都没有成功...

什么对我有用-我不知道为什么对我有用!
A,B和C包含第二行及以后的文本。公式作为数组公式放在D2单元格上。

=IFERROR(IFERROR(IFERROR(
INDEX($A$2:$A$20; MATCH(0; COUNTIF($D$1:D1; $A$2:$A$20)+($A$2:$A$20=""); 0)); 
INDEX($B$2:$B$7; MATCH(0; COUNTIF($D$1:D1; $B$2:$B$7)+($B$2:$B$7=""); 0))
); 
INDEX($C$2:$C$12; MATCH(0; COUNTIF($D$1:D1; $C$2:$C$12)+($C$2:$C$12=""); 0))
); 
"")

找到了here