簡體   English   中英

getRange(cell)在Google App腳本中不起作用

[英]getRange(cell) not working in google app script

我對腳本還很陌生。 我試圖建立一個Google工作簿來整理來自Google表單的條目。 每個月,表單中的條目都會進入工作簿中的新表。 工作簿中的最后一頁匯總了所有以前的圖紙。

但是,由於無法確定工作表的數量,因此我無法編寫引用所有先前工作表的求和函數。

我現在想構建一個簡單的函數,將所有現有工作表中相同單元格的值求和。

我可以控制新工作表的名稱,因此所有新工作表的名稱均為SMM1,SMM2,SMM3等。

  1. 每次執行都會顯示“找不到范圍”
  2. 在工作表中,使用單元格名稱調用此函數會產生奇怪的數字。 例如: =totalsheets("E17")給出31,即使所有5張紙都填滿1張E17,這是我寫的腳本

代碼示例:

function totalsheets(cell) {

var sum=0,sname="";

// to find total number of sheets based on fixed 2nd last sheet

var number= SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SMM1").getIndex();

for(var i=1; i<=number; i++)

{

  sname="SMM" + i;

  var s= SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sname).getRange(cell).getValue();
    sum+=s;

  }

  return sum;

}

試試這個代碼:

  function totalsheets(cell) {

    var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();

    var sum = 0;

    for (var i = 0; i < sheets.length; i++) {


      var sheet = sheets[i];
      var sheetName = sheet.getName();

      if (sheetName.substring(0, 3) == 'SMM') {

        var val = sheet.getRange(cell).getValue(); 

        if (typeof(val) == 'number') {
            sum += val;   
        }

      }

  }

  return sum;

  }

我在這里發現了類似的問題 ,它可能也對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM