Google Sheets多标签QUERY关联查询报横向数组缺失值错误如何解决
报错核心原因
- 第一个错误:数组拼接逻辑错误。你用
;拼接两个范围是纵向堆叠行,CSAT范围是6列,Countries范围只有2列,堆叠后Countries对应的行后4列全是空值,直接触发缺失值报错 - 第二个错误:QUERY语法误用。Google Sheets的QUERY函数本身不支持SQL里的
ON关联表的语法,你写的ON Col2 = Col3属于无效语法,也会触发执行错误
正确实现方案
你需要先按国家编号匹配两个表的字段,再做数据筛选,不需要提前拼接两个表的范围,推荐以下两个适配方案:
方案1:QUERY+VLOOKUP组合(适配你当前的文本格式月份需求)
公式如下:
=QUERY(CSAT!A2:F34,"SELECT A,B,C,F,VLOOKUP(B,Countries!A2:B11,2,FALSE) WHERE A = 'Jun-21'",0)
公式说明:
- 直接从CSAT表取原始数据,用VLOOKUP关联Countries表:把CSAT表B列(国家编号)作为匹配值,去Countries表A列查找对应项,返回第2列的国家名称
- WHERE条件直接筛选月份为Jun-21的行,避免多表拼接带来的缺失值问题
- 最后一个参数0代表QUERY不会把CSAT的第一行数据当成表头处理
方案2:适配日期格式月份的调整方案
如果你表中的Jun-21是自定义的日期单元格格式,实际存储的是日期类型值,将WHERE条件调整为日期匹配即可:
=QUERY(CSAT!A2:F34,"SELECT A,B,C,F,VLOOKUP(B,Countries!A2:B11,2,FALSE) WHERE EOMONTH(A,0) = DATE(2021,6,30)",0)
内容的提问来源于stack exchange,提问作者CARLOSLEO280
相关产品推荐
相关产品推荐

