Google Sheets用QUERY函数跨文档3个区域按条件统计特定值数量
Google Sheets跨文档多区域条件计数实现方法
要实现跨文档统计3个指定区域的符合条件值数量,用内置函数就能完成,不需要写自定义脚本,操作方法如下:
前置准备
先打开存原始数据的那份Google Sheets,复制地址栏里d/和/edit中间的那串字符串,这是源文档的唯一引用ID,跨表取数必须用到。同时确认你对这份源文档有至少查看权限,否则数据无法正常拉取。
基础跨表计数逻辑
跨表取数靠IMPORTRANGE函数,条件计数靠COUNTIF,单个区域统计的基础公式结构是:
=COUNTIF(IMPORTRANGE("之前复制的源文档ID", "工作表名称!数据范围"), "你要匹配的统计条件")
举个实际用例:如果源文档ID是123abcXYZ,要统计「Q3业绩」工作表里B2:B200区域中值为「达标」的单元格数量,公式直接写:
=COUNTIF(IMPORTRANGE("123abcXYZ", "Q3业绩!B2:B200"), "达标")
第一次对某个源文档使用
IMPORTRANGE时,单元格会弹出权限请求,点「允许访问」即可,授权一次之后后续编辑、刷新都不需要重复操作。
3个区域的合并统计
要统计同一份源文档里3个不同区域的符合条件值总和,选下面两种常用写法即可:
- 写法1:三个单区域的统计结果直接相加,逻辑直白不容易写错,适合三个区域分布在不同工作表的场景
=COUNTIF(IMPORTRANGE("源文档ID", "表1!区域1"), "统计条件") + COUNTIF(IMPORTRANGE("源文档ID", "表2!区域2"), "统计条件") + COUNTIF(IMPORTRANGE("源文档ID", "表3!区域3"), "统计条件")
- 写法2:把三个区域合并成一个虚拟数组后一次性统计,公式更精简,适合三个区域在同一个工作表的场景
=COUNTIF({IMPORTRANGE("源文档ID", "表名!区域1");IMPORTRANGE("源文档ID", "表名!区域2");IMPORTRANGE("源文档ID", "表名!区域3")}, "统计条件")
常见报错处理
- 出现
#REF!报错:先检查是不是没通过IMPORTRANGE的权限申请,再核对源文档ID、工作表名、区域范围是否拼写正确——如果工作表名里带空格,要给工作表名单独套单引号,比如'9月新增客户'!C2:C150 - 统计数值类条件(比如大于80的分数、等于0的库存),条件直接写
">80"、"=0"即可,不需要额外嵌套函数 - 统计带模糊匹配的文本(比如所有包含「待审核」的记录),用通配符写条件就行,比如
"*待审核*"
内容的提问来源于stack exchange,提问作者scrappynmap
相关产品推荐
相关产品推荐

