GASで以下のことをしようとしております。
① スプレッドシートの、特定の1箇所のセルにある文字列をGASで取得
② 別のスプレッドシートの特定の1列にある、その文字列を含む1箇所のセルを検索
③ そのセルがある行の2行目に「成功」と表示
ーーーーーーーーーーーーーーー
①で取得する文字列ですが、毎回記入する内容が変わっても大丈夫なように、GASのスクリプトでは変数に代入して使いたいです。
はじめはmatchメソッドと正規表現を使えばいいかと思い試しておりましたが、正規表現では毎回内容が変わる文字列には対応できないとわかり、別の方法を探しておりました。
そこで、ひとまず手探りで調べながら以下のコードを書いてみました。↓↓↓↓
ーーーーーーーーーーーーーー
function myFunction() {
var anotherSheet = SpreadsheetApp.openById('1tobnoaxHbXMZBBiWv4LDLnMsvwljlpwG-CdtMGDKcuE');
var ss = anotherSheet.getActiveSheet();
var value = ss.getRange(1,1).getValue();
var thisSheet = SpreadsheetApp.getActiveSheet();
if(thisSheet.getRange("A1:A").match(value)){
thisSheet.getRange("B1:B").setValue("成功");
}
}
ーーーーーーーーーーーーーーー
もちろんこのままではエラーとなってしまいます。
■エラーメッセージ → 「thisSheet.getRange(...).match is not a function 」
エラーメッセージからして、matchメソッドの書き方に問題があるのかなと思うのですが、上記のコードのように、If文のなかのmatchメソッド()内に変数を格納はできないのでしょうか?
また、冒頭③の「成功」と表記するセルの指定の仕方がわからず、「シートの2行目」という意味で「 B1:B 」というおかしな指定でコードを書いております、、。
この二つが主な原因でエラーとなっているのかなと推測していますが、解決策がまだ見出せずにおります。
よろしければ、このコードの正しい書き方を教えていただけないでしょうか?
GASに慣れておらず未熟な質問内容ですが、ご教示いただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/22 11:47
2020/04/22 12:40
2020/04/22 22:09