Google Sheets中如何用SUM、QUERY和IMPORTRANGE实现多条件求和?
Google Sheets多条件求和公式错误修正
直接说你公式里的几个核心问题:
- QUERY语法错误:第二个QUERY的WHERE子句重复写了
where,多条件只需要一个where开头,用and/or连接后续条件,你写的where Col30 contains 'N' and where not...是错误写法,必须删掉第二个where。 - 重复调用IMPORTRANGE:两次调用同一个表格的导入函数,既浪费资源,还容易触发Google的访问限制,建议只导入一次数据再复用。
- 数据源范围不一致:第一个QUERY用
a2:ac,第二个用a2:ad,列数不同会导致列索引(ColX)对应错误,得统一成同一个覆盖所有需要列的范围(比如a2:ad)。
修正后的基础公式
=SUM( IFERROR(QUERY(IMPORTRANGE("1pgXsD_fAm6Sw0sFkxQWKpZKzKADg2ojVreMDCq2ebqs#gid=384994158", "All SEO Projects!a2:ad"), "select Col14 where Col17 contains 'Y'", 0)), IFERROR(QUERY(IMPORTRANGE("1pgXsD_fAm6Sw0sFkxQWKpZKzKADg2ojVreMDCq2ebqs#gid=384994158", "All SEO Projects!a2:ad"), "select Col13 where Col30 contains 'N' and not Col1 contains 'Past Due'", 0)) )
更高效的优化写法(避免重复导入)
- 先在空白单元格(比如A1)输入导入公式并完成授权:
=IMPORTRANGE("1pgXsD_fAm6Sw0sFkxQWKpZKzKADg2ojVreMDCq2ebqs#gid=384994158", "All SEO Projects!a2:ad")
- 再用这个已加载的数据源写求和公式:
=SUM( IFERROR(QUERY(A1:AD, "select Col14 where Col17 contains 'Y'", 0)), IFERROR(QUERY(A1:AD, "select Col13 where Col30 contains 'N' and not Col1 contains 'Past Due'", 0)) )
⚠️ 注意:第一次使用IMPORTRANGE需要点击单元格内的授权提示,允许当前表格访问目标表格数据,否则公式会返回权限错误。
内容的提问来源于stack exchange,提问作者Kevin Boroumand
相关产品推荐
相关产品推荐

