![](/img/trans.png)
[英]How to Copy a data range from one sheet to another sheet using Google Sheet Script
[英]Google Sheet: How to use arrayformula to copy data from one sheet to another?
在Google電子表格中,我想將sheet1中的A2:G500同步到sheet2,我已經知道以下兩種方法:
使用IMPORTRANGE
:將以下公式放在 sheet2 的 A1 中:
=IMPORTRANGE("電子表格網址",sheet1!A2:G500)
它有效,但感覺我做得太過分了,此外似乎還有性能問題
=sheet1!A2
,然后將公式拖到sheet2中的G500。 這是一種直觀且易於操作的方法。 但是,如果 sheet1 是表單響應表,則它不起作用 - 添加新響應時,sheet2 不會自動獲取它。 出於學習目的,我想知道是否有辦法使用Arrayformula
來做到這Arrayformula
。 此外,我想找到一種方法使這種同步更加無憂無慮,這意味着如果有不確定的數據行,我將不必時不時地返回到此工作表並更改公式或手動拖動公式。 這可能嗎? Arrayformula
是實現此目的的正確方法嗎?
=ARRAYFORMULA(Sheet1!A:G)
這不起作用嗎?
它是:
ArrayFormula(Sheet1!A2:G500)
對於 499 行,或ArrayFormula(Sheet!A2:G)
如果你想從第 2 行開始同步所有內容我會推薦一個{ array expression } ,如下所示:
={ Sheet1!A2:G }
我更喜歡這種語法,因為它允許您指定不相鄰的列,如下所示:
={ Sheet1!A2:C, Sheet1!E2:E, Sheet1!G2:G }
在此示例中,跳過了D
列和F
列。
在第 1 行嘗試:
={""; INDEX(sheet1!A2:A)}
當您在第一行使用它時,這將解決您的表單問題。 如果您的第 1 行中已經有一些內容,您可以將其添加到雙引號中,如下所示:
={"header"; INDEX(sheet1!A2:A)}
在多列的情況下,它是這樣的:
={"","","","","","",""; INDEX(sheet1!A2:G)}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.