いくつか方法はありますが
今回は一行目から順番に見て行き
一致する値があればログに出すというコードを書いてみました
このように与えられたデータを
上から順番に見て行く
という探し方を
『線形探索』といいます
例えばこんなシートがあるとして
見つけたらこんな感じでログに出したい
コード.gsfunction linear_search() { var keyword = "東京都"; var ss = SpreadsheetApp.getActiveSpreadsheet(); var sh = ss.getActiveSheet(); var range = sh.getRange("A:A"); var values = range.getValues(); var index = 0; for (var i = 0; i < values.length; i++) { if (values[i][0] == keyword) { index = i; break; } else {} } Logger.log(keyword + "は" + (index + 1) + "行目です") } | 意訳.gsこの処理は以下を実行する キーワードを設定する 現在開いているスプレッドシートを取得する 現在開いているシートを取得する A:Aの範囲を指定して すべての値を取得する indexの初期値を0にして 一行目の値から順に以下を繰り返す もし値がキーワードと一致したら indexに繰り返した回数を入れて 繰り返しの処理から抜ける もし一致しなければ何もせず次の値を見に行く ログに キーワードは何行目 と出す |
今回使ったデータ
検索ワード | ||
北海道 | ||
青森県 | ||
岩手県 | ||
宮城県 | ||
秋田県 | ||
山形県 | ||
福島県 | ||
茨城県 | ||
栃木県 | ||
群馬県 | ||
埼玉県 | ||
千葉県 | ||
東京都 | ||
神奈川県 | ||
新潟県 | ||
富山県 | ||
石川県 | ||
福井県 | ||
山梨県 | ||
長野県 | ||
岐阜県 | ||
静岡県 | ||
愛知県 | ||
三重県 | ||
滋賀県 | ||
京都府 | ||
大阪府 | ||
兵庫県 | ||
奈良県 | ||
和歌山県 | ||
鳥取県 | ||
島根県 | ||
岡山県 | ||
広島県 | ||
山口県 | ||
徳島県 | ||
香川県 | ||
愛媛県 | ||
高知県 | ||
福岡県 | ||
佐賀県 | ||
長崎県 | ||
熊本県 | ||
大分県 | ||
宮崎県 | ||
鹿児島県 | ||
沖縄県 |