いくつか方法はありますが
今回は一行目から順番に見て行き
一致する値があればログに出すというコードを書いてみました
このように与えられたデータを
上から順番に見て行く
という探し方を
『線形探索』といいます
例えばこんなシートがあるとして
見つけたらこんな感じでログに出したい
コード.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に繰り返した回数を入れて 繰り返しの処理から抜ける もし一致しなければ何もせず次の値を見に行く ログに キーワードは何行目 と出す |
今回使ったデータ
| 検索ワード | ||
| 北海道 | ||
| 青森県 | ||
| 岩手県 | ||
| 宮城県 | ||
| 秋田県 | ||
| 山形県 | ||
| 福島県 | ||
| 茨城県 | ||
| 栃木県 | ||
| 群馬県 | ||
| 埼玉県 | ||
| 千葉県 | ||
| 東京都 | ||
| 神奈川県 | ||
| 新潟県 | ||
| 富山県 | ||
| 石川県 | ||
| 福井県 | ||
| 山梨県 | ||
| 長野県 | ||
| 岐阜県 | ||
| 静岡県 | ||
| 愛知県 | ||
| 三重県 | ||
| 滋賀県 | ||
| 京都府 | ||
| 大阪府 | ||
| 兵庫県 | ||
| 奈良県 | ||
| 和歌山県 | ||
| 鳥取県 | ||
| 島根県 | ||
| 岡山県 | ||
| 広島県 | ||
| 山口県 | ||
| 徳島県 | ||
| 香川県 | ||
| 愛媛県 | ||
| 高知県 | ||
| 福岡県 | ||
| 佐賀県 | ||
| 長崎県 | ||
| 熊本県 | ||
| 大分県 | ||
| 宮崎県 | ||
| 鹿児島県 | ||
| 沖縄県 |

