查找包含特定字符串的单元格的位置

时间:2015-08-29 02:40:00

标签: javascript arrays google-apps-script google-sheets

我正在寻找一种方法来搜索范围内的字符串,并在找到后获取单元格的位置 这是我用来查找行号

的内容
var ss = SpreadsheetApp.getActiveSheet();
var values = ss.getRange("B:B").getValues();
var i=rownum=0;
for(i=0;i<values.length;i++) {
  if(values[i]=='string') rownum=i+1;  

然后我使用以下代码查找列号

var colvalue;
for (j=1;j<ss.getLastColumn();j++) {
if (ss.getRange(3,j).getValue() == "string" {
colvlaue = j;
  }
}

有没有办法搜索包含特定字符串的范围内的整个行和列,并在找到它后返回其单元格位置?

1 个答案:

答案 0 :(得分:3)

您需要使用嵌套的for循环。这段代码将执行此操作:

function findValueInRange () {
  var ss = SpreadsheetApp.getActiveSheet(),
      theLastColumn = ss.getLastColumn(),
      theLastRow = ss.getMaxRows();

  //Returns a two dimensional array of both rows and columns
  var values = ss.getRange(1,1,theLastRow,theLastColumn).getValues();

  var i=0,
      rownum=0, 
      thisRow,
      colvalue,
      whatToFind = "name3",
      j=0;

  for(i=0;i<values.length;i++) {
    thisRow = values[i];

    for (j=1;j<thisRow.length;j++) {
      colvalue = thisRow[j];
      if (colvalue === whatToFind) {
        Logger.log("The string is in row: " + (i + 1) + " and column: " + (j+1));
      };
    };
  };
};