0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

住所一覧の各目的地までの所要時間を取得する GAS スクリプト

Posted at

大したスクリプトではないのですが、同じことをしようと思っている方がいるかもしれないので記事にしました。

背景

新型コロナウイルスのワクチン接種がスタートしてしばらく経ちますが、自治体によっては接種券が配布されて予約ができるようなところも増えていると思います。国や自治体が実施している大規模接種もありますが、近隣の病院で予約を取ることも可能です。
私の住む板橋区では、ありがたいことにウェブページにて予約を受け付けている病院の一覧を公開してくれています 1 。しかし、住所を見ただけでは家から近いのか、ワクチンを打って帰ってこれる距離なのかがわからず、かといって全部の病院を地図で調べるのも手間です。なので、スクリプトで所要時間を計算して近い病院を探すことにしました。

使い方

実際のスクリプトはこちらです。
https://github.com/hako017/gasGetRequiredTime/blob/main/%E3%82%B3%E3%83%BC%E3%83%89.gs

  1. スプレッドシートを作成します。
  2. スプレッドシートに機関一覧の情報をコピーします2
  3. GAS のエディタを開き3、コードをコピペしてください。
  4. コードの必要な部分を修正します。(詳細は次のセクションを参照)
  5. 実行する関数をmyFunctionに変更して実行します。
  6. 権限を求められたら許可してください。
  7. 実行結果がスプレッドシートの指定された場所に書き込まれます。

あとは結果をもとにソートするなりしてあげてください。

実行する前に修正する部分

  /** 出発地 */
  const origin = "" // ここに出発地を入力

上記の変数には出発地(住所など)を記載してください。

  /** 住所一覧が記載されている行のはじめ */
  var destRow = 2
  /** 住所一覧が記載されている列 */
  var destCol = 2

この箇所でデータを取ってくる開始行と列を指定しています。実際のスプレッドシートに合わせて変更してください。
上のコードでは、開始行は2行目、読み取る列は2列目となっています。

  // スプレッドシートへと書き込む
  range = sheet.getRange(2, 4, list.length, list[0].length)

この箇所でスプレッドシートに結果を書き込んでいます。getRange(2, 4, ...)の2, 4がそれぞれ開始行と書き込む列を指定していますので、実際のスプレッドシートに合わせて変更してください。

参照

こちらに掲載されているコードを参考にさせていただきました。ありがとうございます。
変更点としては以下の通りです。

  • 移動手段を自動車から[徒歩もしくは公共交通機関]へと変更
  • 移動経路が取得できなかった場合の処理を追加4

車での経路を探したい方は参照元のコードを参考にしていただければ幸いです。

  1. https://www.city.itabashi.tokyo.jp/kenko/kenshin/yobou/1030911/1032756.html

  2. スプレッドシートの関数importHTMLを使うとhtmlファイルから表をインポートすることもできます。

  3. GAS の詳しい使い方は説明しませんが、Qiita に記事があると思うのでそちらを探してみてください。

  4. 移動経路が取得できない場合のほかに時間が極端に長くなる場合もありました。Google Map で手動で検索すると検索できる場合が多いので、変な結果があった場合は手動で検索してみてください。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?