在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 函数返回引用的行号。
相关公式
统计筛选列表中可见行的数量 本教程解释了如何使用 SUBTOTAL 函数在 Excel 中统计筛选列表中可见行的数量。
统计范围内的唯一值 本教程解释了如何使用指定公式在 Excel 列表中统计唯一值(排除重复项)。
按条件统计可见行 本教程提供了详细的步骤,帮助您按条件统计可见行。
在非连续范围内使用 COUNTIF 本分步指南演示了如何在 Excel 中的非连续范围内使用 COUNTIF 函数。
最佳的办公生产力工具
Kutools for Excel - 助您脱颖而出
🤖 | Kutools AI 助手:基于以下功能彻底改变数据分析方式:智能执行 | 生成代码 | 创建自定义公式 | 分析数据并生成图表 | 调用Kutools函数… |
热门功能: 查找、高亮或标记重复项 | 删除空行 | 合并列或单元格而不丢失数据 | 四舍五入无需公式 ... | |
超级VLookup: 多条件 | 多值 | 跨多个工作表 | 模糊查找... | |
高级下拉列表: 简易下拉列表 | 级联下拉列表 | 多选下拉列表... | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较列以 选择相同和不同的单元格 ... | |
精选功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...) ... | |
排名前15的工具集: 12个 文本 工具(添加文本,删除特定字符 ...) | 50多种 图表 类型(甘特图 ...) | 40多种实用 公式(基于生日计算年龄 ...) | 19个 插入 工具(插入二维码,从路径插入图片 ...) | 12个 转换 工具(小写金额转大写,汇率转换 ...) | 7个 合并与拆分 工具(高级合并行,分割Excel单元格 ...) | ... 还有更多 |
Kutools for Excel拥有超过300种功能,确保您需要的功能只需一键即可实现...
Office Tab - 在Microsoft Office(包括Excel)中启用标签式阅读和编辑
- 一秒内切换数十个打开的文档!
- 每天为您减少数百次鼠标点击,告别鼠标手。
- 在查看和编辑多个文档时,您的工作效率将提高50%。
- 为Office(包括Excel)带来高效的标签页,就像Chrome、Edge和Firefox一样。