循环通过范围并尝试(和失败)从相邻单元格获取值

时间:2017-08-07 13:33:21

标签: google-sheets

这个函数循环遍历一个范围,当它在单元格中找到某个文本时,我想得到相邻单元格的值。

似乎无法让它工作,继续得到:

'TypeError:在对象Range中找不到函数getvalue。 (第30行,文件“代码”)驳回

错误。

有人帮忙吗?

i

1 个答案:

答案 0 :(得分:0)

阵列是0个碱基,所以你需要添加到i& c获取正确的行和列。行的长度应为row [0] .length。此外,一旦找到您的价值,您就可以打破循环。试试这个:

 function Test (){
 var mysheet="2016";
  x=get(mysheet,"Interest");
}
function get(sheetname, txt) {
  var sheet = 
  SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetname)
  var cellvalue;
  var myval;
  var startRow = 1;  // First row of data to process
  var numRows = 100;   // Number of rows to process
  var dataRange = sheet.getRange(startRow, 1, numRows, 26)
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
    for (var i = 0; i < data.length; ++i) {
      var row = data[i];
      for (c=0; c< row[0].length; c++) 
      {
        cellvalue = row[c];
        if (cellvalue == txt)
        {
              i=i+1
              c=c+2
              myval=sheet.getRange(i, c).getValue()
              Logger.log( myval)
              break
            }
      }
      } 

}