我是GAS新手,我正尝试自动从另一张纸上更新每月预算报告,以保持对项目费用的关注。
预算表示例:https://docs.google.com/spreadsheets/d/1ggYjZmGBLnfP-Wzq5dFKpfjaOZj78lgJr8LAl2GtV-I/edit?usp=sharing
我正在尝试构建一个代码,该代码可以基于项目名称(例如“ Project1”)匹配“实际”表中的数据,然后复制并粘贴“工资”,“商品”,“费用”等中的数据。基于相同项目名称的“预算”表中的相应单元格。当为项目添加新预算时,预算表将获得新行。如果在预算表中找不到正确的项目名称,则应忽略此名称。我从我们的ERP中获取实际数字,并且每当我从ERP中获得新报告时,都会更新“实际”表。
我用'update'构建了一个额外的菜单按钮,希望可以执行上述操作。到目前为止,代码如下:
(添加行功能会自动将最后一行添加到表中并保留公式)
// global
var ss = SpreadsheetApp.getActive();
function onOpen() {
var ui = SpreadsheetApp.getUi();
var menu = ui.createMenu('Menu');
var item = menu.addItem('New Row', 'addRow');
var item2 = menu.addItem('Update', 'updateTable');
item.addToUi();
}
function addRow() {
var sh = ss.getActiveSheet(), lRow = sh.getLastRow();
var lCol = sh.getLastColumn(), range = sh.getRange("InsertFormulaRangeHere");
sh.insertRowsAfter(lRow -1, 1);
range.copyTo(sh.getRange(lRow,1,1,lCol), {contentOnly:true})
;
}
function updateTable() {
import
}
到目前为止,我已经研究了getRange脚本和importange,vlookup和match公式,但我迷路了。
任何建议如何解决?