gpt4 book ai didi

google-sheets - 谷歌表 : How to use arrayformula to copy data from one sheet to another?

转载 作者:行者123 更新时间:2023-12-04 13:05:34 29 4
gpt4 key购买 nike

在Google电子表格中,我想将sheet1中的A2:G500同步到sheet2,我知道有以下两种方法:

  1. 使用IMPORTRANGE:把下面的公式放到sheet2的A1中:

    =IMPORTRANGE("spreadsheet_url",sheet1!A2:G500)

它有效,但感觉我做得太过头了,而且似乎还有性能问题

  1. 在sheet2的A2中,输入公式=sheet1!A2,然后将公式拖到sheet2的G500中。这是一个直观且简单的操作。但是,如果 sheet1 是表单响应表,则它不起作用 - 添加新响应时,sheet2 不会自动获取它。

出于学习目的,我想知道是否有一种方法可以使用 Arrayformula 来完成此操作。此外,我想找到一种方法使此同步更加轻松,这意味着如果有不确定的数据行,我将不必时不时地返回此工作表并更改公式或手动拖动公式。这可能吗? Arrayformula 是实现此目的的正确方法吗?

最佳答案

我会推荐 { array expression } ,像这样:

={ Sheet1!A2:G }

这或多或少是一样的

=arrayformula(Sheet1!A2:G)

...但我更喜欢 {} 语法,因为它允许您指定不相邻的列。例如,您可以像这样跳过 DF 列:

={ Sheet1!A2:C, Sheet1!E2:E, Sheet1!G2:G }

在区域设置使用逗号而不是句点作为小数点的电子表格中,使用反斜杠 \ 而不是逗号作为水平分隔符。

要跳过,请使用分号; 作为垂直分隔符。例如,您可以像这样跳过 2:9 行:

={ Sheet1!A1:G1; Sheet1!A10:G }

开放式范围引用 A10:G 表示“A 到 G 列从第 2 行开始,一直延伸到工作表底部。”

您也可以省略行号以获得开放式范围引用,例如 A:G,这意味着 “从工作表的最顶部到底部的 A 到 G 列。” 在几乎所有情况下,此引用的行为都与 A1:G 相同。我养成了在引用中始终包含起始行的习惯,因为这样,如果在第 1 行上方插入一行,公式将自动调整。

当源表是表单响应表时,需要另一种策略。表单响应始终插入到新创建的行中,这些行无法预先直接引用。

为避免在将表单回复动态复制到另一个工作表时调整范围引用,请从第 1 行开始复制,如下所示:

={ 'Form Responses 1'!A1:A }

或者,使用数组公式,如下所示:

=arrayformula( 
  if( 
    row('Form Responses 1'!A1:A) = 1,
"Enter column header here", 
    'Form Responses 1'!A1:A
  ) 
)

处理表单响应的更好方法是使用 query() 将数据直接聚合到您需要的任何报告中功能。

关于google-sheets - 谷歌表 : How to use arrayformula to copy data from one sheet to another?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69579529/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com