Google apps script 使用脚本复制Google工作表(驱动器/文档)中的相关公式
我试图创建一个脚本,在打开时将公式复制到数据的末尾。 显然,公式本身包含相对寻址和绝对寻址,这需要维护 也就是说,一个公式可能看起来像:Google apps script 使用脚本复制Google工作表(驱动器/文档)中的相关公式,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我试图创建一个脚本,在打开时将公式复制到数据的末尾。 显然,公式本身包含相对寻址和绝对寻址,这需要维护 也就是说,一个公式可能看起来像: =if($C2="no", "no", VLOOKUP(concatenate($A2,$B2,$C2),'v2'!$A$2:$CN,MATCH(H$1,'v2'!$B$1:$CN$1,0)+1,FALSE)) 公式跨越许多列,列的数量也可能随时间而变化。因此,不可能为每个列创建自定义操作 以下是我到目前为止得到的信息: var target\u book=
=if($C2="no", "no", VLOOKUP(concatenate($A2,$B2,$C2),'v2'!$A$2:$CN,MATCH(H$1,'v2'!$B$1:$CN$1,0)+1,FALSE))
公式跨越许多列,列的数量也可能随时间而变化。因此,不可能为每个列创建自定义操作
以下是我到目前为止得到的信息:
var target\u book=SpreadsheetApp.getActiveSpreadsheet();
var source_sheet=target_book.getSheetByName(“最近”);
var rows=source_sheet.getLastRow();
var cols=source_sheet.getLastColumn();
var formulas=source_sheet.getRange(“C2:CI2”).getFormulas();
source_sheet.getRange(3,3,rows-3,cols-2).setFormulas(公式);
我尝试过getFormulas函数的各种变体。
1) 如果我使用getFormulas或getFormulasR1C1,它会复制所有公式。然后,它还会将所有公式粘贴到每个目标单元格中。
2) 如果我使用getFormula或getFormulaR1C1,它将从范围复制第一个公式,并将其粘贴到目标范围内的每个单元格中。在此处输入code
我有点不知所措,我只想做最基本的复制和粘贴,更新相对地址。这有可能吗
谢谢
Chris您可能需要查看,它将以与在电子表格中手动复制和粘贴相同的方式复制单元格(将考虑绝对和相对引用)