google-sheets - 将重复的列组反转为行
问题描述
但我希望它重新塑造成这样
我尝试使用此答案中提供的代码转置数据,但是结果不是我想要的,而且我似乎无法理解它。我觉得我遗漏了一些明显的东西,但是使用分组列的需要让我有点吃惊。我习惯了 Python Pandas,我的 Excel/Sheets 技能严重缺乏。
我在这个演示电子表格中提供了所有电子表格和链接函数的使用示例。
非常感谢您的帮助!
解决方案
您的工作表上有一个名为 MK.Help 的新选项卡。您将在单元格 A2 中找到此公式。
=ARRAYFORMULA(QUERY(SPLIT(FLATTEN(current_data!A3:A&"|"¤t_data!B3:B&"|"¤t_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<>''"))
警告:我应该提到 FLATTEN() 是我最近才发现的一个未记录的函数。我相信它打算在工作表编程的后端保持“隐藏”,但如果我所做的是你所追求的,那么真的没有更有效的方法来做到这一点。如果您对使用未记录的函数感到不舒服,请告诉我,我可以尝试为您构建不同类型的工作。我曾与 Google 的一位工程师交谈过,并被告知它不会去任何地方,但也没有计划将其“公开”。
推荐阅读
- r - 我收到 R 错误:java.lang.OutOfMemoryError: Java heap space 我该如何解决这个问题?
- flutter - 无法专注于新添加的文本字段颤动
- java - 以编程方式使用 java tfs sdk 连接 tfs 的问题
- html - 如何使引导行成为视口的长度?
- swift - 如何更改 forEach 中的 StateObject 数组?
- mysql - 使用限制SQL后查询查询次数
- go - Go 如何将 3 字节序列转换为适当的 Unicode 字符?
- python-3.x - 如何在 Pandas、python 中搜索 csv 中的特定文本
- python - Choropleth Map - Folium 数据不会显示
- c++ - 类似于 strcat() 的函数的问题