如何过滤Excel中的唯一值(8种简单方法)

  • Share This
Hugh West

过滤唯一数据是解决数据集中众多条目的有效方法。 Excel提供了多种过滤唯一数据或删除重复数据的功能,无论我们如何称呼它。 在这篇文章中,我们将演示如何从一个样本数据集中过滤唯一数据。

假设我们在一个Excel数据集中有三个简单的列,其中包括 订购日期 , 类别 ,以及 产品 我们要的是整个数据集中唯一的有序产品。

下载Excel工作簿

筛选唯一值.xlsm

在Excel中过滤唯一值的8种简单方法

方法一:使用Excel删除重复的功能来过滤唯一值

为了摸清庞大数据集中的条目,我们有时需要删除重复的内容。 Excel提供了 删除重复的内容 中的功能。 数据 选项卡来省略数据集中的重复条目。 在这种情况下,我们要从 类别 产品 列。 因此,我们可以使用 删除重复的内容 功能来做。

步骤1。 选择范围(即:。 类别 产品 ) 然后转到 数据 Tab> 选择 删除重复的内容 (从 数据工具 节)。

第2步。 ǞǞǞ 删除重复的内容 窗口出现,在 删除重复的内容 窗口。

检查了所有的栏目。

勾选选项 我的数据有标题 .

点击 认可 .

第3步。 出现一个确认对话框说 8 发现并删除重复的值。 仍有7个独特的价值 .

点击 认可 .

所有的步骤都会导致以下的后果,如下图所示。

方法2:使用条件格式化来过滤唯一值

另一种过滤独特的方法是 条件性格式化 .Excel 条件性格式化 然而,在这种情况下,我们使用一个公式来有条件地格式化一个范围内的单元格(即:。 产品 我们有两个选项可以应用 条件性格式化 一个是过滤唯一值的条件格式化,另一个是隐藏范围中的重复值。

2.1. 条件性格式化过滤唯一值

在这种情况下,我们用一个公式在 条件性格式化 选项,以Excel过滤唯一条目。

步骤1。 选择范围(即:。 产品1 ) 然后转到 首页 Tab> 选择 条件性格式化 (来自 风格 section)> 选择 新规则 .

第2步。 ǞǞǞ 新的格式化规则 窗口弹出,在 新的格式化规则 窗口。

选择 使用一个公式来决定哪些单元格需要格式化 根据 选择一个规则类型 选择。

在下面输入以下公式 编辑规则描述 选择。

=counttif($d$5:d5,d5)=1

在公式中,我们指示Excel计算每个单元格在 D 列为 独特的 (即,等于 1 如果条目与施加的条件相匹配,则返回 为真 彩色格式 细胞。

点击进入 格式 .

第3步。 顷刻间, 格式化单元格 窗口出现,在 格式化单元格 窗口。

字体 部分-选择任何格式化的颜色,如下图所示。

然后点击 认可 .

第4步。 点击 认可 在上一个步骤中,将你带到 新的格式化规则 窗口,在 新的格式化规则 窗口,你可以看到独特的条目预览。

点击 认可 .

最后,你会得到独特的条目颜色,其格式与你想要的相似,如下图。

2.2. 隐藏重复的条件性格式化

在不干涉唯一值的情况下,我们可以简单地用以下方法隐藏重复的值 条件性格式化 为了隐藏重复的内容,我们必须应用与过滤单选题相同的公式,只是将它们的值指定为大于 1 在选择了 白色字体 颜色,我们可以把它们从其他条目中隐藏起来。

步骤1。 重复进行 步骤1 2 方法2.1 但要把插入的公式改为下面的公式。

=COUNTIF($D$5:D5,D5)>1

该公式指示Excel计算每个单元格在 D 列为 重复的 (即,大于 1 如果条目与施加的条件相匹配,则返回 为真 彩色格式 (即。 隐藏 )的细胞。

点击进入 格式 .

第2步。 点击 "格式",你将进入 格式化单元格 窗口,在 格式化单元格 窗口。

选择 字体 颜色 .

然后点击 认可 .

第3步。 在选择了 字体 颜色, 点击 认可 悬停你到 新的格式化规则 你可以看到预览是暗淡的,因为我们选择了 作为 字体 颜色。

点击 认可 .

按照所有的步骤,你会得到一个类似于下图的重复值的描述。

你必须选择 作为一个 字体 颜色,否则重复的条目就不会隐藏。

阅读更多。 如何在Excel中用公式过滤数据

方法3:使用数据标签高级过滤功能来过滤唯一值

前面的方法从数据集中删除或移除条目来过滤唯一的。 当我们在某些数据集上工作时,这是相当危险的。 可能有一些情况下,我们不能改变原始数据集,在这些情况下,我们可以使用 高级过滤器 选项来过滤所需位置上的唯一。

步骤1。 选择范围(即:。 产品 列)。 然后转到 数据 Tab> 选择 高级 (来自 排序 & 筛选 节)。

第2步。 ǞǞǞ 高级过滤器 窗口出现,在 高级过滤器 窗口。

选择 复制到另一个位置 下的行动 行动 选项。 你可以选择 对列表进行过滤,就地取材。 复制到另一个位置 然而,我们选择后者是为了不改变原始数据。

指定一个地点(即。 F4 )中。 复制到 选择。

检查了 仅限独特记录 选择。

点击 认可 .

点击 认可 按照步骤指示,在指定的位置获得唯一值。

方法4:使用Excel UNIQUE函数过滤唯一值

显示另一列中的唯一值也可以通过 獨特的 职能。 獨特的 函数从一个范围或数组中获取一个唯一的条目列表。 该函数的语法是 獨特的 功能是

UNIQUE(数组,[by_col],[exactly_once])。

争论。

阵列 的范围,或数组,从其中提取唯一值。

[by_col] ;比较和提取价值的方法,通过 行 = FALSE ( 违约 )和由 列 = TRUE . [可选]

[exactly_once] ;一旦发生的值= 为真 和现有的唯一值= 失败 (由 违约 ). [可选]

步骤1。 在任何空白单元格中键入以下公式(即:。 E5 ).

=unique(d5:d19)

第2步。 新闻 进入 然后在一秒钟内,所有独特的条目都弹出在类似下图的栏目中。

ǞǞǞ 獨特的 函数一次溢出所有的唯一条目。 然而,你不能使用 獨特的 以外的功能 Excel 365 版本。

类似读物

  • 筛选数据:基于单元格值的6种高效方法
  • 如何在Excel中添加过滤器(4种方法)
  • Excel过滤器的快捷方式(3种快速使用方法及示例)
  • 如何在Excel中使用文本过滤器(5个例子)

方法5:使用UNIQUE和FILTER函数(带标准)。

在方法4中,我们使用 獨特的 如果我们想根据一个条件获得唯一的条目,该怎么办呢? 比方说我们想获得唯一的 产品 某个人的名字 类别 来自我们的数据集。

在这种情况下,我们要的是唯一的 产品 的名称。 酒吧 (即。 E4 )类别的数据集。

步骤1。 在任何单元格中写下以下公式(即:。 E5 ).

=unique(filter(d5:d19,c5:c19=e4))

该公式指示要过滤 D5:D19 范围,对范围施加了一个条件 C5:C19 等于单元格 E4 .

第2步。 撞击 进入 ......之后的产品在 酒吧 类别,出现在 酒吧 栏,如以下截图所示。

你可以选择任何 类别 这是处理巨大的销售数据集的一个相当有效的方法。 筛选器 函数只在 Excel 365。

阅读更多。 在Excel中过滤多条标准

方法6:使用MATCH和INDEX函数(阵列公式)。

为了更简单的演示,我们使用一个没有空白或大小写敏感条目的数据集。 那么,我们如何处理这样一个有空白和大小写敏感条目的数据集呢? 在演示一个方法之前,让我们过滤一下非空白范围(即。 产品1 在这种情况下,我们使用 匹配 索引 函数来过滤唯一的。

6.1. MATCH和INDEX函数从非空白范围内过滤唯一值

我们可以看到在产品1范围内没有现有的空白单元格。

步骤1。 在单元格中键入以下公式 G5 来过滤掉那些独特的。

=iferror(index($d$5:$d$19, match(0, countif($g$4:g4, $d$5:$d$19), 0)), "" )

按公式计算。

首先。 countif($g$4:g4, $d$5:$d$19) ;计算范围内的单元格数量(即。 $G$4:G4 )的条件下,服从于(即。 $D$5:$D$19) . COUNTIF 返回 1 如果它发现 $G$4:G4 的范围内,否则 0 .

第二。 match(0, countif($g$4:g4, $d$5:$d$19), 0)) ;返回 产品的相对位置 在这个范围内。

终于到了。 index($d$5:$d$19, match(0, countif($g$4:g4, $d$5:$d$19), 0))。 返回符合条件的单元格条目。

ǞǞǞ 误差(IFERROR 函数限制了公式显示任何结果的错误。

第2步。 由于该公式是一个数组公式,按 ctrl+shift+enter 一起,所有独特的条目从 产品1 范围出现。

6.2. 用MATCH和INDEX函数从一个范围内现有的空白单元格中过滤唯一的值

现在,在 产品2 为了过滤出空白单元格中的唯一单元格,我们必须插入 ǞǞǞ 功能。

步骤1。 将以下公式粘贴在单元格中 H5 .

=iferror(index($e$5:$e$19, match(0,if(isblank($e$5:$e$19),1,countif($h$4:h4, $e$5:$e$19)), 0)), "")

这个公式的工作方式与我们在《中国》中描述的一样。 6.1.节 然而,额外的 基金会 函数的逻辑测试。 ǞǞǞ 函数使公式能够忽略范围内的任何空白单元格。

第2步。 撞击 ctrl+shift+enter 该公式忽略了空白单元格,并获取了所有的唯一条目,如下图所示。

6.3. 用MATCH和INDEX函数从一个对大小写敏感的范围内过滤唯一值

如果我们的数据集有大小写敏感的条目,我们必须使用 频度 函数,以及 输送 ROW 函数来过滤掉独特的。

步骤1。 在单元格中应用以下公式 I5 .

=index($f$5:$f$19, match(0, frequency(if(exact($f$5:$f$19, transpose($i$4:i4)), match(row($f$5:$f$19), row($f$5:$f$19)), "" ), match(row($f$5:$f$19), row($f$5:$f$19)), 0)

公式的各部分。

  • transpose($i$4:i4)。 通过将分号转换为逗号来转置前面的值。 ( 即,TRANSPOSE({"唯一值(区分大小写)";全麦"})变成{"唯一值(区分大小写)","全麦"}。
  • exact($f$5:$f$19, transpose($i$4:i4); 检查字符串是否相同,是否区分大小写。
  • if(exact($f$5:$f$19, transpose($i$4:i4)), match(row($f$5:$f$19), row($f$5:$f$19) )。 返回一个字符串在数组中的相对位置,如果 为真 .
  • frequency(if(exact($f$5:$f$19, transpose($i$4:i4)), match(row($f$5:$f$19), row($f$5:$f$19)), " ") ;计算一个字符串在数组中出现了多少次。
  • match(0, frequency(if(exact($f$5:$f$19, transpose($i$4:i4)), match(row($f$5:$f$19), row($f$5:$f$19)), "" ), match(row($f$5:$f$19), row($f$5:$f$19)), 0) ;找到第一个False(即。 空的 ) 数组中的值。
  • index($f$5:$f$19, match(0, frequency(if(exact($f$5:$f$19, transpose($i$4:i4)), match(row($f$5:$f$19), row($f$5:$f$19)), ""), match(row($f$5:$f$19), row($f$5:$f$19) ), 0) ;从数组中返回唯一的值。

第2步。 你需要按 ctrl+shift+enter 全部,并在单元格中出现了区分大小写的唯一值。

因此,在对所有类型的条目进行分类后,整个数据集看起来像下面的图片。

你可以改变任何 产品 数据类型来满足你的需求,并据此应用公式。

方法7:用VBA宏代码过滤唯一值

从数据集中,我们知道我们有一个Product列,我们希望从该列中获得唯一的值。 为了实现这项工作,我们可以使用 VBA 我们可以写一段代码,从选择中分配值,然后通过循环来发送,除非它摆脱了所有的重复值。

在我们应用 VBA 宏观代码,让我们确保我们有一个以下类型的数据集,并且我们选择了我们想要过滤的唯一的范围。

步骤1。 为了写一个宏代码,按 ALT+F11 开启 微软Visual Basic 在该窗口中,转到 插入 选项卡(在 工具栏 )> 选择 模块 .

第2步。 ǞǞǞ 模块 窗口出现,在 模块 , 粘贴以下代码。

 Sub Unique_Values() Dim Range As Variant, prdct As Variant Dim mrf As Object Dim i As Long Set mrf = CreateObject("scripting.dictionary") Range = Selection For i = 1 To UBound(Range) mrf(Range(i, 1) & "") = "" Next prdct = mrf.key Selection.ClearContents Selection(1, 1).Resize(mrf.Count, 1) = Application.Transpose(prdct) End Sub 

在宏代码中。

在声明了变量之后。 mrf = CreateObject("scripting.dictionary") 创建一个对象,被分配给 姆尔菲 .

选择 分配给 范围 ...... 对于 循环取每个单元格,然后与 范围 之后,代码清除了 选择 并以独特的 .

第3步。 撞击 F5 运行宏,然后返回工作表,你会看到选择的所有唯一值。

方法8:使用数据透视表来过滤唯一值

透视表 在Excel中,我们可以很容易地插入一个数据透视表,实现我们在这里的愿望。

步骤1。 选择一定的范围(即:。 产品 )。 之后,转到 插入 Tab> 选择 透视表 (来自 桌子 节)。

第2步。 ǞǞǞ 从一个表格或范围中提取透视表 窗口出现。 在该窗口中。

的范围(即。 D4:D19 )将被自动选择。

选择 现有的工作表 作为 你希望PivotTable被放置的位置 选择。

点击 认可 .

第3步。 ǞǞǞ 透视表字段 窗口出现,在 透视表字段 窗口,只有一个字段(即。 产品 ).

检查了 产品 字段,使独特的产品清单出现,如下图所示。

阅读更多。 如何过滤Excel数据透视表

总结

筛选器是Excel中常见的操作。 在这篇文章中,我们使用了各种功能,函数如 獨特的 , 筛选器 , 匹配 , 索引 以及 VBA宏程序 函数保持原始数据不变,并将结果显示在另一列或目的地。 然而,功能改变了原始数据,将条目从数据集中永久删除。 我希望这篇文章能给你一个清晰的概念,让你处理数据集中的重复数据和提取唯一的值。 评论,如果你有进一步的疑问或有有什么要补充的吗? 在我的下一篇文章中见。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.