首页 > 解决方案 > 如何使用谷歌表格数据透视查询输出字符串

问题描述

我有一个(大得多)这样的示例表:

原始数据

我正在尝试输出一个如下所示的表:

期望的结果

我可以通过枢轴查询获得的最接近的结果返回值字段中的数字结果,而不是所需的文本字符串

=query(Data, "Select D,count(D) group by D Pivot B")

我使用了一系列公式来构建我的行和列标题,然后填写数据字段 - 请参阅示例表中的版本 3 。但是我不知道如何使用单个公式填充数据 - 而不是在数据字段中复制和粘贴,这对于基于原始数据的动态行和列标题数量是不可取的。

有没有办法将我的数据字段公式(在示例的单元格 B44 中)包装在一个数组公式中,该数组公式将填充数据字段,具有动态数量的列和行?

或者更高级的是有没有一个公式可以在一个公式中提供我想要的结果表?

标签: sqlgoogle-sheetspivot

解决方案


这应该可行,解释起来有点困难,但是如果您打开工作表以进行可编辑,我可以演示各个部分...

=ARRAYFORMULA(TRANSPOSE(QUERY(TRIM(SPLIT(TRANSPOSE(QUERY(QUERY({CHAR(10)&A2:A11,B2:B11&"|"&D2:D11&"|"},"select MAX(Col1) group by Col1 pivot Col2"),,9^9)),"|",0,0)),"select Col1,MAX(Col3) where Col1<>'' group by Col1 pivot Col2 order by Col1 desc label Col1'Project'")))

推荐阅读