跳至主要内容

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

Author: Siluvia Last Modified: 2025-05-07

通常,使用 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 个值。数组中的每个数字表示 “count” 或 “blank” 在 B3:B11 每个单元格中的第一个字符的位置。
  • 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函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  四舍五入无需公式 ...
超级VLookup多条件  |  多值  |  跨多个工作表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同的单元格 ...
精选功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并数据  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前15的工具集12个 文本 工具添加文本删除特定字符 ...)  |  50多种 图表 类型甘特图 ...)  |  40多种实用 公式基于生日计算年龄 ...)  |  19个 插入 工具插入二维码从路径插入图片 ...)  |  12个 转换 工具小写金额转大写汇率转换 ...)  |  7个 合并与拆分 工具高级合并行分割Excel单元格 ...)  |  ... 还有更多

Kutools for Excel拥有超过300种功能,确保您需要的功能只需一键即可实现...


Office Tab - 在Microsoft Office(包括Excel)中启用标签式阅读和编辑

  • 一秒内切换数十个打开的文档!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的工作效率将提高50%。
  • 为Office(包括Excel)带来高效的标签页,就像Chrome、Edge和Firefox一样。