如何在Excel中按条件提取唯一值?UNIQUE函数需添加条件
按条件返回唯一值列表(替代不存在的UNIQUEIF函数)
问题说明
需要依据另一列的条件筛选并返回唯一值列表,已知UNIQUE函数可实现去重,但不知道如何添加筛选条件,需求逻辑类似COUNTIF但没有对应的UNIQUEIF函数。
原始数据
假设水果列在E4:E11,对应名称列在F4:F11,数据如下:
apple | Deejay banana | Deejay Mango | Deejay Apple | Deejay kiwi | Ann Apple | Ann Melon | Deejay Melon | Deejay
期望输出
筛选出对应名称为"Deejay"的唯一水果名称(统一大小写):
Value "Deejay" Apple Banana Mango Melon
当前使用公式
=UNIQUE(E4:E11,FALSE,FALSE)
该公式仅对E列全量去重,未添加名称筛选条件。
解决方案
适用于Excel 365/2021及以上(支持动态数组)
结合FILTER和UNIQUE函数,同时用PROPER统一大小写消除重复:
=UNIQUE(PROPER(FILTER(E4:E11,F4:F11="Deejay")))
FILTER(E4:E11,F4:F11="Deejay"):先筛选出名称为"Deejay"的所有水果PROPER():将水果名称转为首字母大写格式,避免大小写差异导致的重复UNIQUE():对筛选结果去重
如果不需要统一大小写(此时apple和Apple会被视为两个独立值),可去掉PROPER:
=UNIQUE(FILTER(E4:E11,F4:F11="Deejay"))
适用于旧版Excel(无动态数组支持)
使用数组公式实现,输入后需按Ctrl+Shift+Enter确认:
=INDEX(E4:E11, MATCH(0, COUNTIF($G$3:G3, E4:E11)+(F4:F11<>"Deejay"), 0))
- 在空白单元格(如G4)输入公式,下拉填充直到出现
#N/A,可搭配IFERROR隐藏错误值:=IFERROR(INDEX(E4:E11, MATCH(0, COUNTIF($G$3:G3, E4:E11)+(F4:F11<>"Deejay"), 0)), "")
内容的提问来源于stack exchange,提问作者deejay
相关产品推荐
相关产品推荐

