使用脚本在 Google Sheets (Drive / Docs) 中复制相关公式

den*_*r81 2 google-sheets google-apps-script

我正在尝试创建一个脚本,在打开时将公式复制到数据的末尾。显然,公式本身包含相对寻址和绝对寻址,这需要维护。

IE,一个公式可能如下所示:

=if($C2="no", "no", VLOOKUP(concatenate($A2,$B2,$C2),'v2'!$A$2:$CN,MATCH(H$1,'v2'!$B$1:$CN$1,0)+1,FALSE))
Run Code Online (Sandbox Code Playgroud)

公式跨越许多列,列的数量也可能随着时间的推移而变化。因此,不可能为每一列创建自定义操作。

这是我到目前为止所得到的:

=if($C2="no", "no", VLOOKUP(concatenate($A2,$B2,$C2),'v2'!$A$2:$CN,MATCH(H$1,'v2'!$B$1:$CN$1,0)+1,FALSE))
Run Code Online (Sandbox Code Playgroud)

我尝试过 getFormulas 函数的变体。1)如果我使用 getFormulas 或 getFormulasR1C1 它会复制所有公式。然后它还将所有公式粘贴到每个目标单元格中​​。2)如果我使用 getFormula 或 getFormulaR1C1 它最终会复制范围中的第一个公式并将其粘贴到目标范围中的每个单元格中。enter code here

我有点不知所措,我只想做最基本的复制粘贴,更新相对地址。这有可能吗?

谢谢,

克里斯

Ada*_*amL 7

您可能需要查看copyTo(),它将以与您在电子表格中手动复制和粘贴相同的方式复制单元格(绝对和相对引用将受到尊重)。