如何从Excel的多个列中找到唯一的值

  • Share This
Hugh West

在这篇文章中,我将展示如何在Microsoft Excel中从多列中找到唯一值。

下载实践工作手册

下载以下Excel文件,以便你在阅读这篇文章时进行练习。

查找多列唯一值.xlsm

在Excel中从多列中寻找唯一值的5种方法

让我们看看这个数据集。 我们有一所名为Glory幼儿园的学校的学生记录。

我们在列中有学生的ID、名字和姓氏。 B , C, D 分别是。

现在我们要整理出学生的独特名字。

方法1:用数组公式从多个列中提取唯一值

i. 使用UNIQUE功能

预防措施。 一致性功能 只适用于 办公室365 .

UNIQUE函数的语法。

=UNIQUE(array,[by_col],[exact_once])

  • 接受三个参数,一个叫做 "A "的单元格范围。 阵列 ,以及两个布尔值,称为 by_col 确切地说是一次 .
  • 返回的唯一值来自 阵列 .
  • 如果 by_col 被设置为 为真 的列来搜索唯一的值。 这个参数是可选的。 默认是 是的 .
  • 如果 确切地说是一次 被设置为 为真 ,返回只出现一次的值,在 阵列 这个参数是可选的,默认是 失败 .

现在,我们要从这两份文件中提取唯一的值。 姓氏 (专栏 C )和 姓氏 (专栏 D ).

  • 首先,选择一个单元格并在那里插入这个公式。 我选择单元格 E5 并在那里输入。

=unique(c5:d16,false,true)

看,我们在两个不同的列中得到了独特的名字。

  • 这里我们插入了 by_col 作为 失败 ,所以它没有沿列搜索
  • 这里我们插入了 确切地说是一次 作为 为真 ,所以它确实返回了只出现一次的值。

当然,如果你愿意,你可以改变这些布尔值,称为 by_col 确切地说是一次 并看看会发生什么。

阅读更多。 Excel VBA从列中获取唯一值(4个例子)

ii. 结合CONCATENATE和UNIQUE函数

刚才,我们在一个单元格中得到了名字,在相邻的单元格中得到了姓氏。 但是,如果有人要求在一个单元格中得到完整的名字,例如,杰克-莫里斯,那么? 使用这些公式中的任何一个。 它们是由以下内容组成的 獨特的 连结 职能。

第一个公式。

=unique(concatenate(c5:c16," ",d5:d16),false,true)

替代公式。

或者,你可以用这个-

=UNIQUE(C5:C16&" "&D5:D16,FALSE,TRUE)

看,我们在一列中提取了完整的唯一名称,用空格( )分隔。

阅读更多。 在Excel中查找某一列的唯一值(6种方法)

iii. 使用UNIQUE、CONCATENATE和FILTER函数来提取基于标准的唯一值

现在假设一下,人们想提取ID大于150的学生的唯一名字。 如何做到这一点?

我们将使用 獨特的 筛选器 职能。

预防措施。 ǞǞǞ 筛选器 函数只在 办公室365 .

FILTER功能的语法。

=FILTER(array,include,[if_empty])

  • 需要三个参数。 一个单元格的范围称为 阵列。 一个名为 "布尔 "的条件 包括 ,还有一个值叫
  • 返回来自 阵列 符合《公约》规定的条件的
  • 如果任何值的 阵列 并不符合《公约》规定的条件。 包括 ,它返回的值是 if_empty 为它设置。 if_empty 是可选的,默认为 "无结果"。

现在我们想提取ID大于150的学生的唯一名字。

  • 因此,我们的公式将是

=UNIQUE(FILTER(C5:D16,B5:B16>150, "无结果"),FALSE,TRUE)

看,我们已经提取了唯一的名字和姓氏。

  • 如果你想在一个单元格中提取出完整的唯一名称,请使用此公式--

=UNIQUE(FILTER(CONCATENATE(C5:C16," ",D5:D16),B5:B16>150, "无结果") ,FALSE,TRUE)

阅读更多。 如何在Excel中根据标准提取唯一值

方法2:使用条件格式化突出显示重复的值

让我们来看看这个新的数据集。 我们有三列,但都是同一类型的数据。

我们有光荣幼儿园一些学生的绰号。 现在我们想找出这些学生的独特名字。

我们怎样才能做到这一点呢?

为了方便起见,我们可以使用条件格式化突出显示重复的值。

📌步骤。

  • 首先,选择单元格的范围。
  • 然后转到 首页> 条件格式化> 突出显示单元格规则> 重复值。

  • 你会得到一个名为 重复的价值。
  • 从那里选择任何颜色来突出重复的值。 我选择的是绿色。

方法3:使用无数组公式从Excel列中提取唯一值

要使用一个非数组公式,你必须把 误差(IFERROR , LOOKUP。 COUNTIF 功能。 要应用该公式,请应用以下步骤。

📌步骤。

  • 选择任何单元格。
  • 然后插入以下公式-

=iferror(iferror(lookup(2, 1/(countif($f$4:f4,$b$5:$b$11)=0), $b$5:$b$11), lookup(2, 1/(countif($f$4:f4, $c$5:$c$9)=0), $c$5:$c$9) ), lookup(2, 1/(countif($f$4:f4, $d$5:$d$12)=0) , $d$5:$d$12) )

  • 在这里,我把它插入到 细胞F5 .
  • 然后拖动填充手柄,你会发现独特的名字。

请注意。

在这里,代替专栏的是 B , C, D ,你可以使用你喜欢的。

方法4:使用数据透视表从两个或更多的列中提取一个独特的区别性列表

你也可以使用透视表工具从两个或多个列中创建一个唯一的列表。 应用以下步骤来做到这一点。

📌步骤。

  • 新闻 Alt + D .
  • 然后按 P 马上,你会得到 透视表和透视图向导 打开了。
  • 选择 多种合并范围 透视表 按钮。

  • 然后点击 下一页 你将搬到 3的步骤2a .
  • 选择 为我创建一个单页字段 按钮。

  • 然后点击 下一页 你将去 步骤 2b .
  • 范围 框,选择左边有空栏的单元格范围。
  • 这里我选择了单元格 B5至D12 .
  • 然后点击 加。 你选择的单元格将被添加到 所有范围 箱子。

  • 然后点击 下一页 你将搬到 步骤 3 .
  • 现有的工作表 框中,写下你想要的单元格中的 透视表 我写道 $F$4.

  • 然后点击 完成 你将得到一个创建的透视表。
  • 选择要添加到报告的字段 部分,无标记 , 栏目 , 价值 , 第1页 .

  • 然后把支票放在 价值 你将会得到在 透视表 .

方法5:使用VBA代码查找唯一值

最后,你也可以使用VBA代码从数据集中提取唯一的名字。 做到以下几点。

📌步骤。

  • 新闻 Alt + F11 在你的工作簿上,打开 VBA 窗口。
  • 然后去到 插入 中的选项卡。 VBA 工具栏上。 点击它。
  • 从四个选项中,选择 模块 .

你将得到一个新的 模块 窗口。

  • 在那里写下以下代码。
 Sub Uniquedata() Dim rng As Range Dim InputRng As Range, OutRng As Range Set dt = CreateObject("Scripting.Dictionary") xTitleId = "Select Range" Set InputRng = Application.Selection Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8) Set OutRng = Application.InputBox("Output to (single cell): ", xTitleId, Type:=8) For Each rng in InputRng If rng.Value "" Thendt(rng.Value) = "" End If Next OutRng.Range("A1").Resize(dt.Count) = Application.WorksheetFunction. Transpose(dt.Keys) End Sub 

这个 场地 帮助我们理解和开发代码。

  • 将其保存为 启用Excel Macros的工作簿。
  • 然后回到你原来的工作表,按 Alt + F8 .
  • 你会得到 宏观 箱子打开了。
  • 请选择名称 宏观 然后点击 运转 .
  • 在这里,这个名字 宏观 统一数据(Uniquedata .
  • 输入你的数据范围在 范围 箱子。

  • 点击进入 认可 你会得到另一个输入框。
  • 输入你想要的第一个单元格的唯一名称。 我输入单元格 F5 .

  • 然后点击 好的。 你将从你的数据集中获得独特的名字。

阅读更多。 如何在Excel中从范围中获取唯一值(8种方法)

总结

使用这些方法,你可以在Excel中从具有相同或不同类型数据的多个列中找到唯一值。 如果你有任何进一步的疑问,请给我们留言。 你也可以访问我们的 博客 以了解更多关于MS Excel的各种主题。

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.