- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在Google电子表格中,我想将sheet1中的A2:G500同步到sheet2,我知道有以下两种方法:
使用IMPORTRANGE
:把下面的公式放到sheet2的A1中:
=IMPORTRANGE("spreadsheet_url",sheet1!A2:G500)
它有效,但感觉我做得太过头了,而且似乎还有性能问题
=sheet1!A2
,然后将公式拖到sheet2的G500中。这是一个直观且简单的操作。但是,如果 sheet1 是表单响应表,则它不起作用 - 添加新响应时,sheet2 不会自动获取它。出于学习目的,我想知道是否有一种方法可以使用 Arrayformula
来完成此操作。此外,我想找到一种方法使此同步更加轻松,这意味着如果有不确定的数据行,我将不必时不时地返回此工作表并更改公式或手动拖动公式。这可能吗? Arrayformula
是实现此目的的正确方法吗?
最佳答案
我会推荐 { array expression } ,像这样:
={ Sheet1!A2:G }
这或多或少是一样的
=arrayformula(Sheet1!A2:G)
...但我更喜欢 {}
语法,因为它允许您指定不相邻的列。例如,您可以像这样跳过 D
和 F
列:
={ 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/
我是一名优秀的程序员,十分优秀!