统计区域中唯一值的个数在 Excel 中按条件统计
若需根据另一列的特定条件统计唯一值,可结合使用 SUM、FREQUENCY、MATCH 和 ROW 函数的数组公式。本分步指南将助您轻松解决公式应用中最棘手的问题。

如何在 Excel 中根据条件统计区域内唯一值的数量?
如下面的产品表所示,部分产品在同一天于同一商店出现重复销售。现在,如果您想统计商店 A 售出的唯一产品数量,可以使用以下公式。

通用公式
{=SUM(--(FREQUENCY(IF(range=criteria,MATCH(vals,vals,0)),ROW(vals)-ROW(vals.firstcell)+1)>0))}
参数
注意:本公式需以数组公式的方式输入。应用后,若公式两侧出现大括号,则表示数组公式已成功创建。
如何使用这些公式?
1. 选择一个空白单元格,用于显示结果。
2. 在输入以下公式到该单元格后,同时按下 Ctrl+Shift+Enter 键,即可得出结果。
=SUM(--(FREQUENCY(IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)),ROW(D3:D16)-ROW(D3)+1)>0))

注意:本公式中,E3:E16 为判断条件的区域,H3 为条件值,D3:D16 为需要统计唯一值的区域,D3 是 D3:D16 区域的首个单元格。您可根据实际需求进行修改。
本公式是如何工作的?
{=SUM(--(FREQUENCY(IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)),ROW(D3:D16)-ROW(D3)+1)>0))}
- IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)):
- IF({TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;},{1;2;3;2;1;1;3;2;1;1;1;2;3;2}):现在,数组 1 中每个为 TRUE 的位置,将返回数组 2 中对应的值;为 FALSE 的位置则返回 FALSE。这样,您将得到一个新数组,如 {1;FALSE;FALSE;2;FALSE;FALSE;3;FALSE;FALSE;1;FALSE;FALSE;3;FALSE}。
- ROW(D3:D16)-ROW(D3)+1:这里,ROW 函数分别返回 D3:D16 和 D3 的行号,因此结果为 {3;4;5;6;7;8;9;10;11;12;13;14;15;16}-{3}+1.
- 数组中的每个数字先减去 3,再加上 1,最终得到 {1;2;3;4;5;6;7;8;9;10;11;12;13;14}。
- FREQUENCY({1;FALSE;FALSE;2;FALSE;FALSE;3;FALSE;FALSE;1;FALSE;FALSE;3;FALSE},{1;2;3;4;5;6;7;8;9;10;11;12;13;14}):此处 FREQUENCY 函数会返回给定数组中每个数字出现的次数,例如 {2;1;2;0;0;0;0;0;0;0;0;0;0;0}。
- =SUM(--({2;1;2;0;0;0;0;0;0;0;0;0;0;0}>0)):
相关函数
Excel SUM 函数
Excel SUM 函数用于将数值相加
Excel FREQUENCY 函数
Excel FREQUENCY 函数可统计数值在指定区间内出现的次数,并返回一个纵向数组。
Excel IF 函数
Excel IF 函数可轻松实现逻辑判断,根据对比结果返回相应的值:结果为 TRUE 时返回一个值,结果为 FALSE 时返回另一个值。
Excel MATCH 函数
Excel MATCH 函数可在单元格区域中查找指定值,并返回其相对位置。
Excel ROW 函数
Excel ROW 函数可返回指定引用的行号。
相关公式
在筛选列表中统计可见行数
本教程将为您详细讲解如何使用 Excel 的 SUBTOTAL 函数,轻松统计筛选列表中的可见行数。
统计区域中唯一值的个数
本教程将为您讲解如何通过指定公式,仅统计 Excel 列表中重复项里的唯一值。
按条件统计可见行数
本教程将为您详细讲解如何按条件统计可见行的具体操作步骤。
对非连续区域使用 COUNTIF
本分步指南将为您演示如何在 Excel 中对非连续区域使用 COUNTIF 函数。
这款最佳办公效率工具
Kutools for Excel —— 助您脱颖而出
| 🤖 | KUTOOLS AI 助手:基于数据分析的变革创新智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮显示或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 超级 VLookup:多条件查询 | 多值返回 | 跨多工作表 | 模糊查找…… | |
| 高级下拉列表:轻松下拉列表 | 依赖下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列 | 移动列 | 切换隐藏列的显示状态 |比较列与选择相同/不同单元格…… | |
| 特色功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿和表管理器|资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表群发邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 顶级 15 工具组:12 文本工具(添加文本,删除特定字符……)| 50+ 图表 类型(甘特图……)| 40+ 实用公式(基于生日计算年龄……)| 19 插入工具(插入二维码,按路径插入图片……)| 12 转换工具(小写金额转大写,汇率转换……)| 7 合并和拆分工具(高级合并行,拆分 Excel 单元格……)|……以及更多 |
Kutools for Excel 拥有超过 300 项功能,让您的需求一键轻松实现……
Office Tab —— 让 Microsoft Office(包括 Excel)支持标签式阅读与编辑
- 一秒即可切换数十个已打开的文档!
- 每天为您减少上百次鼠标点击,轻松告别鼠标手困扰。
- 查看和编辑多个文档时,工作效率提升 50%。
- 为 Office(包括 Excel)引入高效标签页,让您同样畅享如 Chrome、Edge 和 Firefox 般的便捷体验。