我正在尝试为甘特图生成一个表格。表应具有以下格式: https://developers.google.com/chart/interactive/docs/gallery/ganttchart#data-format
所以,我需要与taks ID相同的任务名称,但是在查询中我不能使用Col1两次(我收到错误(
=QUERY({Tab1;Tab1};"select Col1,Col1,Col5,Col16,Col17 WHERE Col16>now() ORDER BY Col5 DESC,Col17 ";0)
第二点是,因此也无法合并两列,因此它不起作用:
=QUERY({Tab1;Tab1};"select Col1+Col7,Col1,Col5,Col16,Col17 WHERE Col16>now() ORDER BY Col5 DESC,Col17 ";0)
这是我的数据和 2 个结果,我需要通过查询获得 https://docs.google.com/spreadsheets/d/1CZYgfYo6oIeONZOH6ZR5rOW615HuH4ICaoe7lj0dapw/edit#gid=0
这些在真正的SQL中是如此微不足道的事情,在Google Query中没有办法以某种方式直接做到这一点吗?到目前为止,我已经找到了QUERY和ARRAYFORMULA的组合,但是有非常复杂的查询 - 突变体。不容易吗?
你不需要 Query,只需要 Arrays。 您将从此代码中获得第一个结果:
={ARRAYFORMULA(B3:B&" "&C3:C)A3:A}
此代码的第二个结果:
={A3:AA3:AB3:B1}
根据您的示例,我假设您没有使用美国电子表格设置。 如果是这样,公式必须更改为:
第一:
={ARRAYFORMULA(B3:B&" "&C3:C),A3:A}
第二:
={A3:A,A3:A,B3:B}
链接到工作示例:https://docs.google.com/spreadsheets/d/1eMkOkyFwvDeYSy-8UlhQum4OWcb-4WJqGxy_CXM8pVs/edit?usp=sharing
我看到在您的真实工作表中,您想将一些数据与now((进行比较。您可以使用我建议的数组作为查询的源轻松执行此操作。你会有这样的东西(当然现在它不起作用 - 它只是一个示例 - 一个数组只有 2 列,而不是 15 列(:
=QUERY({ARRAYFORMULA(B3:B10&" "&C3:C10)A3:A10};"select * where Col15>now()";0)
关于查询 - 不能对包含字符串的列执行关节操作。查看文档:https://developers.google.com/chart/interactive/docs/querylanguage#arithmetic-operators
我不能使用 Col1 两次(我收到错误(">
您可以复制您的 indata 来解决这个问题。
QUERY({Tab1 Column 1Tab1 Column 1};"Select Col1, Col2......"
"Tab1 列 1"现在是 Col1 和 Col2
"第二点是,因此也不可能合并两列,所以它不起作用:">
是的,可以添加列的结果"选择 Col1+Col7......"是正确的。