KutoolsforOffice — 一套方案,五大工具。事半功倍。

统计不包含多个值的单元格数量

作者Siluvia修改日期

通常,您可以通过 COUNTIF 函数轻松统计不包含某一特定值的单元格数量。本文将以 Excel 的指定区域为例,详细介绍如何统计不包含多个值的单元格数。

doc-count-cells-do-not-contain-many-values-1


如何统计不包含多个指定值的单元格数量?

如下图所示,如果您需要统计 B3:B11 区域中不包含 D3:D4 列表值的单元格数量,可按照以下方法操作。

doc-count-cells-do-not-contain-many-values-2

通用公式

{=SUM(1-(MMULT(--(ISNUMBER(SEARCH(TRANSPOSE(criteria_range),range))),ROW(criteria_range)^0)>0))}

参数说明

区域(必填):需要统计其中不包含多个值的单元格的区域。

条件区域(必填):需要排除计数值的区域。

注意:此公式需以数组公式方式输入。输入后,若公式被花括号包裹,即表示数组公式已创建成功。

如何使用该公式?

1. 选择一个空白单元格,以便输出结果。

2. 在该单元格中输入以下公式,并同时按下 Ctrl+Shift+Enter 组合键,即可得到结果。

=SUM(1-(MMULT(--(ISNUMBER(SEARCH(TRANSPOSE(D3:D4),B3:B11))),ROW(D3:D4)^0)>0))

doc-count-cells-do-not-contain-many-values-3

这些公式是如何运作的?

=SUM(1-(MMULT(--(ISNUMBER(SEARCH(TRANSPOSE(D3:D4),B3:B11))),ROW(D3:D4)^0)>0))

1)--(ISNUMBER(SEARCH(TRANSPOSE(D3:D4),B3:B11)))

  • TRANSPOSE(D3:D4):TRANSPOSE 函数将 D3:D4 的方向进行旋转,并返回 {“count”,“blank”}
  • SEARCH({“count”,”blank”},B3:B11):此处的 SEARCH 函数用于查找区域 B3:B11 中子字符串“count”和“blank”的位置,并以数组形式返回结果,如 {#VALUE!,#VALUE!;#VALUE!,#VALUE!;1,#VALUE!;#VALUE!,8;1,#VALUE!;#VALUE!,#VALUE!;#VALUE!,#VALUE!;1,
    #VALUE!;1,7}
  • 在本例中,B3:B11 区域内的每个单元格都会被检索两次,因为在计数时需要排除两个值,因此您将在数组中获得 18 个结果。数组中的每个数字代表 B3:B11 区域内每个单元格中“count”或“blank”首字母出现的位置。
  • ISNUMBER{#VALUE!,#VALUE!;#VALUE!,#VALUE!;1,#VALUE!;#VALUE!,8;1,#VALUE!;#VALUE!,#VALUE!;#VALUE!,
    #VALUE!;1,#VALUE!;1,7}
    :ISNUMBER 函数在数组中遇到数字时返回 TRUE,遇到错误时返回 FALSE。此处返回的结果为 {FALSE,FALSE;FALSE,FALSE;TRUE,FALSE;FALSE,TRUE;TRUE,FALSE;FALSE,FALSE;FALSE,FALSE;TRUE,FALSE;
    TRUE,TRUE}
  • --({FALSE,FALSE;FALSE,FALSE;TRUE,FALSE;FALSE,TRUE;TRUE,FALSE;FALSE,FALSE;FALSE,FALSE;TRUE,)
    FALSE;TRUE,TRUE})
    :两个减号可将“TRUE”转为 1,将“FALSE”转为 0. 此时您将得到新的数组 {0,0;0,0;1,0;0,1;1,0;0,0;0,0;1,0;1,1}。

2)ROW(D3:D4)^0:ROW 函数返回所选单元格的行号:{3;4},随后幂运算符(^)将 3 和 4 分别计算为 0 次幂,最终结果为 {1;1}

3)MMULT({0,0;0,0;1,0;0,1;1,0;0,0;0,0;1,0;1,1},{1;1})MMULT 函数对这两个数组进行矩阵乘积运算,结果为:{0;0;1;1;1;0;0;1;2},与原始数据相符。数组中任意非零数字表示已找到至少一个需排除的字符串,若为零则表示未找到需排除的字符串。

4)SUM(1-{0;0;1;1;1;0;0;1;2}>0)

  • {0;0;1;1;1;0;0;1;2}>0:此处会检查数组中的每个数字是否大于 0. 大于 0 时返回 TRUE,否则返回 FALSE。最终,您将获得新的数组 {FALSE;FALSE;TRUE;TRUE;TRUE;FALSE,FALSE,TRUE;TRUE}
  • 1-{FALSE;FALSE;TRUE;TRUE;TRUE;FALSE,FALSE,TRUE;TRUE}:由于我们只需统计不包含指定值的单元格,因此需要用 1 对数组中的这些值取反。此时,数学运算会自动将 TRUE 和 FALSE 转换为 1 和 0,最终结果如下 {1;1;0;0;0;1;1;0;0}
  • SUM{1;1;0;0;0;1;1;0;0}:SUM 函数会对数组中的所有数字进行求和,并将最终结果返回为 4.

相关函数

Excel SUM 函数
Excel SUM 函数可用于对数值进行求和,轻松实现数据汇总。

Excel MMULT 函数
Excel MMULT 函数可返回两个数组的矩阵乘积。

Excel ISNUMBER 函数
Excel ISNUMBER 函数可在单元格内容为数字时返回 TRUE,否则返回 FALSE。

Excel TRANSPOSE 函数
Excel TRANSPOSE 函数可轻松转换区域或数组的方向。

Excel ROW 函数
Excel ROW 函数可返回指定引用的行号。


相关公式

统计不包含错误的单元格数
本教程将为您详细讲解如何在 Excel 中统计指定区域内不包含错误的单元格数量。

统计不包含特定文本的单元格数
您可以结合 COUNTIF 函数和通配符,统计某区域内包含特定文本的单元格数。若需统计不包含特定文本的单元格,同样可通过 COUNTIF 函数轻松实现。本教程将为您提供详细步骤,助您轻松解决该问题。

按星期几统计区域内日期单元格数量
在 Excel 中,利用 SUMPRODUCT 结合 WEEKDAY 函数,您可以轻松统计指定工作日的数量。本文将为您提供详细的分步指导,助您顺利完成操作。

统计文本单元格数量
在指定区域内统计包含文本内容的单元格数量时,您可以高效使用 COUNTIF 函数。本文将详细介绍相关公式,助您轻松解决此类问题。


这款最佳办公效率工具

Kutools for Excel —— 助您脱颖而出

🤖KUTOOLS AI 助手:基于数据分析的变革创新智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮显示或标记重复项  |  删除空白行  |  合并列或单元格且不丢失数据  |  不使用公式的四舍五入……
超级 VLookup多条件查询  |  多值返回  |  跨多工作表  |  模糊查找……
高级下拉列表轻松下拉列表  |  依赖下拉列表  |  多选下拉列表……
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的显示状态  |比较列与选择相同/不同单元格……
特色功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿和表管理器|资源库(自动文本)|  日期提取  |  汇总工作表  |  加密/解密单元格  |  按列表群发邮件  |  超级筛选  |  特殊筛选(筛选粗体单元格/斜体/删除线……) ......
顶级 15 工具组12 文本工具添加文本删除特定字符……)|  50+ 图表 类型甘特图……)|  40+ 实用公式基于生日计算年龄……)|  19 插入工具插入二维码按路径插入图片……)|  12 转换工具小写金额转大写汇率转换……)|  7 合并和拆分工具高级合并行拆分 Excel 单元格……)|……以及更多
在您的首选语言中使用 Kutools——支持英语、西班牙语、德语、法语、中文以及 40+ 种其他语言!

Kutools for Excel 拥有超过 300 项功能,让您的需求一键轻松实现……


Office Tab —— 让 Microsoft Office(包括 Excel)支持标签式阅读与编辑

  • 一秒即可切换数十个已打开的文档!
  • 每天为您减少上百次鼠标点击,轻松告别鼠标手困扰。
  • 查看和编辑多个文档时,工作效率提升 50%。
  • 为 Office(包括 Excel)引入高效标签页,让您同样畅享如 Chrome、Edge 和 Firefox 般的便捷体验。