You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 02:05:08