当前位置: 首页 > 知识库问答 >
问题:

谷歌工作表-查询,导入和追加文本的结果

孔运珧
2023-03-14

我有一个包含主数据的谷歌表(sheetA)。我正在使用“IMPORTRANGE”功能和“QUERY”将这些数据导入另一个google工作表(工作表B)

=SORT(QUERY(IMPORTRANGE("url for sheet A","Crown DB!A2:E"),"SELECT Col1 WHERE not(Col5='SS')"))

假设,下面是运行上述公式后得到的示例输出

item1
item2
item3
item4

我希望将文本附加到这些返回值,以便为每个返回值获取两个新值:

item1 - var1
item1 - var2
item2 - var1
item2 - var2
item3 - var1
item3 - var2
item4 - var1
item4 - var2

如果是单个变量,我可以在上面的公式中添加“-Var1”:

SORT(查询(IMPORTRANGE(“sheetA的url”,“crowndb!A2:E”),“选择Col1而不是(Col5='SS')”)

如何修改公式以获得附加多个变量(


共有1个答案

曹茂材
2023-03-14

最简单的方法是在数组公式中添加值并将其展平。然后在之后使用SORT。

=ARRAYFORMULA(SORT(FLATTEN(
QUERY({A2:E},"SELECT Col1 WHERE not(Col5='SS') and not(Col1='')")
 & {" - Val1", " - Val2"})))
  • 使用{A2: E}在测试中更容易显示完整的公式。在您的案例中,将{A2: E}更改为IMPORTRANGE
  • not(Col1=")对于跳过Col1为空的行很重要。
  • ARRAYFORMULA中附加一个带有m数组的n数组将导致数组的n x m维度。在上面使用FLATTEN将它们组合在一个列中。然后我们使用SORT
=ARRAYFORMULA(SORT(FLATTEN(QUERY(
IMPORTRANGE("url for sheetA","Crown DB!A2:E"),
"SELECT Col1 WHERE not(Col5='SS') and not(Col1='')"
) & {" - Val1", " - Val2"})))
 类似资料:
  • 在我看来,GoogleSheetsAPI的append方法(用于从程序向GoogleSheet添加数据的方法)需要一个2d数组。Sam Berlin在这里似乎说了很多Google Sheet API批量更新问题。我想知道是否有人知道这是为什么?

  • 我正在尝试将多个选项卡中的数据导入GoogleSheets中的新工作表。每个选项卡的列标题都是相同的,所有选项卡的数据都是标准化的。我可以毫无问题地使用importrange函数,但问题是:每天都会创建一个新选项卡,我不想每天都编辑查询以包含一个新选项卡。 有没有办法编写导入范围函数(或类似的查询),以便它将导入指定工作表中的EVERY选项卡?例如。今天,Sheet1有Tab1,Tab2,Tab3

  • 我试图在我的工作表中创建一个依赖的下拉列表,在Col A中,它将允许您选择区域列表(例如。美洲、非洲、亚洲)等,然后在Col B中显示在Col A中选择的该地区国家的列表。 我尝试使用=间接和=索引/匹配公式,但它们对我超过1000行的工作表不起作用。 我的工作簿中有11个选项卡,但是我只想将数据从“国家”选项卡拉到“主呼叫表”选项卡进行验证。所有其他选项卡都是从主工作表中删除的。 在countr

  • 我试图使用一个谷歌脚本,从检索2个证券字段,并将输出保存到Google Sheet文件。我还需要脚本将datetime添加到工作表的第一列。 我创建了一个包含3列的基本Google工作表: A的格式为DateTime。第1行中有列名称date,第2行之后为空 以下是我的功能: 以下是输出: C和D列的输出正确。A列输出错误。每次我运行该函数时,每一行都会在最后一行的上方添加: 我第一次运行该函数是

  • 我在Google Sheets中使用IMPORTRANGE将多个工作表导入主工作表上的一列时遇到了一点问题,每当其中一个工作表被更新时,它就会自动在主工作表上创建新行。除了进口,还有更好的方法吗?

  • 我有一个电子表格从谷歌表单收集我的表单回复。 附在这张纸上的是一个脚本,它将每一行都拉出,进行一些计算,并将结果放入另一张纸中。我不是每次都复制整张表,而是用下面的代码拉两张表的增量: 问题是,我还将过滤器应用于接收工作表,并且每当我插入任何新数据时,过滤器范围都不会更新。 有什么办法可以让我绕过这件事吗?作为上面更新函数的一部分,我能否以编程方式更新过滤器范围?