Google Sheets跨工作簿计数及日期匹配 COUNTIF+IMPORTRANGE使用问题
跨工作簿匹配日期计数修复方案
原公式运行失败的常见原因
- 未完成IMPORTRANGE授权:先单独在任意空白单元格输入
=IMPORTRANGE("你的目标表格链接","Resource Planner 2021!A1"),点击弹窗的「允许访问」完成授权,组合函数才能正常调用跨表数据 - 公式使用了中文全角引号:所有引号都要替换为英文半角格式,链接部分需要用双引号包裹
- 缺少日期匹配逻辑:原公式只能统计固定单列排除「Day Off」的单元格数,没有对应列顶日期的判断规则
带日期匹配的正确公式
假设你当前制作的表格中,待匹配的对应列日期放在A1单元格,完整公式如下:
=COUNTIF( QUERY( IMPORTRANGE("替换为你的目标工作簿链接","Resource Planner 2021!1:1000"), "SELECT Col"&MATCH(A1,IMPORTRANGE("替换为你的目标工作簿链接","Resource Planner 2021!1:1"),0)&" WHERE Col"&MATCH(A1,IMPORTRANGE("替换为你的目标工作簿链接","Resource Planner 2021!1:1"),0)&" <> 'Day Off'", 1 ), "<>" )
公式逻辑说明
MATCH部分:定位当前表格A1的日期,在目标工作簿首行(列标题行)对应的列序号QUERY部分:根据匹配到的列序号拉取对应整列数据,过滤掉内容为「Day Off」的单元格COUNTIF部分:统计过滤后的非空单元格总数
简化写法
如果觉得公式重复写IMPORTRANGE太繁琐,可以提前定义命名范围:
- 点击顶部菜单栏「数据」-「命名范围」
- 新增命名范围,名称设为
source_planner,范围值填=IMPORTRANGE("替换为你的目标工作簿链接","Resource Planner 2021!1:1000") - 简化后的公式为:
=COUNTIF( QUERY( source_planner, "SELECT Col"&MATCH(A1,INDEX(source_planner,1,0),0)&" WHERE Col"&MATCH(A1,INDEX(source_planner,1,0),0)&" <> 'Day Off'", 1 ), "<>" )
内容的提问来源于stack exchange,提问作者Ben Gilboy
相关产品推荐
相关产品推荐

