0
我目前正在处理一个电子表格,其中有ID的列。我想在此列中找到MAX值+1,只要有人添加一个新行并将其放入正确的单元格中。任何想法如何自动完成?唯一的用户交互应该是添加新行。让我给你看一张截图,以澄清我的问题。在SpreadSheet中自动找到列的最大值
我目前正在处理一个电子表格,其中有ID的列。我想在此列中找到MAX值+1,只要有人添加一个新行并将其放入正确的单元格中。任何想法如何自动完成?唯一的用户交互应该是添加新行。让我给你看一张截图,以澄清我的问题。在SpreadSheet中自动找到列的最大值
试试这个:
创建一个onchange安装并触发如下图所示将其设置为这个功能。
function onAddRow(e)
{
if(e.changeType=='INSERT_ROW')
{
//Logger.log('here');
var ss=SpreadsheetApp.getActive();
var sh=ss.getActiveSheet();
var rg=sh.getDataRange();
var vA=rg.getValues();
var max='-1';
for(var i=1;i<vA.length;i++)
{
if(vA[i][12]>max)
{
max=vA[i][12];
}
}
var arg=sh.getActiveRange();
var row=arg.getRow();
//Logger.log(row);
sh.getRange(row,13).setValue(max + 1);
}
}
你可以尝试一些代码,看看它是否工作,你需要写的是电子表格背后'onEdit'功能。查看[this](https://developers.google.com/apps-script/guides/triggers/#onedit)和[this](https://developers.google.com/apps-script/guides/触发器/事件#编辑)来帮助你。 – kaza