Google sheets 在Google工作表中使用importrange()时如何处理数据操作?

Google sheets 在Google工作表中使用importrange()时如何处理数据操作?,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我正在使用importrange()加速Google sheets中的工作簿。整个工作簿的目的是从母版图纸导入数据,然后允许我们在母版图纸之外以想要的方式对其进行操作 问题是:因为importrange()不允许您直接操作单元格,所以我们使用Sheet1作为导入工作表;它不会被触碰。Sheet2是我们进行操作的地方,但实际上它只是Sheet1的副本,所以它也使用importrange()。这会使整个工作簿陷入困境,并使操作非常缓慢 我正在考虑使用!第1A1页。。。并将其复制到操作表中的所有单元格

我正在使用importrange()加速Google sheets中的工作簿。整个工作簿的目的是从母版图纸导入数据,然后允许我们在母版图纸之外以想要的方式对其进行操作

问题是:因为importrange()不允许您直接操作单元格,所以我们使用Sheet1作为导入工作表;它不会被触碰。Sheet2是我们进行操作的地方,但实际上它只是Sheet1的副本,所以它也使用importrange()。这会使整个工作簿陷入困境,并使操作非常缓慢


我正在考虑使用!第1A1页。。。并将其复制到操作表中的所有单元格,但我担心这仍会使工作簿陷入困境。导入数据可能会增长到10k+行,而我目前的数据量仅为这一数据量的一半,并且遇到了这个问题。除此之外,我不确定还有什么可以尝试的。

查询功能可以在这里提供帮助,网上有一些很棒的资源

=导入(电子表格\u url、范围\u字符串)

一个典型的例子是:

=importrange(“https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxxxxx“,“Sheet1!A:Z”)

您可以将
查询
函数包装在该函数周围,以操作数据

QUERY
类似于SQL的一个版本,功能非常强大。格式如下:

=查询({},”,1)

您的数据范围
importrange(“https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxxxxx“,“Sheet1!A:Z”)
将在
{}
范围内

然后在查询的
部分中,您可以编写用于操作数据的参数

例如:

选择Col1、Col4、Col5,其中Col1不为null,Col6包含Col1的“hello”顺序,Col7描述标签Col1“新名称1”,Col4“新名称4”

选择
位允许您从导入中指定特定列。如果您想要全部,那么可以使用
选择*

where
项是使用各种
参数建立标准的地方

不为null
是另一种表示您想要包含数据的行的方式

包含
是有用的。您还可以使用
匹配项
开头,
结尾,以及类似
like
可以使用通配符
%
,因此
像“%the%”这样的Col1会在哪里找到“hello there”

除非添加
desc
,即
按Col1、Col2、Col4、Col5 desc、Col3排序,否则
排序依据
为升序

label
允许您重命名列,因此假设输入列1称为'Name1',输入列2称为'Name2',您希望它们为'First name'和'nam姓氏,您可以使用
label Col1'First name',Col2'nam姓氏'

如果您喜欢
QUERY
还有其他功能强大的子句,它们在
QUERY(范围,“子句”,0)
中按以下顺序运行:

选择

其中

分组依据

pivot

订购人

限制

偏移量

标签

格式

选项

在使用importrange获取数据时,您可能会遇到一个小问题,即需要在
查询中引用列
Col1、Col2、Col3

但是,如果您的范围已经在同一个工作表(相同或不同的选项卡)中,则您可以改为引用列字母,例如,
选择A、B、C,其中A按描述的顺序不为空

为了使其更加一致并使用
Col1、Col2、Col3
符号,您可以将内部范围放入数组
{}

QUERY(Sheet1!B:F,“按B,C选择B,C,D,其中F不是空的顺序”,0)

将成为:

QUERY({Sheet1!B:F},“选择Col1,Col2,Col3,其中Col5按Col1,Col2,0的顺序不是空的”)

{Sheet1!B:F}
是智能的,因为您可以在此范围前面添加列,而无需更改子句。因此,在Sheet1前面添加一列将导致:

QUERY({Sheet1!C:G},“选择Col1,Col2,Col3,其中Col5按Col1,Col2,0的顺序不是空的”)

另一种方法需要您将子句更改为:

QUERY(Sheet1!B:F,“按B,C选择B,C,D,其中F不是空的顺序”,0)

致:

QUERY(Sheet1!C:G,“选择C,D,E,其中G不是C,D的空顺序”,0)

这是一个很大的接受,但绝对值得一试