我有一个谷歌的工作簿纸张的动态列表。我希望创建一个从这些不同的床单拉查询 - 虽然我经常被添加和删除表。
现在我的查询的模样,和它的伟大工程:
=query({'1.17 invoice'!A25:N;'1.31 invoice'!A25:N;'2.1 invoice'!A25:N;'invoice 2.1 (2)'!A25:N},"SELECT Col1, Col2, Col3, Col7, Col12, Col13 where Col1 <> ''",0)
我可以创建具有的值的单元格A1: '1.17发票' A25:N; '1.31发票' A25:N; '2.1发票' A25:!N; '发票2.1(2)' A25:N
但现在我要为了它更新A1的结果复制并粘贴到查询公式。当我尝试创建一个公式,如:
=query({indirect(A1)},"SELECT Col1, Col2, Col3, Col7, Col12, Col13 where Col1 <> ''",0)
我只是得到一个错误,“间接的结果是不是一个有效的单元格范围”。有没有自动让张名单到查询功能的好办法?
的OP试图使数组范围更加灵活。原来的公式:
=query({'1.17 invoice'!A25:N;
'1.31 invoice'!A25:N;
'2.1 invoice'!A25:N;
'invoice 2.1 (2)'!A25:N},
"SELECT Col1, Col2, Col3, Col7, Col12, Col13 where Col1 <> ''",0)
的OP输入单元格A1阵列范围,和改性的下式:
A1 = '1.17 invoice'!A25:N;'1.31 invoice'!A25:N;'2.1 invoice'!A25:N;'invoice 2.1 (2)'!A25:N
修改的公式:
=query({indirect(A1)},"SELECT Col1, Col2, Col3, Col7, Col12, Col13 where Col1 <> ''",0)
这不起作用,因为INDIRECT
返回一个数组值,但A1由几个范围。但是,如果每个范围的单独申报,查询将正常工作。
布局:
A1 = '1.17 invoice'!A25:N
A2 = '1.31 invoice'!A25:N
A3 = '2.1 invoice'!A25:N
A4 = 'invoice 2.1 (2)'!A25:N
式:
=query({indirect(A1);
Indirect(A2);
indirect(A3);
Indirect(A4)},
"SELECT Col1, Col2, Col3, Col7, Col12, Col13 where Col1 <> ''",0)
信用: 鲁本(https://webapps.stackexchange.com/a/88726/196152) Karl_S(https://webapps.stackexchange.com/a/104517/196152)