我正在为Sheets开发一个Apps脚本项目,我不知道是不是因为我从未真正使用过Sheets或Excel,但我不知道如何通过代码为整列设置公式。
var cell = sheet.getRange([i], 2);
var cell2 = sheet.getRange([i], 1);
var inhoud = cell2.getValue();
cell.setFormula("=(" + inhoud/86400000 + "DATE(1970,1,1)");
我希望连续的每个B都能用同一行的A做某事。在工作表自我中很容易“向下拖动功能”,使其适用于每一行,但我不知道如何在代码中工作,因为我不能使用A2,例如,或A2 :A30。部分问题可能是它在for循环中:
var subsie = [];
for (i = 0; i < subscriptions.length; i++) {
var subscription = subscriptions[i];
creationdate = subscription.creationTime;
if (subscription.plan.planName == 'ANNUAL' && subscription.renewalSettings.renewalType == 'AUTO_RENEW') {
subsie.push([creationdate, ' ', subscription.plan.planName]);
Logger.log(subsie);
var cell = sheet.getRange([i], 2);
var cell2 = sheet.getRange([i], 1);
var inhoud = cell2.getValue();
cell.setFormula("=(A1:A100/86400000) + DATE(1970,1,1)");
} }
sheet.getRange(sheet.getLastRow()+1, 1, subsie.length, subsie[0].length).setValues(subsie);
实际的目标是将A的纪元值转换为日期,我尝试了很多不同的方式,但结果比我预期的要困难。这是唯一似乎适用于我的输出的公式,如下所示: 1433235478178 。如何使此代码有效?提前谢谢!
答案 0 :(得分:2)
解决了它:)
creationdate = (subscription.creationTime/86400000)+25567;