在 google 电子表格中使用 =QUERY 公式时如何保留超链接?

How to keep the hyperlink while using =QUERY formula in google spreadsheet?

我在 Google 电子表格中写了一个 =QUERY 公式。但是,我不仅想复制单元格的值,还想复制我正在执行查询的单元格范围内的嵌入式链接。这是我写的:

=QUERY('Tab'!6:1963,"select C where (E='Major' and D >= now())")

必须有一种方法告诉查询将 URL 以及单元格的内容一起带入。

query函数只支持certain data types:

Supported data types are string, number, boolean, date, datetime and timeofday.

它不处理可能嵌入到电子表格中的其他内容,例如图像或超链接。 (超链接被强制转换为字符串。)毕竟,查询语言不是特定于表格的东西,它有自己的数据模型,只能在一定程度上与表格交互。

如果可能,解决方案是使用 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()))

这将 return 链接如预期的那样。 (如果你得到它们,甚至插入带有 =image() 的图像。)乘法运算符在过滤器公式中是合乎逻辑的

我知道这是三年后的事了,但我 运行 遇到了这个问题,我的查询将转换为 FILTER 和 SORT 函数的复杂嵌套。所以我最终做了这样的事情:ARRAYFORMULA(VLOOKUP(QUERY('Tab'!6:1963,"select C where (E='Major' and D >= now())"),C:C,1,FALSE)) 哪个有效。

这个问题通常与 IMPORTRANGE 相关。而 Google 的官方 answer 并没有真正帮助(即 QUERY 仅适用于字符串等)。也可以将过滤器范围作为导入范围,然后就可以了:

=FILTER(IMPORTRANGE("XXX","Data!A1:A),
IMPORTRANGE("XXX","Data!B1:B")>0)

其中第 A 列是您要导入的数据,第 B 列是过滤器