首页 > 解决方案 > 谷歌表格从表格中提取数据并为每个数据集创建一行

问题描述

我被谷歌表格困住了。

情况:我有一个包含项目的数据表。每个项目都有几个属性,最重要的是包括本月哪个团队成员参与了该项目。

目标:我需要将数据转换为以不同方式构建的新表。每个活跃的团队成员每个项目需要一行。

示例数据和目标: https ://docs.google.com/spreadsheets/d/1QcNPsvHX8hBNUpCJiutof8yD8ukFYcCXM_pLNrQmDUs/edit?usp=sharing (可以编辑)

在此处输入图像描述 正如您所看到的,SEO 和 Island 现在有两行而不是一排,因为 Jan 和 Chris 本月已经参与了这些项目。

方法:我尝试了 FILTER、QUERY(带有枢轴)并考虑了脚本(基本上它是对 Matrix B3:E8 的迭代......)。但是,我对表格不是特别熟练,非常感谢您的帮助。谢谢十亿,伙计们!!!

标签: filtergoogle-sheetspivotextraction

解决方案


您可以通过使用 Textjoin 将非空白单元格的相应列标题和其他数据连接在一起,然后使用 Transpose 和 Split 函数将其分成行、行和列,以一种相当标准的方式执行此操作:

=ArrayFormula(split(transpose(split(textjoin("¶",true,if(B3:E8="","",A3:A8&"|"&F3:F8&"|"&G3:G8&"|"&H3:H8&"|"&I3:I8&"|"&B2:E2)),"¶")),"|"))

推荐阅读