見出し画像

ホームヘルパーが使える、表計算で移動距離と時間を一挙に計算する方法

(有料記事ですが、無料部分に全て情報があります。)

ホームヘルパー(訪問介護士)や、配達、運送業の皆様、コロナの中でもライフラインとなるお仕事をされており、大変お疲れ様です。

・・・ところで、日々の業務の中で移動距離や移動時間の計算に消耗していませんか・・・?
もしそうだとしたら、ぜひ今回の内容をご覧いただき、日頃の業務に役立ててください!

今回は、2地点間の移動距離や移動時間を、表計算ソフトで一気に計算する方法を紹介します。使うのは、表計算と言ってもGoogleスプレッドシート。これはChromeやEdgeといったWebブラウザから使う表計算アプリですが、Microsoft Excelとほぼ同じ機能か、ここで紹介するGoogleMapとの連携のように、Excel以上の機能があります!

こんなことができます

例えば、いきなりローカル、ですが、九州工業大学は、工学部がある戸畑キャンパス、北九州市立大や早稲田大学といっしょに生命体工学研究科がある若松キャンパス、情報工学部がある飯塚キャンパスがありますが、この3キャンパス間の距離と時間を調べてみましょう。

まずは生命体工学研究科のある若松キャンパスから戸畑キャンパスへの移動です。

画像1

ご覧になって分かると思いますが、「生命体工学研究科」「戸畑区仙水町1−1」のように、住所を書いても、大ざっぱな地名を書いても、ちゃんと距離と時間を、高速道路や通常道路での車、公共交通機関、徒歩、と言うようにいろいろなパターンで計算することができます。・・・16キロ弱、徒歩だと200分ですね・・・。あと、公共交通機関だと70分とありますが、実際にはGoogleで検索できない市営バスがありますので、1時間以内には行けるはずではあります。

次に、工学部のある戸畑キャンパスから情報工学部のある飯塚キャンパスへの移動です。次の行に地名を書いて、上の行からコピーすると・・・

画像2

できましたね?表計算では計算式が書かれた部分をコピーすると、それに応じて計算もやり直してくれる「相対参照」という機能がありますが、今回の距離や時間の計算でもそれができています。この調子でどんどんコピーしていけば、多くの移動距離や時間の計算を一気にやってしまうことができますね!公共交通機関で142分、2時間20分って・・・。

話はそれますが、九州工業大学は、創立110年を越えた国立大学です。若松キャンパスには、スマートライフケア共創工房という先端センシング・プロトタイプ施設がありますが、ここは厚生労働省の介護ロボットのためのリビングラボ・ネットワークに選ばれています。ご興味あればコンタクトとってみてください!

準備

まずは、以下のサイトを参考に、準備をしていきます。いろいろ書いてありますが、やればいいのは以下の2カ所だけです。

・Googleドライブからスプレッドシートを作成する
・スプレッドシートからスクリプトエディタを開く

そして用意するものは、パソコンと、
・Googleアカウント
・Webブラウザ
だけです!まずは上記2つだけ、やってみましょう!

次に、ここで開いたエディタに、以下のプログラムを、何も考えずにコピー&貼り付けをしましょう!

function mapQuery(src, dest, type, result) {

 var finder = Maps.newDirectionFinder()
 .setOrigin(src)
 .setDestination(dest)
 .setLanguage("ja")

 if (type=="highway"){
   finder = finder
   .setMode(Maps.DirectionFinder.Mode.DRIVING);
   
 } else if (type=="toll"){
   finder = finder
   .setMode(Maps.DirectionFinder.Mode.DRIVING)
   .setAvoid(Maps.DirectionFinder.Avoid.HIGHWAYS);

 } else if (type=="drive"){
   finder = finder
   .setMode(Maps.DirectionFinder.Mode.DRIVING)
   .setAvoid(Maps.DirectionFinder.Avoid.TOLLS);

 } else if (type=="transit"){
   finder = finder
   .setMode(Maps.DirectionFinder.Mode.TRANSIT);

 } else if (type=="bicycle"){
   finder = finder
   .setMode(Maps.DirectionFinder.Mode.BICYCLING);

 } else if (type=="walk"){
   finder = finder
   .setMode(Maps.DirectionFinder.Mode.WALKING);
   
 }
 var route = finder.getDirections().routes[0];
 
 var value = route.legs[0];
 if (result=="distance"){ 
   value = value.distance.value/1000; //kilometer
 } else if (result=="duration"){
   value = value.duration.value/60; //minutes
 }

 return value;
}

貼り付けた後は、以下のようになっていればOKです。

スクリーンショット 2020-08-01 23.30.38

あともう少しだけ準備があります。今度は以下の、
・スクリプトを保存する
・プロジェクト名を変更する

をやっておきましょう。そうすれば準備OKです!

そして、もしかしたら使っていく中で、「Authorization required (承認が必要です)」という表示が出るかもしれません。これはスクリプトがあなたのスプレッドシートなどをいじりますがいいですか?という確認です。その場合は、次のリンク先に従って、承認してあげましょう。ちょっと分かりにくいので、注意深く進めましょう。

使い方

それでは早速使ってみましょう!下のように表計算の画面に戻って、・
1) A1とB1のセルに出発地と目的地を入れ、
2) C1のセルに、 

=mapQuery(A1, B1, "walk", "distance")

と入れてみましょう(半角英数にすることに注意してください)。そうしたら、次のように移動距離が表示されましたね?

スクリーンショット 2020-08-01 23.41.00

他にも、距離では無くて移動時間を調べたい場合は、"distance"の部分を、"duration"にすればOKです!例えば、次のような感じです。

=mapQuery(A1, B1, "walk", "duration")

また、"walk"の部分は、以下のように変えることで、移動手段をいろいろ変えることができます!
・"highway":高速道路で車
・"toll":有料道路で車
・"drive":(有料区間を使わない)車
・"transit":公共交通機関
・"bicycle":自転車(日本では結果が出てこないことも多いですが。)
・"walk":徒歩

では、ぜひ使ってみてください!

知らなくてもいいけど、どんなしくみ?

ご存じの方も多いと思いますが、表計算ソフトでは「関数」というものを使うことができます。そう、中学校の数学で習った、何かをいれたら何かが出てくる、箱、のようなものです。(数学、と聞くだけで、あ”〜、と頭が痛くなる人もいるかもしれません。しかしご安心ください。お金を入れたらジュースが出てくる自動販売機、誰だって使えますよね?あれも関数みたいなものです!)

そして、これが大きな特徴なのですが、Googleスプレッドシートでは、Google Apps Scriptというプログラムを書くことで、その関数を自作できちゃうのです。Google Apps Scriptは通常GASと言ったりするのですが、GASと検索エンジンで検索すると、ガソリンスタンドが検索されたりしますので、混乱しないでくださいね・・・。

さらに、GASでは、Googleマップのような、Googleのサービスをいろいろ呼び出すことができるのです。今回はプログラムの中身には立ち入りませんが、他にも、Googleカレンダーや、アンケートが採れるGoogleフォーム、メールを送れるGmailなど、たくさんのサービスと連携することができます!今後、ホームヘルパーにも役立ちそうな、いろんな機能を紹介していきますね!

サンプルシートを公開します!

ここまでで一通り、準備・使い方・しくみを説明しましたが、実際にサンプルシートをコピーして使ってみたい、という方のために、サンプルシートを公開します!

他にも、この機能をこんな用途に使ってみたい!などとご要望があれば、サンプル作ってみようかと思いますので、お気軽にコメントどうぞ!

ここから先は

128字 / 1画像

¥ 350

この記事が気に入ったらサポートをしてみませんか?