サクっと作れるのに予想以上に好評でした！備品の貸出管理簿

DXでスーパーの業務の改善をすべく、
まだまだ初心者のわたくしですが日々奮闘中です！
今回はGoogleのAppSheetを使って、備品の貸出管理簿を作ってみました。


## なぜ作ろうと思ったの？

わたくしたちの会社では、いまだに店舗の備品の貸出管理簿が手書きなんです。
タブレットやＨＨＴ（バーコードからデータを読み取るモバイル端末）、モバイルプリンター（値引きシールの発行に使う）など、どれもかなり高価なものですので利用する時には貸出管理簿に記載することになっています。
ただ、手書きですのでちょっとめんどくさい･･･
めんどくさいから書かない人もちらほら･･･
紙もどんどん増えてく･･･
なので、もっと簡単に管理できないかと思い、AppSheetで管理簿を作ってみました。

追記（6/11）

![備品の貸出管理2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/a2a55696-b9ec-fec7-3a1f-6016612707f8.png)


## 完成品(スマホから操作）！

スマホから操作してみました。
セキュリティー上の課題もありますが個人のスマホからでも操作できるのはラクですね！

https://x.com/shuji012/status/1800178496574222817



## 作成の手順

### 1.Googleスプレッドシートに基本となるデータを入力

**シートを3つ作成しました。**
**1.貸出簿**
**2.備品**
**3.従業員名簿**


![01備品貸出簿スプレッドシート貸出簿シート.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/8333e873-d6fd-b8a2-dc77-05cba7d55033.png)

![02備品貸出簿スプレッドシート備品シート.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/4e7816b7-a1bb-9a86-fe88-a2beecf38f34.png)

![03備品貸出簿スプレッドシート従業員名簿シート.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/06f0f64f-8513-92b5-8969-6ccb7b4a4440.png)


行1は、この後`column`の名前となりますのでとても重要です。
分かりやすくしておくといいです。
列１も各シートを代表するデータにしておくと、これもあとあとシートを参照するときに便利です。

### 2.AppSheetを作る

`拡張機能`から`AppSheet`を選択して`アプリを作成`します

![04備品貸出簿AppSheetアプリ作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/7443dd9b-e6b5-8756-d498-71ea92d01674.png)

アプリの大枠を自動的に作ってくれます。
これでほぼ半分くらいはできあがりです。
細かいアレンジはできませんが、その分シンプルで簡単です。
アプリができあがるとスプレッドシートの横に新しいタブが作られます。
以降はこちらのタブ、`AppSheet`を使って作業をしていきます。

![11備品貸出簿AppSheet最初.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/8b055d0d-3f0a-c5ff-a1e0-81e4e9f22979.png)

### 3.データにテーブルを追加する

まだAppSheetを作ったばかりだと、スプレッドシートの最初のシートしかデータを参照できないので、まず最初に他のシートもデータに加えます。
一番左にあるアイコンから`Data`を選択し、`+`マークから`Add New Data`を選択します。
同じスプレッドシートにあるシートなら、すぐ分かるように大きく出てきますので、
今回は`備品`シートと`従業員名簿`シートを追加します。

![12備品貸出簿AppSheetAddnewData.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/8ceb2ed0-d40c-0281-d6f9-4b5d666e4dfa.png)

### 4.`View`を変更

このままだと`貸出簿`としては見にくいため、表となるようにアプリのフォーマットを変更します。
一番左のアイコンから`View`を選択し、`貸出簿`の`View type`を`table`にします。

![13備品貸出簿AppSheetView貸出簿table.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/da15b625-009b-5db0-eebd-9f2c9e04b5eb.png)

おおまかな流れはできたので、簡単な動作テストしてみます。

https://x.com/shuji012/status/1799036503529750697

ただ、このままだと手入力なのでせっかくアプリを作ったのに逆にいろいろ大変です。
もっと操作を簡潔にしていきます。

### 5.データを作り込む

ここから細かい設定を修正していきます。

![14備品貸出簿AppSheetData変更.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/9b482bb4-994e-dcf9-fe0a-496f4d91d066.png)

**5-①`備品番号`をドロップダウンリストにします**
　備品の数も多くないので（今回は3種類がそれぞれ4つ、計12個）ドロップダウンで表記してクリックだけで選択できるようにします。
 `Type`を`Ref`にします。
 `Ref`とは、参照するテーブル（シート）の1列目と結びつけることができます。
 `Source table`を`備品`にすることで、
 `備品`シートの1列目の項目がリストとして表記されます。
 
![15備品貸出簿AppSheet備品番号のRef.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/14216d19-20cc-2e09-e969-33f292f0e2bb.png)

**5-②`所属部署`もドロップダウンリストにします**
`Type`を`Enum`にすると、以下の`Values`の値をドロップダウンから選択できるようになります。
必要な分だけ所属部署を追加します。


![16備品貸出簿AppSheet所属部署のenum.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/f614896d-1fef-0492-f38b-7305dc7c62ca.png)

**5-③`名前`もドロップダウンリストにします。**
これも`備品番号`と同じく`Type`を`Ref`に設定して`Source table`を`従業員名簿`にすれば、`従業員名簿`のテーブル（シート）の1列目のデータをリストにしてくれます。
従業員が増えた時にもシートに名前を追加して更新すれば、リストに自動で追加されます。

![17備品貸出簿AppSheet名前のRef.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/81157591-83bd-4026-40a1-330e77bc6f3f.png)

**5-④横にスクロールさせ、他の項目の修正をします。**
`REQUIRE?`（必ず入力が必要か？）のチェックを変更します。
`備品番号`は何を貸し出すのか最も大事ですのでチェックを入れます。
`返却日`、`返却時間`にチェックが入っていたら外します。
当たり前ですが返却はまだ先ですので必須ではありません。

![18備品貸出簿AppSheet変更4.5.6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/cdd39431-b088-07d4-f334-1cf4f3ade1d1.png)

**5-⑤`貸出番号`の`INITIAL VALUE`にコードを入れます。**
新規で貸し出す度に`貸出番号`が1ずつ増えていくようにします
```
=MAX(貸出簿[貸出番号])+1
```

**5-⑥⑦`返却日`、`返却時間`は空白にします**
当たり前ですが返却するときに入力なので、今は空白でOKです。

ここまででかなり操作も簡単になりました。

https://x.com/shuji012/status/1799036851665391810


### 6.返却ボタンを作る

「返却」は備品を返した日時が分かればいいだけですので、アクションボタンで対応できるようにします。

![21備品貸出簿AppSheetAddaction.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/3e3564ae-78ae-00b0-cad0-a315b782e6c6.png)

**6-①②一番左のアイコンから`Actions`を選択し`+`マークの`Add Action`をクリックします**

![22備品貸出簿AppSheet返却Action.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/9d151b53-b9ac-8ad3-c1c4-b9724444ba0b.png)

**6-③`Actoin name`は何でもいいのですが「返却」としておきます**

**6-④`Do this`は今回は変更しなくていいです**
そのまま`Data:set the values of some columns in this row`でOKです

**6-⑤`Set these columns`に`返却日`と`返却時間`のコードを入れます**
返却した時の日時ですので、「今」の日付、時間とします。

**6-⑥条件を追加します**
返却するのは貸出中の備品だけですので、
返却ボタンが表示されるのも貸出中の時だけにします。
`Behavir`の`Only if this condition is true`に
以下の式を入力します
```
=ISBLANK([返却日])
```
以上で返却ボタンが完成です。

https://x.com/shuji012/status/1799037117928239412



ついでなので、「貸出」も分かりやすくしておきます。
もともとある`Add`ボタンをそのまま「貸出」に変更するだけです。

![23備品貸出簿AppSheet貸出Action.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/9d5934e0-666e-3c7c-3328-0a0a50ea19ca.png)

**6-⑦もともとあった`Add`アクションを選択**

**6-⑧`Display` の`Display name`を「貸出」にします**

### 7.所属部署をAutomationで自動入力にする

名前を入力したら所属部署も分かるので、自動入力にして手間を省きます。

![31備品貸出簿AppSheetAutomation.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/af865fc4-71bd-bb3e-e8b2-2e6ab01b4dc8.png)

**7-①②`Automation`から`Create a new Bot`を選択します**

**7-③`Configure event`になんでもいいのでわかりやすい名前を入力**

**7-④`Event Type`の`Data Change`はそのまま**

**7-⑤`Table`は`貸出簿`にします**

**7-⑥`Condition`に以下の式を入力します**

```
AND(
  ISNOTBLANK([名前]),
  ISBLANK([所属部署])
)
```

![32備品貸出簿AppSheetAutomation.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763781/e39ff56a-507e-db25-7a21-fc716dc7f5f1.png)

**7-⑦`Add a step`をクリックして自動化する内容を設定**

**7-⑧`Run a data action`を選択**

**7-⑨`Custom action`を選択**

**7-⑩`Set row values`を選択**

**7-⑪`Set these column(s)`を変更**
```
所属部署=ANY(SELECT(従業員名簿[所属部署], [名前] = [_THISROW].[名前]))
```
とすることで、名前に連動して所属部署が自動で入力されます。

## 完成です（PC,タブレット操作）！
https://x.com/shuji012/status/1799037388850971034


## 職場のみんなからの評価は？
せっかくですので、実際に職場の方に使ってもらいました！

### 使ってもらった人
**〇管理マネージャーTさん（社歴15年くらい）**
**〇ステープル担当Uさん（社歴7年くらい）**
**〇デイリー担当Yさん（社歴4年くらい）**

### 感想

:::note info
これは便利！100倍早い！（Uさん）
:::
ありがとうございますっ！
100倍はおおげさですけれど、名前（フルネーム）や所属部署、日時などを書く時間と比べると、確かにかなりの時短になりました。

:::note info
書くより簡単になればみんなやるかも？（Tさん）
:::
アプリの使い方に慣れれば、書くより簡単です！

:::note info
誰かが書いてると順番待ちになるが、それも解消できる（Yさん）
:::
すぐ借りたいのに、先に書いてる人がいると待ち時間が発生してしまって、忙しい時は書かないで持って行ったりもあるので、複数のPCなどから入力できれば待ち時間なくスマートです。

:::note info
返却がめちゃくちゃ楽！ワンクリックで完了できるのは便利！（Uさん）
:::
ありがとうございます！
返却はワンクリックなのでとてもラクです！

:::note info
入口をどうするか（Uさん）
:::
「入口」と言うのは「アプリの始動の仕方」の意味です。
常時アプリを開きっぱなしにしているのか、デスクトップにショートカットキーなどを作るのか、専用のパソコンやタブレットなどを用意するのか、完成品が採用になるようでしたらどうやって運用していくかも決めないとです。

:::note info
高齢者でもわかるように（Tさん）
:::
そうですね。
今回はAppSheetで作ったので英語表記も多めで、高齢者には優しくないです･･･
もっとわかりやすい表現にする必要があります。

:::note info
中国人でもわかるように（Yさん）
:::
これはわたくしの所属する店舗には中華料理のテナントさんが入っていて、中国人がたくさんいらっしゃるので、彼らにも分かるようにって意味です。
中国語表記とかできるのかな･･･
ボタンとかなら言語を2つ表記できるかもです

:::note info
5時間経ったら警告が表示されるように（Yさん）
:::
会社のルールとして、貸出時間はMAX5時間までとなっています。
5時間を超えての貸出はNGで、その前に返却しなければなりません。
そのため、5時間を超えて借りている人がいたら、アラームでお知らせするように設定したいとのことでした。
なるほど、できそうなら実装したいですね。
アラートマークみたいなのでしたらアクションボタンでできそうです。
ただ、ボタンをどこに出すかの設定はAppSheetだとできないかもしれません。

:::note info
それでもそもそもやらない人がいるよね（Uさん）
:::
ええ、それは･･･
できるだけ簡単にして、だれでもすぐできるようなアプリにすることと、
あとは必ずアプリで入力するように指導、教育していくことかなと思います。

:::note info
やらないとロックがかかって持ち出しできないようにできないか？（Yさん）
:::
できたらいいのですけれど、装置の開発が必要になりそうです。
全店導入だとコストかかりますので、難しいかなぁ･･･

:::note info
返却ボタンを忘れちゃった場合どうなるのか？（Tさん）
:::
返却したけど、アプリの「返却」の操作を忘れてしまうとアプリ上はずっと貸出中になってしまいますね。
いろいろ細かい設定が必要になりそうです。
今後の課題とさせてください。

:::note info
偽装できないよね（ある意味不便）（Tさん））
:::
はい、日時などは原則偽装できなくなります。
ただ、操作を知ってる人でしたら編集できますし、
スプレッドシートに直接入力もできます。

 :::note info
余計なところを押しちゃった時に分からなくなったり壊しちゃったりしそう･･･（Yさん）
:::
変更できないようにロックをかけたり、管理者以外は編集できないように保護できると思います。



## 最後に

みなさんからの評価は思ったより好評で、これは実装する価値あるのかなと感じました。
いつもは当たり前になっている業務も「これって他に何かいい方法ないかな？」って考えることで、改善につながることはたくさんあるはずです。
まだまだデジタル初心者のわたくしですが、これからも身近な業務に「？」を見つけ出して改善できたらなと思います。