Note: The other languages of the website are Google-translated. Back to English

如何根据Excel中的条件提取唯一值?

假设您有一个左侧的数据范围,您只想根据A列的特定标准仅列出B列的唯一名称即可获得结果,如下面的屏幕截图所示。 您如何快速,轻松地在Excel中处理此任务?

根据条件使用数组公式提取唯一值

使用数组公式基于多个条件提取唯一值

从具有有用功能的单元格列表中提取唯一值

 

根据条件使用数组公式提取唯一值

要解决此工作,您可以应用一个复杂的数组公式,请执行以下操作:

1。 在要列出提取结果的空白单元格中输入以下公式,在此示例中,我将其放在单元格E2中,然后按 Shift + Ctrl + 输入 键以获取第一个唯一值。

=IFERROR(INDEX($B$2:$B$15, MATCH(0, IF($D$2=$A$2:$A$15, COUNTIF($E$1:$E1, $B$2:$B$15), ""), 0)),"")

2。 然后,将填充手柄向下拖动到单元格,直到显示空白单元格,现在已列出了基于特定条件的所有唯一值,请参见屏幕截图:

请注意: 在上面的公式中: B2:B15 是列范围包含您要从中提取的唯一值, A2:A15 该列包含您基于的条件, D2 指示您要基于的列出唯一值的条件,并且 E1 是您输入的公式上方的单元格。

使用数组公式基于多个条件提取唯一值

如果要基于两个条件提取唯一值,这是另一个可以帮助您的数组公式,请执行以下操作:

1。 在要列出唯一值的空白单元格中输入以下公式,在此示例中,我将其放在单元格G2中,然后按 Shift + Ctrl + 输入 键以获取第一个唯一值。

=IFERROR(INDEX($C$2:$C$15,MATCH(0,COUNTIF(G1:$G$1,$C$2:$C$15)+IF($A$2:$A$15<>$E$2,1,0)+IF($B$2:$B$15<>$F$2,1,0),0)),"")

2。 然后,将填充手柄向下拖动到单元格,直到显示空白单元格,现在已列出了基于特定两个条件的所有唯一值,请参见屏幕截图:

请注意: 在上面的公式中: C2:C15 是列范围包含您要从中提取的唯一值, A2:A15 E2 是您要根据其提取唯一值的条件的第一个范围, B2:B15F2 是您要根据其提取唯一值的条件的第二个范围,并且 G1 是您输入的公式上方的单元格。

从具有有用功能的单元格列表中提取唯一值

有时,您只想从单元格列表中提取唯一值,在这里,我将推荐一个有用的工具-Kutools for Excel,其 提取具有唯一值的单元格(包括第一个重复项) 实用程序,您可以快速提取唯一值。

请注意:申请这个 提取具有唯一值的单元格(包括第一个重复项),首先,您应该下载 Kutools for Excel,然后快速轻松地应用该功能。

安装后 Kutools for Excel,请这样做:

1。 单击要在其中输出结果的单元格。 (备注:不要单击第一行中的单元格。)

2。 然后点击 库工具 > 公式助手 > 公式助手,请参见屏幕截图:

3。 在 公式助手 对话框,请执行以下操作:

  • 选择 文本 选项从 公式 房屋类型 下拉列表;
  • 然后选择 提取具有唯一值的单元格(包括第一个重复项) 来自 选择一个草 列表框;
  • 在右边 参数输入 部分中,选择要提取唯一值的单元格列表。

4。 然后点击 Ok 按钮,第一个结果显示在单元格中,然后选择该单元格并将填充手柄拖到要列出所有唯一值的单元格上,直到显示空白单元格为止,请参见屏幕截图:

立即免费下载Kutools for Excel!


更多相关文章:

  • 计算列表中唯一值和不同值的数量
  • 假设您的值列表很长,其中包含一些重复项,现在,您要计算唯一值(仅一次出现在列表中的值)或不同值(列表中所有不同值的数量)的数量值+第一个重复值),如左图所示。 本文,我将讨论如何在Excel中处理此工作。
  • 根据Excel中的条件求和唯一值
  • 例如,我现在有一系列数据,其中包含“名称”和“订单”列,以根据“名称”列仅对“订单”列中的唯一值求和,如下图所示。 如何在Excel中快速轻松地解决此任务?
  • 连接Excel中的唯一值
  • 如果我有一长串的值填充了一些重复数据,那么现在,我只想查找唯一值,然后将它们串联到单个单元格中。 如何在Excel中快速轻松地解决此问题?

最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能. 支持 Office / Excel 2007-2021 和 365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能 30 天免费试用。 60 天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (40)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
嗨,感谢本教程,它工作得很好。 我正在尝试修改它以使用 OR 条件,但它似乎不起作用 - 这可能吗? 例如 =INDEX($B$2:$B$17, MATCH(0, IF(OR($D$2=$A$2:$A$17,$D$2=$B$2:$B$17), COUNTIF($E$1 :$E1, $B$2:$B$17), ""), 0))
该评论由网站上的主持人最小化
感谢您提供本教程! 我也在尝试修改公式,就像上面的评论员一样,但是使用 AND 条件,使其满足另一个条件标准(例如,对于这个例子,我只想看到高于某个阈值的东西)。 你能给些建议么? 谢谢!
该评论由网站上的主持人最小化
嘿,一种方法:将 if 公式替换为 sumproduct((condition1=rng1)+(condition2=rng2))*countif(... 它对我有用。祝你好运!通过将 + 替换为 * 你可以使其成为 OR 条件,但请注意括号!
该评论由网站上的主持人最小化
谢谢你,这太棒了!
该评论由网站上的主持人最小化
谢谢你,我已经尝试过了,似乎间歇性地工作正常。 不断重复的问题是,有时只有第一个匹配值会返回,然后在我向下拖动以返回所有匹配值时重复。 我该如何防止这种情况? 有什么建议么?
该评论由网站上的主持人最小化
这非常有效,但是每当它输入的值被复制时,它只放置一次。 例如,如果您的列表中有两个 Lucy,它只会将一个 Lucy 带到新表中。 有没有办法解决这个问题?
该评论由网站上的主持人最小化
使用此公式时,它会不断重复第一个值,您如何停止并提供等于 D2 中乘积的值列表?
该评论由网站上的主持人最小化
嗨,要在您向下拖动时停止第一个值重复,您必须对要放入公式的单元格上方的单元格进行计数。例如,如果公式在 E2 中,您必须键入 countif($E$1:$E1...
该评论由网站上的主持人最小化
嗨,瑞安。 公式效果很好,但是当向下拖动第一个值时会不断重复。 我已确保 COUNTIF 使用公式引用单元格上方的单元格,但向下拖动时仍重复第一个值? (例如,如果数组公式在 C2 中,则 COUNTIF 指向单元格 $C$1:$C$1)
该评论由网站上的主持人最小化
嗨,瑞安。 公式效果很好,但是当向下拖动第一个值时会不断重复。 我已确保 COUNTIF 使用公式引用单元格上方的单元格,但向下拖动时仍重复第一个值? (例如,如果数组公式在 C2 中,则 COUNTIF 指向单元格 $C$1:$C$1)
该评论由网站上的主持人最小化
可能不起作用,因为您已锁定单元格 - 尝试将 $C$1:$C$1 替换为 $C$1:$C1
该评论由网站上的主持人最小化
这非常有帮助,但我不断得到这样的所有名称的双倍:
能源部,简
能源部,简
胡佛,汤姆
胡佛,汤姆

我怎么能阻止这个?
该评论由网站上的主持人最小化
您好,我在“匹配功能”中收到“#N/A”错误,您能指导一下吗?
该评论由网站上的主持人最小化
=IF(AL2="AP","AP",IF(AK2="AD","AD",IF(Z2>500000,"Yes","No"))) 我想要满足“所有条件”说是...excel反映了这个公式中的错误..请告知
该评论由网站上的主持人最小化
实际上,如果(AL2 =“AP”和AK2 =“AD”和Z2> 500000),我希望单元格反映“是”
该评论由网站上的主持人最小化
我在使用此公式的 Match 函数中遇到 #N/A 错误。您能帮忙吗?
该评论由网站上的主持人最小化
您好,我在“匹配功能”中收到“#N/A”错误,您能指导一下吗?
该评论由网站上的主持人最小化
如果您收到 #N/A 错误,请转到您的公式并使用 Control + Shift + Enter 而不是 Enter。
该评论由网站上的主持人最小化
我得到的是 0 而不是预期的结果,该公式对同一张表中的数据效果很好,你对不同表中的数据有什么解决方案吗?

这是我的公式

=IFERROR(INDEX('Switching Data'!$B$7:$B$204,MATCH(0,IF($A$2='Switching Data'!$A$7:$A$204,COUNTIF($A$4:A4,'Switching Data'!$B$7:$B$204),""),0)),0)
该评论由网站上的主持人最小化
嗨,贡,
插入公式后,您应该同时按 Ctrl + Shift + Enter 键,而不仅仅是 Enter 键。
请尝试一下,谢谢!
该评论由网站上的主持人最小化
你好,Gon,我希望你一切都好。 我想知道你是否可以解决这个问题。 当公式来自不同的工作表时,我会遇到同样的错误。 如果您得到解决方案,我将不胜感激。
该评论由网站上的主持人最小化
感谢!
该评论由网站上的主持人最小化
我如何让这个公式返回每个重复项而不是每个名称之一? 例如,在上面的示例中,如何让结果列 (B:B) 返回 Lucy、Ruby、Anny、Jose、Lucy、Anny、Tom? 我将其用作从总帐中提取特定帐户摘要的预算工具。 但是,一些金额和交易描述在总帐中是重复的。 一旦提取了第一个重复值,就不会再提取它们了。
该评论由网站上的主持人最小化
嗨,乔,
要根据特定的单元格条件提取所有对应的值,以下数组公式可以帮助您,请参见屏幕截图:
=IF(ISERROR(INDEX($A$1:$B$17,SMALL(IF($A$1:$A$17=$D$2,ROW($A$1:$A$17)),ROW(1:1)),2)),"",
INDEX($A$1:$B$17,SMALL(IF($A$1:$A$17=$D$2,ROW($A$1:$A$17)),ROW(1:1)),2))

插入公式后,请同时按 Shift + Ctrl + Enter 键得到正确的结果,然后向下拖动填充柄得到所有值。
希望对你有帮助,谢谢!
查看附件 (1 / 5)
该评论由网站上的主持人最小化
到现在为止还挺好。 我能够复制测试表中的结果,对数组进行更改,然后更正公式以说明我所做的更改。 我计划今天把它移到主表中,看看它是如何工作的。 谢谢您的帮助!
该评论由网站上的主持人最小化
好的,所以它在主工作簿中工作。 有一个例外我无法确定原因:如果数组(在我的情况下,我从第 3 行开始的总帐)不是从第 1 行开始,则返回的值不正确。 是什么导致了这个问题,公式中的哪个术语解决了这个问题? 再次感谢您对此的帮助!
该评论由网站上的主持人最小化
最后一个问题:如果我希望结果列返回与 KTE 或 KTO 无关的所有值(因此,D:D 将是 Tom、Nocol、Lily、Angelina、Genna),我该怎么做?
该评论由网站上的主持人最小化
对我来说,这个公式不起作用。 我按 ctrl shift enter ,我仍然收到错误 N/A。 我想补充一点,我准备了与教程中相同的数据。 它不起作用的原因是什么?
该评论由网站上的主持人最小化
这对我来说非常有用,具有特定的查找值。 但是,如果我想使用通配符来查找部分值,我该怎么做? 例如,如果我想查找与 KT 关联的所有名称?

我正在使用这个函数来查找包含多个文本的单元格。 例如,如果每个产品在同一个单元格中也有一个子产品,但我只是在寻找与子产品“elf”相关联的名称。

KTE - 精灵
KTE-球
KTE——钢琴
KTO-精灵
KTO-球
KTO——钢琴
该评论由网站上的主持人最小化
有没有办法在允许重复值的同时完成这项工作? 例如,我希望在结果中列出 Lucy 的所有实例。
该评论由网站上的主持人最小化
你好,康斯坦丁,
要提取所有对应的值,包括基于特定单元格条件的重复项,以下数组公式可以帮助您,请参见屏幕截图:
=IF(ISERROR(INDEX($A$1:$B$17,SMALL(IF($A$1:$A$17=$D$2,ROW($A$1:$A$17)),ROW(1:1)),2)),"",
INDEX($A$1:$B$17,SMALL(IF($A$1:$A$17=$D$2,ROW($A$1:$A$17)),ROW(1:1)),2))

插入公式后,请同时按 Shift + Ctrl + Enter 键得到正确的结果,然后向下拖动填充柄得到所有值。
希望对你有帮助,谢谢!
查看附件 (1 / 5)
这里还没有评论
加载更多
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护