如何将查询中的不同列堆叠到一个单列Google表格中

问题描述

我已经从Google表格中的importxml中进行了查询,并且在几列中都得到了结果。我只需要在一列中获得这些结果,但是即使每行为空,我也总是需要保留每行的第一个单元格。如果是这样,我不想在同一行中为其他单元格保留空白。

我的数据如下:

空行
空行
1x 1x 1x

1x 1x 1x
空行
空行
1x 1x 1x

1x 1x 1x
空行
5x

我想得到:

空单元格

空单元格
1x

1x

1x

1x

1x

1x

空单元格

空单元格

5x

我当前的代码是这样的: .size()

编辑:这是指向实际电子表格的链接https://docs.google.com/spreadsheets/d/1ZownNdUfFEeBmZ4hEQwkDVu-phYzU-2nCAH2Fg91GRs/edit?usp=sharing

我用来检索视频游戏的信息。我已经做过,但是从中获取信息的网站发生了一些变化,因此现在我需要调整公式。

在“齿轮部件”选项卡中,您可以找到数据的结构,就像我以前的公式一样。在“公式”标签中,您可以找到我现在正在得到的东西。齿轮列表在左侧,每个齿轮的数量在右侧,但结构不合适。因此,我需要保留所有1x和5x。

解决方法

您可以使用= STACKARRAY()。

这不是本机功能,因此您必须安装附加组件(它是完全免费的) https://gsuite.google.com/marketplace/app/stackarray_for_google_sheets/851782699334

然后您可以通过以下方式使用它: =STACKARRAY(ref_to_your_table) 它将第二列堆叠在第一列之下,依此类推...

您还可以决定删除空白行: =STACKARRAY(ref_to_your_table,TRUE)

或更改堆叠策略 =STACKARRAY(ref_to_your_table,TRUE or FALSE,TRUE)

,

使用 STACKARRAY 代替 FLATTEN

=FLATTEN(E3:G)