跨工作簿Query引用含公式单元格返回0问题求助
解决Query提取带公式单元格返回0的问题
原因及修复方案
先确认源工作簿公式已完成计算
要是源工作簿开了手动计算,公式结果可能没更新,Query读的就是旧的0值。按F9刷新源工作簿计算,或者去「文件→选项→公式」勾选“自动重算”,确保公式结果实时更新。强制转换源数据为数值后再Query
直接跨工作簿Query可能没正确识别公式的计算值,用ARRAYFORMULA配合*1把源区域转成数值格式,再给Query处理:=QUERY(ARRAYFORMULA('[源工作簿.xlsx]Sheet1'!A:J*1),"select Col9-Col10 where Col1='xxx'")这里
Col9对应原表的I列,Col10对应J列,根据你的实际列调整就行。换用IMPORTRANGE中转数据
直接Query跨工作簿有时会有读取限制,先通过IMPORTRANGE把数据导到当前工作簿,再做Query:=QUERY(IMPORTRANGE("源工作簿的ID","Sheet1!A:J"),"select Col9-Col10 where Col1='xxx'")第一次用
IMPORTRANGE要授权访问源工作簿,授权后就能正常读取了。检查源单元格格式
要是源工作簿里公式单元格设成了文本格式,计算结果会被当成文本,Query读取时就转成0了。选中单元格右键→设置单元格格式→选“数值”,再刷新公式。
验证小技巧
- 先在源工作簿里确认公式单元格的结果是对的,不是本身就返回0;
- 用
INDEX('[源工作簿.xlsx]Sheet1'!I:I,3)-INDEX('[源工作簿.xlsx]Sheet1'!J:J,3)直接计算,看能不能得到正确值,如果可以,那就是Query的语法需要调整。
内容的提问来源于stack exchange,提问作者Robert Bartley
相关产品推荐
相关产品推荐

