現在、スプレッドシートでマスタを管理するコードを書こうと思っております。
具体的には二つのシートがあり、片方が処理済み案件番号リストでもう一つがマスタとなります。
処理済み案件番号リストにある、複数の案件番号を一括でマスタの該当案件番号に「処理済み」と
入力したいと思っております。
ただ私は初心者で知識が乏しく
単体のセルで変数を宣言しそれに対しての処理する方法しか知らず、処理済み案件番号を一つ一つ
選んでやっている状態です。
現状の動作:
スプレッソシート…シートが二枚(処理済み案件番号リスト / マスタ)
処理済み案件番号リスト(以下:リスト)のカラムAに処理済み案件番号が記載してあり、
セルB1に「処理済み」と記載したい処理済み案件番号を記入している。
マスタのカラムAにすべての案件番号が記載されており、その中から処理済みのものの
右隣(カラムB)に「処理済み」と記載する。
発生している問題・エラーメッセージ
複数のセルの値に対し一括で「処理済み」と入力したい
該当のソースコード
1function input_value(){ 2var mySS=SpreadsheetApp.getActiveSpreadsheet() 3var sh = mySS.getSheetByName("処理済み案件番号リスト"); 4var sh2 = mySS.getSheetByName("マスタ"); 5var cell = sh.getRange("B1") 6var key = cell.getValue(); 7var col = "A"; 8var row = get_row(key, col, sh2); 9sh2.getRange(row, 2).setValue("処理済み") 10} 11 12function get_row(key, col, sh2){ 13 var array = get_array(sh2, col); 14 var row = array.indexOf(key) + 1; 15 return row; 16} 17 18function get_array(sh2, col) { 19 var last_row = sh2.getLastRow(); 20 var range = sh2.getRange(col + "1:" + col + last_row) 21 var values = range.getValues(); 22 var array = []; 23 for(var i = 0; i < values.length; i++){ 24 array.push(values[i][0]); 25 } 26 return array; 27}
試したこと
getRangeメソッドで複数のセルのデータを二次元配列で取り、
要素を変数で宣言しようと思いましたが、それ以降の値の書き込みの
コードが思いつかず行き詰ってしまいました。
適切なコード(もしくは解決しうるメソッド)をインターネットで
検索し続けている状態です。なにとぞ教えていただけましたら幸いです。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー