【问题标题】:How to parse column data to rows in google sheets with query如何使用查询将列数据解析为谷歌表格中的行
【发布时间】:2020-10-03 02:12:30
【问题描述】:

我有以下电子表格 https://docs.google.com/spreadsheets/d/1Mq4REmOqrfQiyCJ8-IIuLDZvzmh_I1lvAqZgOPQCQ74/edit?usp=sharing

我需要重新组织信息如下。

我尝试过使用以下方法:

=query({query(source!A:K,"select A,D");query(source!A:K,"select A,E");query(source!A:K,"select A,F")},"where Col1 is not NULL order by Col1")

这给了我 semana、horas 和 pago 混合在一起的结果。请看下面。

我们将不胜感激。

【问题讨论】:

  • 必须是查询吗?一般公式就可以了。
  • Ir 不一定是查询。

标签: google-sheets google-sheets-formula unpivot google-query-language


【解决方案1】:

您应该使用labels 设置正确的列标题,并选择正确的列,包括代表一周的额外列。这是第一周的示例,要检索其余周,只需按照您在提供的示例中所做的那样附加其余周:

=query(source!A:K,"select A,'2020-20',D,E where A is not NULL label A 'Nombre', D 'horas',E'pago','2020-20' 'semana'")

演示:

要查询剩余年份,您只需将查询嵌套在一个更大的查询中并选择每周的正确列。例如,2020-20 周的相关列将是 A(包含所有周通用名称的列)、DE,因为这些列包含该周的信息。对于2020-21,它将是AFG 等列。另外请注意,您只需要在第一个查询中添加标签,因为您只需要在第一行添加标题 Nombresemanahoraspago

以下是前两周的示例:

=query({query(source!A:K,"select A,'2020-20',D,E where A is not NULL label A 'Nombre', D 'horas',E'pago','2020-20' 'semana'");query(source!A:K,"select A,'2020-21',F,G where A is not NULL")})

【讨论】:

  • 此答案仅适用于一周,我尝试对其他周数进行嵌套查询,但它仅重复第一组值。 =query({query(source!A:K,"select A,'2020-20',D,E where A is not NULL label A 'Nombre', D 'horas',E'pago','2020-20 ''semana'");query(source!A:K,"select A,'2020-21',D,E where A is not NULL label A 'Nombre', D 'horas',E'pago',' 2020-21''semana'")}) static.md/487f7cf45b98b3cc3405fdc69f80b74b.png
  • 嗨!我已经更新了我的答案,向您解释如何扩展我的查询以涵盖剩下的几周。基本上,您刚刚向我展示的查询中的问题是,对于 2020-21 周,您从原始来源(ADE)中选择相同的列,而不是为 2020 周选择正确的列- 21 将是 AFG。如果您对此有任何疑问,请告诉我,如果我的回答解决了您的问题,请考虑接受:D
  • 是的,应该已经很明显了,现在我正在执行一个超级嵌套查询,时间大约为 30 周。谢谢!
  • 很高兴它帮助了你:D
猜你喜欢
  • 2021-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多