如何在 google sheet 中附加 3 个列数不同的表?
How to append 3 tables with different number of columns in google sheet?
大家好,
我有 3 个 table 具有不同的列数,其中一些列实际上在这 3 个 table 中重复(如上面的屏幕截图所示)。
Table 1: Col A to Col D
Table 2: Col F to Col H
Table 3: Col J to Col L
我想将这 3 个 table 合并在一起以减少我的 google sheet 中的列数。下面的截图是我在合并前如何处理这 3 tables。
我正在使用 QUERY
为每个 table 创建额外的列,以便列数和位置在 3 table 之间对齐。之后,我再次使用 QUERY
附加 3 个已处理的 tables,如下面的屏幕截图所示:
但是,当我有 10 table 或更多时,这种方法非常乏味。是否有任何其他更简单的方法或技巧可以使用,以便我可以获得与第 3 个屏幕截图中所示相同的预期输出?
这是我的 sheet:
https://docs.google.com/spreadsheets/d/1H1gJAhp1RVax2fy8D-uEtFxdjb-zAHutkPFv5WZT_TY/edit#gid=0
任何帮助将不胜感激!
您需要一个非常复杂的公式才能获得所需的输出,该输出是多个公式的组合
我在你 Google Sheet 中添加了一个名为“Solution”的新选项卡,其中包含此公式
=QUERY(ARRAYFORMULA({
IFERROR( ArrayFormula(SPLIT(FLATTEN(Sheet1!B3:D3&"~"&Sheet1!A4:A&"~"&Sheet1!B4:D),"~")),"");
IFERROR( ArrayFormula(SPLIT(FLATTEN(Sheet1!G3:H3&"~"&Sheet1!F4:F&"~"&Sheet1!G4:H),"~")),"");
IFERROR( ArrayFormula(SPLIT(FLATTEN(Sheet1!K3:L3&"~"&Sheet1!J4:J&"~"&Sheet1!K4:L),"~")),"")}),
"SELECT Col2, SUM(Col3) WHERE Col2 is not null GROUP BY Col2 PIVOT Col1 LABEL Col2 'Student Name' ")
步骤:
- Unpivot 每个 table
=IFERROR( ArrayFormula(SPLIT(FLATTEN(Sheet1!B3:D3&"~"&Sheet1!A4:A6&"~"&Sheet1!B4:D6),"~")),"")
- 将所有table合并为一个table:
=ARRAYFORMULA({__Unpivot1__; __Unpivot2__, __Unpivot3__})
- Pivot 以上步骤2中的数据:
=Query(__Step2__, "SELECT Col2, SUM(Col3) GROUP BY Col2 PIVOT Col1 LABEL Col2 'Student Name' ")
- 在查询中添加
WHERE Col2 is not null
到remove any possible blank rows
大家好,
我有 3 个 table 具有不同的列数,其中一些列实际上在这 3 个 table 中重复(如上面的屏幕截图所示)。
Table 1: Col A to Col D
Table 2: Col F to Col H
Table 3: Col J to Col L
我想将这 3 个 table 合并在一起以减少我的 google sheet 中的列数。下面的截图是我在合并前如何处理这 3 tables。
我正在使用 QUERY
为每个 table 创建额外的列,以便列数和位置在 3 table 之间对齐。之后,我再次使用 QUERY
附加 3 个已处理的 tables,如下面的屏幕截图所示:
但是,当我有 10 table 或更多时,这种方法非常乏味。是否有任何其他更简单的方法或技巧可以使用,以便我可以获得与第 3 个屏幕截图中所示相同的预期输出?
这是我的 sheet:
https://docs.google.com/spreadsheets/d/1H1gJAhp1RVax2fy8D-uEtFxdjb-zAHutkPFv5WZT_TY/edit#gid=0
任何帮助将不胜感激!
您需要一个非常复杂的公式才能获得所需的输出,该输出是多个公式的组合
我在你 Google Sheet 中添加了一个名为“Solution”的新选项卡,其中包含此公式
=QUERY(ARRAYFORMULA({
IFERROR( ArrayFormula(SPLIT(FLATTEN(Sheet1!B3:D3&"~"&Sheet1!A4:A&"~"&Sheet1!B4:D),"~")),"");
IFERROR( ArrayFormula(SPLIT(FLATTEN(Sheet1!G3:H3&"~"&Sheet1!F4:F&"~"&Sheet1!G4:H),"~")),"");
IFERROR( ArrayFormula(SPLIT(FLATTEN(Sheet1!K3:L3&"~"&Sheet1!J4:J&"~"&Sheet1!K4:L),"~")),"")}),
"SELECT Col2, SUM(Col3) WHERE Col2 is not null GROUP BY Col2 PIVOT Col1 LABEL Col2 'Student Name' ")
步骤:
- Unpivot 每个 table
=IFERROR( ArrayFormula(SPLIT(FLATTEN(Sheet1!B3:D3&"~"&Sheet1!A4:A6&"~"&Sheet1!B4:D6),"~")),"")
- 将所有table合并为一个table:
=ARRAYFORMULA({__Unpivot1__; __Unpivot2__, __Unpivot3__})
- Pivot 以上步骤2中的数据:
=Query(__Step2__, "SELECT Col2, SUM(Col3) GROUP BY Col2 PIVOT Col1 LABEL Col2 'Student Name' ")
- 在查询中添加
WHERE Col2 is not null
到remove any possible blank rows