Google应用脚本 - 获取包含特定值的单元格的行号

时间:2015-03-24 12:39:29

标签: google-apps-script

如何获取包含指定值的单元格的行号。

在下面的代码中,我想获得H列中包含数字5的单元格的行号。

function doGet(e){

   var spreadsheet = SpreadsheetApp.openById("........sheet id........");
   var sheet = spreadsheet.getSheetByName("Sheet1");  


  var containingValue = 5;
  var range = sheet.getRange("H1:H"); 


 // [code to get valuie of Row]


  sheet.getRange(Row, 12).setValue("A text");
}

我想获取行的值并更新该行中的另一个单元格。

请帮忙。谢谢。

2 个答案:

答案 0 :(得分:2)

您需要使用for循环:

// get the values in an array
var values = range.getValues();

// examin the values in the array
var i = []; 
for (var y = 0; y < values.length; y++) {
   if(values[y] == containingValue){
      i.push(y);
   }
}
// translate the indices into rows
var Row = Number(i)+Number(range.getRow());

答案 1 :(得分:0)

您现在无需自己编写循环代码即可获取行的值。

如果您确定只有一个单元格具有 containsValue 值,则此 line 将完成这项工作:

let Row = range.createTextFinder(containingValue).matchEntireCell(true).findNext().getRow();