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

如何统计Excel工作簿指定非连续列中目标字符串的出现次数?

跨52个工作表统计非连续列中指定字符串的出现次数

方法一:SUMPRODUCT + INDIRECT(兼容多数Excel版本)

针对你的需求,目标列是F、I、L……AM(对应列号6、9、12……39,共12列,公差为3),可通过以下公式实现统计:

=SUMPRODUCT(COUNTIF(INDIRECT("'"&Sheet1:Sheet52&"'!"&CHAR(64+{6,9,12,15,18,21,24,27,30,33,36,39})&":"&CHAR(64+{6,9,12,15,18,21,24,27,30,33,36,39})),"NOR"))
  • 若你的工作表不是Sheet1到Sheet52这类连续命名,可先在空白区域(如某工作表的A1:A52)逐个输入所有工作表名称,再将公式中的Sheet1:Sheet52替换为该区域(如A1:A52)。
  • 老版本Excel需按Ctrl+Shift+Enter执行数组输入,365/2021版本直接按Enter即可。

方法二:Excel 365动态数组方案(更简洁)

利用动态数组函数简化公式:

=COUNT(TOCOL(INDIRECT("'"&Sheet1:Sheet52&"'!"&CHAR(64+SEQUENCE(12,1,6,3))&":"&CHAR(64+SEQUENCE(12,1,6,3))),2)="NOR")
  • SEQUENCE(12,1,6,3)自动生成6到39步长为3的列号序列,无需手动枚举。
  • TOCOL将所有跨表目标区域合并为一维数组并忽略空值,最终通过COUNT统计匹配"NOR"的次数。

此前尝试失败的常见原因

  • COUNTIF本身不支持同时跨多工作表+非连续区域的直接引用,必须拆分区域后汇总。
  • 跨工作表的非连续命名区域在函数调用时兼容性差,容易导致引用失效。
  • SUM(COUNTIF(...))的写法若未处理好数组维度或工作表引用逻辑,会因参数格式错误返回结果异常。

内容的提问来源于stack exchange,提问作者Ohto Nordberg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 21:21:12