2015-11-21 48 views
2

我试图在Google表格的查询功能中动态创建日期范围。当我直接输入范围时它工作正常,但是当我将它作为由连接形成的字符串输入时不起作用。将字符串转换为有效的数据范围

如何将连接值转换为有效的数据范围。我的公式如下:

=query(CONCATENATE(S$1,"!A:BK"), CONCATENATE("SELECT I, AG, Y, Z WHERE C = '",$A4, "'"),0) 

回答

2

传递范围引用与传递类似于范围引用的字符串不同。
如果您要构建这样要像串范围基准转换为使用INDIRECT()这样一个实际的范围内引用您的范围:
=query(indirect(S$1&"!A:BK"), CONCATENATE("SELECT I, AG, Y, Z WHERE C = '",$A4, "'"),0)
注意,我删除了串连,并用符号代替它。这不是必要的,它只是句法糖。

2

或者:

=query(indirect(S$1&"!A:BK"), "SELECT I, AG, Y, Z WHERE C = '"&$A4& "'",0) 
+0

感谢你为这个。我认为这可以处理无限期连接的所有字符串连接操作? –

相关问题