Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 将重复的列组取消拆分为行_Google Sheets - Fatal编程技术网

Google sheets 将重复的列组取消拆分为行

Google sheets 将重复的列组取消拆分为行,google-sheets,Google Sheets,我有一张这样格式的数据表 但我想把它改成这样 我尝试使用在中提供的代码转换数据,但是结果不是我想要的,我似乎无法理解它。我觉得我遗漏了一些明显的东西,但是需要使用分组列让我有点困惑。我已经习惯了Python,我的Excel/Sheets技能严重缺乏 我已经提供了所有的电子表格和在中使用链接函数的示例 非常感谢您的帮助 我意识到我在链接答案中误用了脚本。我没有标题。一旦我提供了对列进行分组的标题,unpivot脚本就工作得很好。我将留下示例表供大家查看,并给出答案 工作表上有一个名为MK.He

我有一张这样格式的数据表

但我想把它改成这样

我尝试使用在中提供的代码转换数据,但是结果不是我想要的,我似乎无法理解它。我觉得我遗漏了一些明显的东西,但是需要使用分组列让我有点困惑。我已经习惯了Python,我的Excel/Sheets技能严重缺乏

我已经提供了所有的电子表格和在中使用链接函数的示例


非常感谢您的帮助

我意识到我在链接答案中误用了脚本。我没有标题。一旦我提供了对列进行分组的标题,unpivot脚本就工作得很好。我将留下示例表供大家查看,并给出答案

工作表上有一个名为MK.Help的新选项卡。你可以在单元格A2中找到这个公式

=ARRAYFORMULA(QUERY(SPLIT(FLATTEN(current_data!A3:A&"|"&current_data!B3:B&"|"&current_data!C3:C&"|"&FILTER(current_data!D3:L,REGEXMATCH(current_data!D2:L2,"size"))&"|"&FILTER(current_data!D3:L,REGEXMATCH(current_data!D2:L2,"colour"))&"|"&FILTER(current_data!D3:L,REGEXMATCH(current_data!D2:L2,"quantity"))),"|",0,0),"where Col4<>''"))
=ARRAYFORMULA(查询(拆分(展平(当前_数据!A3:A&“|”&当前_数据!B3:B&“|”&当前_数据!C3:C&“|”&过滤器(当前_数据!D3:L,REGEXMATCH(当前_数据!D2:L2,“大小”)&“过滤器”(当前|数据!D3:L,REGEXMATCH(当前|:L2,“颜色”)&“过滤器(当前|数据!D3:L2,REGEXMATCH)(当前|:L2,数量),“Col4,其中,”),“0”)
警告:
我应该提到flatte()是我最近才发现的一个没有文档记录的函数。我相信这是为了保持“隐藏”在后台的工作表编程,但如果我所做的是你所追求的,真的没有一个更有效的方法来做到这一点。如果您不喜欢使用未记录的函数,请告诉我,我可以尝试为您构建一种不同的工作环境。我已经和谷歌的一位工程师谈过了,他们告诉我谷歌哪儿也去不了,但也没有计划将其“公开”。你也可以使用以下查询公式:

=查询({A2:F5;A3:C5,G3:I5;A3:C5,J3:L5},“其中Col4”按Col1排序”)

(不需要脚本)

使用的功能:


我应该澄清一下。我正试图在Google Sheets中专门实现这一点,我已经用Excel标记了它,以防过程是相同的,并且那些拥有Excel专业知识的人可能会参与进来。您是否考虑过使用应用程序脚本来实现这一点?如果您感兴趣,我可以用一个相当简单的数组公式来实现这一点?如果你的脚本很好,那就这样吧:)但是如果你对如何使用公式感兴趣,也许可以将工作表更改为“可编辑”,我可以在一个新选项卡上演示。嗨@MattKing。这将非常有帮助,如果有更简单的本机解决方案,我希望看到它。我想我现在已经使文档可编辑了。谢谢当然可以它肯定只是3个“产品”吗?你希望它计划无限数量的产品吗?3只是一个例子。这是一个不确定的数字。谢谢!谢谢你,马特。这是一个地狱般的公式,但它比我使用的脚本更透明,所以我喜欢它。我必须仔细检查,以确保我理解每一页
=QUERY({A2:F5;A3:C5,G3:I5;A3:C5,J3:L5},"where Col4<>'' order by Col1")