Google sheets 动态重组googlesheets数据
我目前正在使用Google Sheets从Wordpress中的联系人表单7导入数据。所有的数据都很好,但我想看看如何以更加用户友好的方式格式化它。我简化了一点示例,但是我创建的表单的要点允许用户根据需要请求具有不同措辞的图形文件的多个版本,最多5个(为了简单起见,我的示例只有2个) 所有数据都是使用CF7变量导入的,理想情况下,我想稍微清理一下。我所想到的解决方案是创建第二张图纸,将第一张图纸中提交的数据拉入一种更方便用户的格式,因为我打算将其用作设计师的工作表单,以便在收到数据后创建所需的图形。对于每个请求,名称/部门/电子邮件/日期都保持不变,但我想在另一行显示版本以及第1行和第2行数据。是否可以动态地重新组织数据,以便在提交新表单并将数据添加到工作表1时,工作表2将使用正确格式的信息进行更新 这可能吗?我在网上看了一些东西,但没有任何与这种类型的数据操作相关的东西 解决方案: 下面是我的例子的最终效果Google sheets 动态重组googlesheets数据,google-sheets,Google Sheets,我目前正在使用Google Sheets从Wordpress中的联系人表单7导入数据。所有的数据都很好,但我想看看如何以更加用户友好的方式格式化它。我简化了一点示例,但是我创建的表单的要点允许用户根据需要请求具有不同措辞的图形文件的多个版本,最多5个(为了简单起见,我的示例只有2个) 所有数据都是使用CF7变量导入的,理想情况下,我想稍微清理一下。我所想到的解决方案是创建第二张图纸,将第一张图纸中提交的数据拉入一种更方便用户的格式,因为我打算将其用作设计师的工作表单,以便在收到数据后创建所需的
=ArrayFormula(QUERY({
Sheet1!A2:D,Sheet1!E2:G,ROW(Sheet1!A2:A);
IFERROR(LEN(Sheet1!A2:D)/0),Sheet1!H2:J,ROW(Sheet1!A2:A);
IFERROR(LEN(Sheet1!A2:D)/0),Sheet1!K2:M,ROW(Sheet1!A2:A);
IFERROR(LEN(Sheet1!A2:D)/0),Sheet1!N2:P,ROW(Sheet1!A2:A);
IFERROR(LEN(Sheet1!A2:D)/0),Sheet1!Q2:S,ROW(Sheet1!A2:A)
},"select Col1,Col2,Col3,Col4,Col5,Col6,Col7 where Col5<>'' order by Col8",1))
=数组公式(查询({
活页1!A2:D,活页1!E2:G,世界其他地区(活页1!A2:A);
IFERROR(LEN(Sheet1!A2:D)/0),Sheet1!H2:J,世界其他地区(Sheet1!A2:A);
IFERROR(长(图1!A2:D)/0),图1!K2:M,世界其他地区(图1!A2:A);
IFERROR(LEN(Sheet1!A2:D)/0),Sheet1!N2:P,世界其他地区(Sheet1!A2:A);
IFERROR(LEN(Sheet1!A2:D)/0),Sheet1!Q2:S,世界其他地区(Sheet1!A2:A)
},“选择列1、列2、列3、列4、列5、列6、列7,其中列5“按列8排序”,1))
是的,这是可能的
一种方法是使用数组和查询函数
为了简单起见,让我们这样说吧
- A列和B列包含订单的一般信息
- 列C和D具有版本1的数据
- 列E和F具有版本2的数据
- 列G和H具有版本3的数据
=ArrayFormula(查询({A2:B,C2:D,行(A2:A);IFERROR(LEN(A2:B)/0),E2:F,行(A2:A);IFERROR(LEN(A2:B)/0),G2:H,行(A2:A)},“选择Col1,Col2,Col3,Col4,其中Col3按Col5排序”)
- 引用从第2行开始,跳过标题,以避免在输出工作表中包含标题
用于维持订单行(A2:A)
是一种“技巧”,用于“隐藏”同一订单的第二行和后续行的订单(一般信息)数据。在查询函数的select参数上,ORDERBY子句将其引用为Col5IFERROR(LEN(A2:B)/0)
- 假设
永远不会为空lookup-choice-1
orderby
子句按常规信息列对结果进行排序,因为隐藏“标签”的“技巧”。如果需要应用排序,在应用上述公式之前,可以通过“数据>排序范围”对源范围进行排序。。。特征,因此数据在通过上述公式转换之前进行排序- ,一篇描述数据>排序范围的官方帮助文章