2016-08-08 9 views
-1

Ich habe Probleme mit Google Script.Suchen Sie einen Wert in einer Zelle, wählen Sie/aktivieren Sie eine andere Spalte

Ich habe eine Tabelle mit eindeutigen Werten in einer Spalte. Ich muss einen Wert finden, der in einer Variablen gespeichert ist. Aktivieren Sie dann diese Zelle, verschieben Sie zwei Spalten nach rechts und kopieren Sie den Wert dieser Zelle oder speichern Sie den Wert als Variable.

Ist dies in Google Sheet möglich?

Einer der Codes Ich habe versucht:

function slett() { 
     var slett = 4; //define the value of the variable I'm searching for 
     var ss = SpreadsheetApp.getActiveSpreadsheet(); 
     var s = ss.getSheetByName('Ark 1'); // name of spreadsheet 
     var values = s.getDataRange().getValues(); 
     for (var row in values) // look in each row 
     if (values[row][1] == slett){ //if value in column B matches 'slett'.... 
             // activate the finding 
             // move righet using offset 
             // store value of that cell in a variable 
      s.deleteRow(parseInt(row)+1); // delete the row 
      break;      // do not search for another instance of the 'slett' 
    } 
    }; 

Ich weiß, wie sich zu bewegen, aber ich kann nicht herausfinden, wie die Zelle mit dem ‚slett'-Wert zu aktivieren.

+0

Können Sie den Code teilen, den Sie gerade haben? Dann können wir Ihnen helfen, in die richtige Richtung zu weisen. –

+0

Danke. Ich habe 10-15 verschiedene Codes und Variationen von ihnen ausprobiert, aber ich werde nur einen von ihnen teilen: – Ingeborg

Antwort

1

Wenn ich richtig verstehe, möchten Sie Spalte B für den Wert slett (4 in diesem Fall) suchen, und sobald Sie es finden, speichern Sie den Wert in Spalte D der gleichen Zeile. Dies ist einfach, da Sie bereits die Werte des gesamten Blattes gespeichert haben:

if(values[row][1] == slett){ 
    var storeVariable = values[row][3]; 
    s.deleteRow(parseInt(row)+1); 
    break; 
} 

Sie würden nur wieder das Blatt zugreifen müssen, wenn Sie zusätzliche Daten aus dem Blatt zu bekommen benötigt oder schreiben. wenn Sie hatte zum Beispiel die Werte in Spalte B anstelle des gesamten Datenbereich ergriffen, würden Sie

var storeVariable = s.getRange(row+1,4).getValue() 

den Wert zwei Spalten über von bekommen, wo Sie slett gefunden.

+0

Danke, danke, danke! Ich wünschte, ich könnte dir jetzt einen großen Blumenstrauß schicken. :-) Ich habe gestern zehn Stunden damit verbracht, das herauszufinden, und ich ging die falschen Wege. Du hast meinen Tag gerettet! – Ingeborg

+0

Mein Vergnügen. Sie können mir danken, indem Sie die Antwort annehmen (bitte)! –

Verwandte Themen