[英]AutoFill Formula (running across spreadsheet) - Google Sheets / Apps Script
我想更改下面的代码以在页面上自动填充公式 - 而不是自动填充
您可以在下面的 2 张图片中看到,我可以将公式添加到 N527,但无法使用代码自动填充整个页面 - 这正是我正在寻找的。
所以图像是我想要完成的事情之前和之后
function LastColumn(){
var spreadsheet = SpreadsheetApp.getActive();
var LastColumn = spreadsheet.getLastColumn();
//spreadsheet.setActiveSheet(spreadsheet.getSheetByName('MASTER'), true);
spreadsheet.getRange('N527').activate();
spreadsheet.getCurrentCell().setFormula('=sum(N497*N498*N499)/100/250');
var destinationRange = spreadsheet.getActiveRange().offset(0, 0, LastColumn -526);
spreadsheet.getRange("N527:BK527").copyTo(destinationRange);
}
我无法让附加的代码工作
我正在尝试将 N527 自动填充到 AK527 - 如果上面的单元格有数据。
提前致谢
我相信你的目标如下。
=sum(N497*N498*N499)/100/250
的公式从单元格“N527”放到列方向。carton
时,您要输入公式。在这种情况下,下面的示例脚本怎么样?
function LastColumn() {
var sheetName = "Sheet1"; // Please set the sheet name.
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
var range = sheet.getRange('N526:526');
var ranges = range.getValues()[0].reduce((ar, r, i) => {
if (r.toLowerCase() == "carton") ar.push(range.offset(1, i, 1, 1).getA1Notation());
return ar;
}, []);
sheet.getRangeList(ranges).setFormulaR1C1('=sum(R[-30]C[0]*R[-29]C[0]*R[-28]C[0])/100/250'); // This formula is like `=sum(N497*N498*N499)/100/250`.
}
carton
。 并且,当单元格具有值时,将公式放入第 527 行。
这意味着您的目标范围应该是“O527:BK527”。
样本:
function autoFill(){
var spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getSheetByName('MASTER');
var firstCell = sheet.getRange('N527');
firstCell.setFormula('=sum(N497*N498*N499)/100/250');
var destinationRange = sheet.getRange("O527:BK527");
firstCell.copyTo(destinationRange);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.