iPhone・AppleWatchでいつでもメンバー13人のスケジュールを確認できる！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/12df1741-c9ee-a64b-5255-3b534d2fcb9e.png)
## iPhoneとAppleWatchの音声認識でスケジュール確認できるツール

私は某大手といわれる小売業(スーパー)本社で、発注など商品システムのサポートを仕入れ担当商品部員へ対応している部署のマネージャーです。
サポート内容はシステムの不具合修正調整や新人商品部員への操作トレーニングなど多岐にわたります。

メンバーは13人いて自分のスケジュールは手帳やiPhoneのアプリでスケジュール管理していますが、自部署メンバー全員のスケジュールとなるとリストを持ち歩かないと確認しにくい状態です。
LINEにメンバーのスケジュールをたずねるとメンバーのスケジュールを教えてくれるLINE Botを作成してみました。
|LINEへ入力|LINEが教えてくれます        |
|-----|------------|
|日付けのみ送信すると |その日在社メンバーの名前を教えてくれます|
|日付けに続いて個人名を入力すると|その個人のスケジュールを教えてくれます|

下記は**iPhone**の画面です
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/d2e7c2a8-d428-ee0b-471c-ae7a388479c5.png)
**AppleWatch**にもLINEは連動するので**AppleWatchの音声入力**でも確認できます。
めっちゃ便利になりました！
下記は**AppleWatch**の動画見本です。(氏名はすべて仮名です)
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">AppleWatchへしゃべりかけるとスケジュールを返答してくれる！<a href="https://twitter.com/hashtag/protoout?src=hash&amp;ref_src=twsrc%5Etfw">#protoout</a> <a href="https://twitter.com/hashtag/applewatch?src=hash&amp;ref_src=twsrc%5Etfw">#applewatch</a> <a href="https://twitter.com/hashtag/%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB?src=hash&amp;ref_src=twsrc%5Etfw">#スケジュール</a> <a href="https://twitter.com/hashtag/ChatGPT?src=hash&amp;ref_src=twsrc%5Etfw">#ChatGPT</a> <a href="https://twitter.com/hashtag/Excel?src=hash&amp;ref_src=twsrc%5Etfw">#Excel</a> <a href="https://t.co/RoXS4UkaxC">pic.twitter.com/RoXS4UkaxC</a></p>&mdash; takeomagic (@takeomagic) <a href="https://twitter.com/takeomagic/status/1707191298556563649?ref_src=twsrc%5Etfw">September 28, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

:::note warn
**目指したツールの動き**
① スケジュールの元データは会社で共通して管理しているスケジュール表から連動させる。
② LINEに日付けと個人名を入れるとその個人のスケジュールを教えてくれる。
　例）「1012Aさん」と送信すると10月12日のAさんの在社、〇〇会議計画を教えてくれる。
③ LINEに日付けのみ入れるとその日の在社メンバーの名前をすべて教えてくれる。
　例）「1030」と送信するとAさん・Cさん・Dさん・Fさん・Gさんと教えてくれる。
④ 上記は**LINEの入口を分けることなく1つの入口で対応できる事**。
⑤ **AppleWatchのLINEからも音声入力**対応。
   音声入力は9月12日なら「キュウイチニ」と短くてすむ事。
:::

## 使用したツール
:::note info
・[ChatGPT](https://chat.openai.com/)
・[Make](https://www.make.com/en/login?response_type=code&client_id=eu2.make.com&redirect_uri=https%3A%2F%2Feu2.make.com%2Fsso%2Foauth&state=b0c222a2027ec7376ab5&scope=zone%3Alogin)
・[Line Developers](https://developers.line.biz/ja/)
・[Google スプレッドシート](https://www.google.com/intl/ja_jp/sheets/about/)
:::

## 全体の流れ
① エクセルで作成されたスケジュールの元データを**Googleスプレッドシート**に貼り付けできるマクロ作成。

:::note warn
このマクロ作成を[ChatGPT](https://chat.openai.com/)に組んでもらいます。
:::
② **Googleスプレッドシート**上で日付けからスケジュールを検索する関数設定
③ **LINE Bot**

## まず弊社で標準管理しているスケジュール表をGoogleスプレッドシートで管理するシートにエクセルマクロで変換します。
１，コロナから弊社の在社スケジュール管理しているエクセルシートを**Googleスプレッドシート**へ貼り付ける形に[ChatGPT](https://chat.openai.com/)でマクロ作成プロンプト流しました。
下の表が統一して管理しているスケジュールシート。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/dc7615c0-2d5d-9825-1425-08a06059f07c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/ae8756ee-6ce0-102e-2a6f-b7457f3f1c7b.png)
**ChatGPTからの回答**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/2ea5f56b-4d0f-cb1a-2881-b24486c6d75b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/811632b7-1e1b-fa8c-2188-8f9797201d9e.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/6daf0d85-fc4e-eb3b-bf35-b102fec7301a.png)

２，エクセルに**ChatGPT**で組んでもらったマクロを入れ込み、縦に日付け名前＋曜日・スケジュールが並ぶようにしました。

:::note alert
注意 日付けについて
日付けはスマートフォンの手入力やApple Watchの音声入力が楽なように9月12日なら、912(音声入力時にはキュウイチニですむ)というようにスラッシュや曜日を外して登録しています。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/b78a7e3c-42ed-57a8-6b14-8936e12a3c68.png)

その下に続いて下記をつなげる処理にしています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/6fc86c07-a364-feb2-1467-1e975bbb4a81.png)
日付けのみ＋曜日・在社メンバー全ての名前です。
ここが工夫した点で2つの異なるデータをつなげる事でLINEの入口を分ける事なく、
・日付け名前の入力すればその人のスケジュールがかえり
・日付けのみ入力すればその日の在社メンバーの名前がすべてかえるようになりました。

３，マクロで加工された縦長リストを**Googleマイドライブ**にある**Googleスプレッドシート**に貼りつけます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/b5c89ac5-225b-83a7-ef11-6207b799b936.png)

４，**Googleスプレッドシート**には通常のエクセルと同様の関数を設定しておきます。

:::note alert
内容
① A2に検索したい日付けと名前をを入力するとその日のその人のスケジュールを教えてくれる。
② 同じくA2に検索した日付けのみを入力するとその日の在社計画のメンバーの名前すべてを教えてくれる。
という設定をVLOOKUP関数で設定します。
設定する関数は=vLookup(A2,D2:E●●●,2,FALSE)となります。
:::

●●●のところはメンバーの人数により増減するので多めに設定しておきます。

**Makeの全体図は下記の通りです**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/a19ec8b0-a01e-d5ca-45ab-4324a621d853.png)

１，Google SheetsのUpdate a CellのChoose a Driveを**My Drive**に設定。
２，Spredseet IDに自分で作成したシート名を選択します。
　　今回は1枚のみしかsheetはありませんのでシート1です。
３，CellにLINEから日付け（＋名前）が入力されるA2セルを入力します。
４，valueにはEvent message textを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/2117bb67-d71c-43aa-0ad1-9dbca2487775.png)
５，Google SheetsのGet a Cellも同様にシート名まで入力します。
６，CellにA2セルを検索値としてVLOOKUPで情報を検索するC2セルを入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/44dbf8ba-2b3f-2eda-6c16-abb9f0b688c4.png)

**LINE Send a Reply Message**を設定します。
７，Reply Tokenに1.Events[  ]:Reply Token 
TypeにText、その下のText部分に3.Valueを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/6bd47762-1481-a13c-a055-67c00f25e042.png)

**スマートフォンのLINE**で
① 日付けと名前を送信すればその人のスケジュールが返信され、
② 日付けのみ送信すればその日の在社メンバー全員の名前が返信される事が確認できました。

**AppleWatchの音声入力**でも
同様の動きをする事が確認できました。
9/17山本さん(例)のスケジュールを確認する場合だと「キュウイチナナヤマモト」
9/14在社メンバーの確認をする場合は「キュウイチヨン」としゃべりかけるだけで教えてくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/8072409d-70f0-5fd2-42db-bb40e8dd368a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3514199/b7f8eb1b-2afc-1117-83c5-53c1312704a9.png)

急に会議予定などが入った時、必要なメンバーの在社体制をサクッと確認するのに非常に役立っています。

色々試している中で**ChatGPT**の利点も多く知る事ができました。
**ChatGPT**にまとめてもらうと以下の回答がかえってきました。

:::note info
[ChatGPT](https://chat.openai.com/)の利点は多岐にわたります。エクセルのマクロを超え、表形式や箇条書きで情報提供し、タイムリーなアドバイスや知識を提供することができます。さらに、柔軟性が高く、多様なトピックに対応可能であり、迅速なサポートを提供します。これにより、効率的な情報取得とタスクの自動化が可能となり、作業効率を向上させます。
:::
なんだかこれから原稿もすべて書いてくれるかもしれませんね。

**ChatGPTより**
最後までご覧いただきありがとうございました。