見出し画像

#6 業務日報をつくる/ITド素人がGoogle無料アプリで業務管理システムを作る!


手書きはめちゃくちゃ手が痛い

今回は、業務日報を作っていきます。

システム作成前は名前、出勤欠勤その他情報、作業内容、来客記録、アポ予約などを全て手書きで紙に書き込んでいました。
福祉系統括社員さんが毎日毎日、所内にいる全員の名前をフルネームで書くのがしんどそうではあったんですが後回しにしていたんですね。福祉系のルール知らんし。

つい数ヶ月前のことです。
監査準備で過去日報の一人の職員名を全部書き直す必要がありました。
しかも修正液不可とかいうトンチキルールです。
半年分マルっとイチから全部書き直しをだったのを任された瞬間、こらもうスプレッドシートでやるしかねぇなと思って改善実行しました。(手書きの半年分は全部書き直した。手が痛かった。)

実働スタッフ3人しかいないのに忙しいとか言って監査準備を一切手伝わなかったバイト同僚。
指導広報その他雑務全部ぶん投げられてるこっちのが忙しいわボケ。
時給500円も高いんだから仕事せんかタコ。

【やったこと】

  • 業務日報に必要な項目を洗い出す

  • 70歳↑の職員でもわかりやすいUIを考える

  • 業務日報のテンプレートシート[masta]を作る

  • 利用者・職員のタイムカード転記シート[dataU][dataS]を作る

  • データシート[dataA]を作る

  • [masta]日報テンプレートに関数を書き込む

【どういう感じでやったか】

業務日報に必要な項目を洗い出す

元々の日報テンプレートでの要記入項目をそのまま持ってきました。

  • 日付

  • 天気

  • 本日の利用者名

  • 本日の職員名

  • 在宅勤務者

  • 食事購入の人数

  • 送迎利用の人数

  • 欠席対応の人数

  • 連絡事項・特記事項・欠席者の記入

  • 午前と午後の作業内容

70歳↑の職員でもわかりやすいUIを考える

あんまり難しいと文句言われるのでめちゃ簡単になるようにUIを考えました。

  1. 利用者タイムカードと連携させ、キーボード入力する箇所を最低限にする

  2. おやすみなど不確定なもの以外の人数は自動計算にする

  3. 該当の項目にチェックしていくシート形式

業務日報のテンプレートシート[masta]を作る

紙のテンプレはデータを反映させにくそうなレイアウトだったので、関数を入れやすく調整したテンプレを作成します。

利用者・職員のタイムカード転記シート[dataU][dataS]を作る

ちゃんとみんながタイムカードで打刻していることが大前提です。
先に作ってある利用者用と職員用(簡易)の打刻データを転記するシートを作ります。

*利用者用は[dataU]

=IMPORTRANGE("参照スプレッドシートのURL","打刻データシート名!参照範囲")

タイムスタンプをシリアル値に置き換える

=arrayformula(if(B2:B="","",ROUNDDOWN(B2:B,0)))

「あり・行き・帰り」を「◯」に置き換える

=arrayformula(if($G2:$G="あり","◯",""))
=arrayformula(if($H2:$H="行き","◯",""))
=arrayformula(if($I2:$I="帰り","◯",""))

*職員用は[dataS]

タイムスタンプをシリアル値に置き換える

関数は[dateU]を参照

データシート[dataA]を作る

作業内容や、日報を書いた人の捺印用印影データを格納するシートです。

@[masta]:日報テンプレートに関数を書き込む

*当日の日付を取得する

いつものTODAY関数

*当日の利用者と職員を[dataU][dataS]から取り込む

利用者は名前と食事購入、送迎の有無だけ欲しいので以下の通り。
データがない場合、N/Aエラーが出るのでIFERROR関数で空白を返すようにしておきます。

=IFERROR(FILTER(dataU!$C:$C,dataU!$A:$A=masta!$A$5,dataU!$D:$D="退勤"),"")
=IFERROR(FILTER(dataU!$J:$J,dataU!$A:$A=masta!$A$5,dataU!$D:$D="退勤"),"")
=IFERROR(FILTER(dataU!$K:$K,dataU!$A:$A=masta!$A$5,dataU!$D:$D="退勤"),"")
=IFERROR(FILTER(dataU!$L:$L,dataU!$A:$A=masta!$A$5,dataU!$D:$D="退勤"),"")

職員は名前だけあればいいので以下の通り。

=IFERROR(FILTER(dataS!$C:$C,dataS!$A:$A=masta!$A$5,dataS!$D:$D="退勤"),"")

*当日の利用者数、食事購入者数、送迎利用人数を自動計算する

利用者数は名前の個数を計算すればいいのでCOUNTA関数。

食事購入者数は◯の数を数えたいのでCOUNTIF関数。

送迎人数は帰りの◯で数えたいので同じくCOUNTIF関数。

*【データの入力規則】チェックボックスを配置

チェックボックスを入れたいセル範囲を全て選び、条件を「チェックボックス」にする。

*【条件付き書式】チェックをつけたチェックボックスの色を変える
*【条件付き書式】チェックのついた作業内容の色を変える

元々の文字色は初めに薄めのグレーにしておき、全チェックボックスを条件付き書式の「次と等しい TRUE」で文字色を変える。
作業内容の色変えは、作業内容セル範囲を全て選び、午前と午後どちらかがTRUEの場合に文字色を変える。

=$D41=TRUE
=$E41=TRUE

*【条件付き書式】重複している打刻データをあぶり出す

(利用者の場合)氏名の欄を全て選び、条件付き書式の「カスタム数式」でCOUNTIF関数と不等号を組み合わせた数式を入力。

=COUNTIF(B9:B28,B9)>1

2度打ちは高確率で発生するので、条件付き書式で重複する名前セルに色をつけます。
重複してるのが確認されたらタイムカードの方で被った打刻データを消してください。

「2度打ち打刻がタイムカードで悪さをするかもしれない…」という初心者特有の色々よくわかってない個人的不安も解消できて一石二鳥。


今回はこんな感じ。
次は今回作ったシートに業務日報を実際に記入した後。[masta]シートを記入内容ごと複製して、元の[masta]シートは初期状態に戻すはなしをさせてください。

サブアカウントのまっさらGoogleドライブに実際作った業務管理システムを順に再現させながら記事を書いているので更新は不定期になります。

よければまた見てくださると嬉しいです。

今日はこのへんで。ありがとうございました。

いいなと思ったら応援しよう!