2016-09-21 4 views
0

Ich möchte etwas Hilfe bei der Suche nach dem Zeilenindex, damit ich weiß, welche Zeilennummer in einem Google-Blatt einen bestimmten Zeichenfolgenwert als Notiz enthält. Ich habe den folgenden Code, der für einen Bereich mit einer Spalte funktioniert, aber wie ich den Bereich auf 30 Spalten und mehrere Zeilen erweitern, die Position entspricht nicht der Zeile. Ich suche nach etwas Hilfe, um das zu modifizieren, also kann ich die Zeichenkette in irgendeiner gegebenen Zelle innerhalb des ausgedehnten Bereichs finden (der vorzugsweise alle Blattzellen mit Daten in den Zellen abdeckt). Ich versuche zu lernen, Arrays sind mächtig, und ich verstehe nicht, wie man sie für diese Arten von Operationen verwendet.So finden Sie den Zeilenindex eines bestimmten Strings innerhalb eines Arrays

var sheetName = 'Form Responses';  
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName); 
var lastRow = sh.getLastRow(); 
var lastCol = sh.getLastColumn(); 
var data = sh.getRange(1, 30, lastRow).getNotes().toString(); 

     for(var i=0; i<data.length; i++) { 
      var row = data.indexOf("Responder updated this value."); 
      var intRow = row + 1; 
      } 

Antwort

0

Sie haben die .getRange() nicht korrekt verwendet. Versuchen Sie dies:

var data = sh.getRange(1, 1, lastRow, lastCol).getNotes(); 
var row = -1; 
for(var i = 0; i < data.length; i++){ 
    if(data[i].indexOf("Responder updated this value.") != -1){ 
    row = i + 1; 
    break; 
    } 
} 
+0

Es funktioniert! Danke für deine Unterstützung! – rickybutler

Verwandte Themen