Excel:从表中获取唯一值列表,并使用公式将值放在一列中

Excel:从表中获取唯一值列表,并使用公式将值放在一列中

我有一张包含多个行和列的值的表格。示例数据:

Green    Leaf
Green    Fire
Red      Fire
Water    Blue
Blue     
Red
Water

我想要表中的单个唯一值列。结果:

Green
Leaf
Fire
Red
Water
Blue

如果可能的话,我更愿意只使用公式。我尝试使用数据功能区菜单中的高级筛选工具这里,但结果是两列,而不是一列。

答案1

你可以使用这个公式:

=IFERROR(INDEX($A$1:$A$7,AGGREGATE(15,7,ROW($A$1:$A$7)/(COUNTIF($D$1:D1,$A$1:$A$7)=0),1)),INDEX($B$1:$B$4,AGGREGATE(15,7,ROW($B$1:$B$4)/(COUNTIF($D$1:D1,$B$1:$B$4)=0),1)))

它迭代第一列值直至出错,然后在向下拖动时迭代第二列值。

要记住的重要一点是,它至少需要位于第二行,并且应该$D$1:D1引用公式首次放置的单元格正上方的单元格,注意引用中什么是绝对的,什么不是绝对的。

在此处输入图片描述

答案2

您可以使用以下公式:

=UNIQUE({FILTER(A1:A7;A1:A7<>“”));FILTER(B1:B7;B1:B7<>“”)})

让我们解释一下:

  • FILTER(A1:A7;A1:A7<>"") --> A 列经过过滤,因此我们仅检索非空白值
  • FILTER(B1:B7;B1:B7<>"") --> 对于 B 列也会发生同样的情况
  • 我们将两个函数都放在括号 {} 内,这样我们就可以把数据转换成垂直数组
  • UNIQUE --> 该函数允许我们删除重复的值

相关内容