Google sheets 以编程方式旋转并在谷歌表单摘要中携带颜色信息

Google sheets 以编程方式旋转并在谷歌表单摘要中携带颜色信息,google-sheets,worksheet-function,Google Sheets,Worksheet Function,在我们的主表中,有一个类似这样的基表,名为“MainData” 我们想在新的工作表中对其进行总结。在项目管理模式下,总结需要按时间进行,其中“何时”将以以下方式成为主要视图。从技术上讲,我们可以通过Pivot获得表格顶部的一个版本,但这需要一个新的工作表。我们希望这个完整的观点出现在我们自己选择的第二页,我们可以称之为“摘要” 不知道从哪里开始。GETPIVOTDATA命令似乎是一种更方便的方法,可以在不强制工作表的情况下控制pivot的显示方式,但令人困惑的是颜色等的分项。在该周列下方的每周列

在我们的主表中,有一个类似这样的基表,名为“MainData”

我们想在新的工作表中对其进行总结。在项目管理模式下,总结需要按时间进行,其中“何时”将以以下方式成为主要视图。从技术上讲,我们可以通过Pivot获得表格顶部的一个版本,但这需要一个新的工作表。我们希望这个完整的观点出现在我们自己选择的第二页,我们可以称之为“摘要”

不知道从哪里开始。
GETPIVOTDATA
命令似乎是一种更方便的方法,可以在不强制工作表的情况下控制pivot的显示方式,但令人困惑的是颜色等的分项。在该周列下方的每周列表中,我们希望显示项目,但其单元格需要根据项目所处的状态着色

不是寻找现成的解决方案(虽然如果共享的话我不会反对),只是寻找要寻找哪些函数的指针。非常感谢

解决方案: 这是一项相当艰巨的任务……:) 我已经为您构建了工作解决方案

说明: 数据表: 我在源数据中添加了一个额外的列-我们将在进一步的查询中需要此列(您可以隐藏此列)

要查询的字符串

select Col5, count(Col4) where Col1 is not null group by Col5 pivot Col3 label Col5 ''
select sum(Col4) where Col1 is not null pivot Col3

第2部分-“点的总和”

它的查询再次放入下一个查询,以删除标题+作为额外列的“点数总和”(使用内联数组-
{}
):

要查询的字符串

select Col5, count(Col4) where Col1 is not null group by Col5 pivot Col3 label Col5 ''
select sum(Col4) where Col1 is not null pivot Col3

第3部分-“功能”

这是相当复杂的。。。如果我有更多的时间,我会描述这里发生了什么。。。但现在只需编写代码:

  =QUERY(

transpose(ArrayFormula(SPLIT(
transpose(SPLIT(
TEXTJOIN("^";1;transpose(
{SPLIT(join(" @@ ";transpose(query(transpose(QUERY({INDIRECT($A$1)};$B$9;1));"select Col1 offset 1";0)));" @";0;1);
QUERY(ArrayFormula(IF(TRANSPOSE(query(transpose(QUERY({INDIRECT($A$1)};$B$9;1));"select * offset 1";0))<>"";
query(QUERY({INDIRECT($A$1)};$B$9;1);"select Col1";0);""));"select * offset 1";0)}
))
;"@ ";0;1))
;"^")))
;
"select * offset 1";0)

好啊 这就是你要达到的目标吗

同样-这是您的工作副本:


在C2:C上对UNIQUE进行转置,以获得列标题,这似乎是一个很好的起点。我觉得剩下的大部分都可以通过查询来完成。(颜色可能很硬)谢谢你,杰里米。你说得对,转置很有帮助。下面还有一些帮助,但我很感谢你抽出时间。非常感谢你,格泽戈兹!这比我预想的要多得多。我希望这一次我能给+1000。谢谢谢谢。还有一件事,那就是拥有它是美好的,而不是必须拥有的。是否可以按周对列表中的颜色进行分组?最后一步。所以先是所有的绿色,然后是所有的黄色,然后是所有的红色..?事实上,一个不同的问题:按周(“何时”)列出项目的复杂查询似乎很难编码它从哪里开始。如果我想把这个查询放在自己的表中,它似乎不起作用,因为列表从第5列或第6列开始,并且没有本周的标题。在这段代码中,我需要修改什么,以便我们可以从第1列中获得清单,也可以获得它自己的标题?通过这种方式,我可以使用“数据”工作表中的所有输入再次创建自己的工作表,并以不同的格式设置此工作表。非常感谢你的帮助(我正在慢慢地破译这段代码)。你能提供你真实工作表的更复杂的样本吗?仅供参考,我需要的评论和帮助是红色文本。非常感谢!
  =QUERY(

transpose(ArrayFormula(SPLIT(
transpose(SPLIT(
TEXTJOIN("^";1;transpose(
{SPLIT(join(" @@ ";transpose(query(transpose(QUERY({INDIRECT($A$1)};$B$9;1));"select Col1 offset 1";0)));" @";0;1);
QUERY(ArrayFormula(IF(TRANSPOSE(query(transpose(QUERY({INDIRECT($A$1)};$B$9;1));"select * offset 1";0))<>"";
query(QUERY({INDIRECT($A$1)};$B$9;1);"select Col1";0);""));"select * offset 1";0)}
))
;"@ ";0;1))
;"^")))
;
"select * offset 1";0)
=INDEX(INDIRECT("data!$A:$A");MATCH(D9;INDIRECT("data!$B:$B");0);1)="Open"

=INDEX(INDIRECT("data!$A:$A");MATCH(D9;INDIRECT("data!$B:$B");0);1)="Closed"

=INDEX(INDIRECT("data!$A:$A");MATCH(D9;INDIRECT("data!$B:$B");0);1)="Attn"