【发布时间】:2018-10-08 12:03:25
【问题描述】:
我正在使用以下脚本从另一个 Google 表格导入数据,但它没有引入我需要的公式。
我尝试过ImportRange,但这似乎只是同步了两张表,我需要删除原始表(表 1)中的数据,但这也会删除我购买的表(主表)中的数据。
还有其他方法可以做到这一点吗?
function Copy() {
var sss = SpreadsheetApp.openById('Sheet 1 ID');
var ss = sss.getSheetByName('results');
var range = ss.getRange('2:688');
var data = range.getValues();
var tss = SpreadsheetApp.openById('Master Sheet ID');
var ts = tss.getSheetByName('results');
ts.getRange(ts.getLastRow() + 1, 1, data.length, data[0].length).setValues(
data
);
var sheet = SpreadsheetApp.openById('Sheet 1 ID').getSheetByName('Roger');
ss.getRange('2:688').clearContent();
}
【问题讨论】:
-
您能分享您的电子表格吗?很乐意为您提供帮助。现在看起来您需要使用
getFormulas来实现您想要实现的目标 -
如果要传输公式,请使用
.getFormulas而不是.getValues。如果您需要两者,则同时使用两者,并通过迭代公式数组将静态值替换为每个单元格的公式。如果您提前知道哪些范围具有公式,哪些具有静态值,则对适当的范围使用适当的调用。还要考虑.copyTo方法。
标签: google-apps-script google-sheets