2013-04-14 30 views
0

我有一列有40個不同的數字,從1 ..到40列出。 當我在其他行的上面或下面插入一行時,這個新行的數量應該是41,忽略順序。 這兩個數字都不應出現兩次或被刪除。Google-apps-script:可擴展行中的唯一ID

這個想法是,每行都有唯一的ID,並且行數可以增長。

這個想法的函數如何在谷歌腳本中查看谷歌電子表格?

我試過用script-cell-functions和正常的給定函數,但不幸的是我卡住了。

謝謝你的幫助!

回答

1

以下腳本嚴格按照您的要求進行操作。這也意味着它只有在新插入的行單元格爲空時纔有效。 (由於第二個循環中的++ maxval,它可以填充多個插入的行)。如果你在最後一行之後添加一個空行,它將不起作用(事實上,ID單元格必須是空的,但是這行中必須有一些東西,以便腳本'看到'),但這很合邏輯!

function fillRowNumber(){ 
    var col = 1 ; // this for column A ! change to your needs 
    var sh = SpreadsheetApp.getActiveSheet(); 
    var dataincol = sh.getRange(1,col,sh.getMaxRows(),1).getValues(); 
    var maxval =0 
    for(n=0;n<dataincol.length;++n){ 
    if(Number(dataincol[n][0])>maxval){ maxval=Number(dataincol[n][0])} 
    } 
    for(n=1;n<sh.getLastRow();++n){ 
    if(dataincol[n-1][0] == ''){ dataincol[n-1][0]=maxval+1;++maxval} 
    } 
    sh.getRange(1,col,sh.getMaxRows(),1).setValues(dataincol); 
} 
+0

謝謝:)工作正常 – venumaer