2017-11-22 4 views
0

Daten werden von einer externen Quelle in meine Tabelle geschrieben. Der Datenbereich erstreckt sich über drei Spalten - A, B, C. Ich kann mit dem onEdit-Skript auf den neu geänderten Bereich zugreifen.onEdit benutzerdefinierte Auswahl des bearbeiteten Bereichs

function onEdit(e){ 
    var activeSheet = e.source.getActiveSheet(); 

    if(activeSheet.getName() !== "Raw") return; 
    var range = e.range; 

Allerdings mag ich Bereich so modifizieren, dass sie nur die Bereichswerte aus Spalte B enthalten Gibt es eine einfache Möglichkeit, die anderen Werte herausgefiltert werden oder sie nicht in erster Linie wählen?

Antwort

1

Es ist nicht die getColumn-Funktion, die Sie benötigen. Sie können die Methode getRange(a1Notation) verwenden und dann den Wert dieses Bereichs abrufen.

Ich habe die Methode aus der Sicht developer.google für diese Methode here verknüpft.

UPDATE: Basierend auf dem Kommentar Feedback, wenn es immer nur die drei Spalten ist, dann würden Sie

var range = e.range; 
var data = range.getValues(); //returns row as an array 
var cell = data[0][1]; //gets data for column B, then you can do whatever with it 

getValues ​​() gibt einen 2D-Array verwenden, wenn Sie also mehr als eine Zeile haben, Sie müssen eine doppelte for-Schleife oder etwas verwenden, das den gleichen Effekt erhält, um sie zu durchlaufen.

+0

Ich kann 'getRange' nicht in einem Bereich verwenden? –

+0

Ah, ich sehe das Problem jetzt. –

+0

@EndaMolloy Ich aktualisierte meine Antwort basierend auf meinem neuen Verständnis Ihrer Frage. Dies sollte Ihnen den Wert geben, nach dem Sie suchen. –

Verwandte Themen