2017-11-22 9 views
0

データが外部ソースからスプレッドシートに投稿されます。データ範囲はA、B、Cの3つの列にわたります。私は、onEditスクリプトを使用して、新しく変更された範囲にアクセスできます。onEdit編集範囲のカスタム選択

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

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

しかし、私は他の値を除外するか、最初の場所でそれらを選択しないための簡単な方法があり、それが唯一の列Bの範囲の値を含むように範囲を変更したいですか?

答えて

1

必要なgetColumn関数ではありません。 getRange(a1Notation)メソッドを使用して、その範囲の値を取得できます。

私はそのメソッドhereの開発者サイトからメソッドをリンクしました。

UPDATE: ちょうど3つの列が常に存在する場合、コメントのフィードバックをもとに、あなたは)

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(使用すると思いますが、複数の行を持っているので、もし、2次元配列を返します。あなたはループのためにdoubleを使う必要があるでしょう。

+0

範囲で 'getRange'を使用することはできませんか? –

+0

ああ、私は今問題を見る。 –

+0

@EndaMolloyあなたの質問に対する私の新しい理解に基づいて私の回答を更新しました。これにより、あなたが探している価値が得られます。 –