我在Google电子表格中写了一个= QUERY公式。但是,我不仅要复制单元格的值,还要复制我正在执行查询的单元格区域中的嵌入式链接。这就是我写的:
=QUERY('Tab'!6:1963,"select C where (E='Major' and D >= now())")
必须有一种方法可以告诉查询带来URL以及单元格的内容。
答案 0 :(得分:9)
query
功能仅支持certain data types:
支持的数据类型包括字符串,数字,布尔值,日期,日期时间和时间。
它不会处理可能嵌入到电子表格中的其他内容,例如图像或超链接。 (超链接被强制转换为字符串。)毕竟,查询语言不是特定于表格的,它有自己的数据模型,只与片段交互。
如果可能,解决方案是使用filter
代替query
。它可以完成query
所做的许多事情。例如,
=QUERY(Tab!6:1963,"select C where (E='Major' and D >= now())")
可以替换为
=filter(Tab!C6:C1963, (Tab!E6:E1963="Major") * (Tab!E6:E1963 >= now()))
将按预期返回链接。 (如果你得到它们,甚至用=image()
插入的图像。)乘法运算符在滤波器公式中是逻辑和。
答案 1 :(得分:1)
我知道这是三年后的事,但是我遇到了这个问题,我的查询将转换为复杂的FILTER和SORT函数嵌套。所以我最终做了这样的事情:ARRAYFORMULA(VLOOKUP(QUERY('Tab'!6:1963,"select C where (E='Major' and D >= now())"),C:C,1,FALSE))
哪个有用。
答案 2 :(得分:0)
这个问题通常与IMPORTRANGE
有关。 Google的官方answer并没有真正的帮助(即QUERY
仅适用于字符串等)。也可以将过滤器范围也设置为导入的范围,然后就可以了:
=FILTER(IMPORTRANGE("XXX","Data!A1:A),
IMPORTRANGE("XXX","Data!B1:B")>0)
其中A
列是要导入的数据,B
列是过滤器