ArrayFormula结合Vlookup与Importrange跨谷歌表格取多列数据问题求助
问题原因
你仅扩展了导入的列范围,但VLOOKUP函数的第三个参数默认仅返回第2列的匹配结果,所以只能拿到W列数据,不会自动返回多列内容。
修正方案
需要同步修改两个配置项:
- 将两处
IMPORTRANGE的读取范围扩展到AB列,覆盖你需要的W、X、Y、Z、AA、AB所有列 - 将VLOOKUP的第三个返回列参数从单值
2改为列号数组{2,3,4,5,6,7},对应依次返回W到AB列的匹配数据
修正后公式
=ArrayFormula(IF(B3:B501="",,vlookup(trim(B3:B501&" "&C3:C501&" "&text(F3:F501, "mm/dd/yyyy")&" "&G3:G501), {transpose(QUERY(TRANSPOSE(query(IMPORTRANGE("Sheetname","Sheet1!A3:AB500"), "Select Col2, Col3, Col6, Col7")),,9^9)), IMPORTRANGE("Sheetname","Sheet1!W3:AB500")} ,{2,3,4,5,6,7},0)))
注意事项
- 公式输入后会自动向右溢出6列数据,无需手动右拉填充
- 首次使用需要点击弹窗的「授权」按钮,允许跨表读取数据权限
- 后续如果需要新增返回列,只需要同步扩展IMPORTRANGE的结束列,同时在第三个参数的数组中追加对应列号即可
内容的提问来源于stack exchange,提问作者HSHO
相关产品推荐
相关产品推荐

