【问题标题】:Google apps script - Get row number of a cell containing specific value谷歌应用脚​​本 - 获取包含特定值的单元格的行号
【发布时间】:2015-03-24 12:39:28
【问题描述】:

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

在下面的代码中,我想获取 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");
}

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

请帮忙。谢谢。

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    你需要使用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());
    

    【讨论】:

    • 试过这段代码,但它返回第 51 行,而当前值出现在第 6 行。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多