2016-08-08 11 views
-1

Google Scriptに問題があります。セル内の値を検索し、別の列を選択/アクティブにする

私は、列に一意の値を持つスプレッドシートを持っています。変数に格納されている値を見つける必要があります。そのセルをアクティブにし、2つの列を右に移動し、そのセルの値をコピーするか、値を変数として格納します。

Googleシートでこれは可能ですか?

私が試したコードのいずれか:

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' 
    } 
    }; 

を私は移動する方法を知っているが、私は「slett'値でセルをアクティブにする方法を見つけ出すことはできません。

+0

あなたは現在持っているコードを共有できますか?それから私たちは正しい方向にあなたを指すのを助けることができます。 –

+0

ありがとうございます。私は10-15の異なるコードとそれらのバリエーションを試しましたが、私はちょうどそれらの1つを共有します: – Ingeborg

答えて

1

私が正しく理解している場合は、列Bを値slett(この場合は4)で検索し、見つかったらその値を同じ行のD列に格納します。

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

あなたがシートから追加データを取得したり、それに書き込むために必要な場合にのみ、再びシートにアクセスする必要があります:あなたはすでにシート全体の値を格納しているので、これは簡単です。あなただけの列Bの値の代わりに、全体のデータ範囲をつかんでいた場合たとえば、あなたはslettを見つけ、そこから2列以上の値を取得するために

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

を行うだろう。

+0

ありがとう、ありがとう、ありがとう!私は今あなたに花の大きな花束を送ってもらいたいです。 :-)私は昨日これを理解しようとしていた10時間を過ごし、私はすべての間違った道を下っていた。あなたは私の一日を作った! – Ingeborg

+0

私の喜び。あなたは答えを受け入れることで私に感謝することができます(してください)! –

関連する問題