更改 Google 表格布局的公式:转置和拆分

Posted

技术标签:

【中文标题】更改 Google 表格布局的公式:转置和拆分【英文标题】:Formula to change the layout of a Google Sheet: Transpose & Split 【发布时间】:2022-01-04 01:38:02 【问题描述】:

我想转换 Sheet1 中收集的数据,使其看起来像 Sheet2。

Sheet1 - 从 Google 表单填充的数据。

此表包含参加特定课程的员工的出勤率。

此工作表包含超过 50,000 行。

每一行的类 ID 都是唯一的。

可以在多行中找到相同的员工 ID

通知员工 ID“123456”在类 X123456 和 ZZ974547 中找到
A B C
1 Date Class ID Employee ID's
2 4/26/2021 6:47:13 X123456 123456 896779 835906 TMP880997 908613 882853
3 4/26/2021 17:18:57 Y123456 227583 233482 218680 226955 225310 227569 227582
4 4/26/2021 18:01:30 XYZ123456 201032 232863 232848 TMP232845
5 4/27/2021 12:24:29 X123457 188809 224046 232861 232846
6 4/28/2021 10:56:28 X123458 210975
7 5/26/2021 10:29:31 ZZ974547 123456 955725 961714 956114 955986 959287 955748

Sheet2 - 使用公式的预期结果

时间戳排序的结果。 计算一个类 ID 中员工 ID 的数量。 然后将类 ID 复制相同的次数。 类 ID X123456 包含 6 个员工 ID,因此 X123456 重复 6 次(1/行) 类 ID Y123456 包含 7 个员工 ID,因此 Y123456 重复 7 次(1/行)
A B
1 Class ID Employee ID
2 X123456 123456
3 X123456 896779
4 X123456 835906
5 X123456 TMP880997
6 X123456 908613
7 X123456 882853
8 Y123456 227583
9 Y123456 233482
10 Y123456 218680
11 Y123456 226955
12 Y123456 225310
13 Y123456 227569
14 Y123456 227582
15 XYZ123456 201032
16 XYZ123456 232863
17 XYZ123456 232848
18 XYZ123456 TMP232845

这是我尝试过的当前公式...

Sheet2!A2 =TRANSPOSE(SPLIT(REPT(B2:B &" ",COUNTA(TRANSPOSE(SPLIT(C2:C," "))))," "))

Sheet2!B2 =TRANSPOSE(SPLIT(C2:C," "))

这些公式适用于第一个 Class ID,但不适用于其余 Class ID。我尝试用ARRAYFORMULA() 包装它们,但没有奏效。

【问题讨论】:

【参考方案1】:

尝试:

=INDEX(QUERY(SPLIT(FLATTEN(IF(IFERROR(SPLIT(D2:D, " "))="",,
 C2:C&"×"&SPLIT(D2:D, " "))), "×"), "where Col2 is not null"))


更新:

=INDEX(SUBSTITUTE(QUERY(SPLIT(FLATTEN(IF(IFERROR(
 SPLIT(D2:D, " "))="",,C2:C&"×"&SPLIT(D2:D, " ")&"♦")), "×"), 
 "where Col2 is not null"), "♦", ))

【讨论】:

非常适合上面共享的示例!谢谢玩家0。在实际工作表上运行此程序后,我注意到缺少一些员工 ID。缺失的 ID 包含员工 ID 前面的字母(例如:TMP123456)。我已将此变量添加到我的问题中。至于您的公式,我尝试为每个范围添加TO_TEXT,但这不起作用。公式中的什么功能是省略显示的文本?谢谢:) @JamesReed68 回答已更新 你先生是个传奇。我希望有一天我能像你一样创建公式。

以上是关于更改 Google 表格布局的公式:转置和拆分的主要内容,如果未能解决你的问题,请参考以下文章

谷歌表格查询公式转置

Google 表格:从 IMPORTDATA() 中拆分多行分隔文本

是否有 Google 表格公式可以将表格名称放入单元格中?

自动填充公式(跨电子表格运行) - Google 表格/应用程序脚本

如何使用 Google Apps 脚本将公式添加到 Google 表格?

在 Google 表格中加入条件转置