見出し画像

「残業時間集計をkintoneでやってみた」話

改めまして自己紹介

「みみねこ」と言います。地方の食品製造会社の総務部に勤務しています。
経理、総務事務を担当しつつICTチームにも参加、kintoneを活用した業務改善に取り組んでいます。

久しぶりの投稿です

 投稿できないままに2月が終わり、3月はkintoneCaféHYOGOに参加したので、そのことを書きたいと思いつつ、早4月も半ばになってしまいました。
kintoneCaféの現地開催には初参加でしたが、日ごろネットでやり取りしている方、まったくはじめましての方との初対面あり、再会(ほぼ初対面に近い)ありでとても充実した時間を過ごせました。自称初心者としてLTもさせていただいて、初初づくめ、楽しく参加させてもらいました。運営の皆様にも感謝!!です。
詳しくはまたほかの機会に書けたらいいな、と思います。

kintone Caféでの気づき

 Caféへの参加では、ほかのkintoneユーザーさんやエバンジェリストさん、開発をされている方など様々な立場の方とお会いするなかで自分の現在地を客観的に見ることができました。
入社間もない非IT系の若い女性社員さんがプラグインやカスタマイズを使いこなして業務改善されていたのは感動ものでした。
自分を振り返って感じたことは「私はまだまだkintoneのメリットを生かせていない」ということでした。いくつか実用化したアプリはありますが、まだ「ここがもうちょっと○○できたらいいのに・・・」「標準機能ではもう一歩、やりたいことが実現できない」というところまでたどり着いてさえいないのです。そう気づくともやもやしてきて「もっと触りたく」なってきてしまって(笑)

エプロン更新希望調査をkintoneでやってみた

 新年度に向かうタイミングで、社用に配布しているエプロンの更新希望を調査することになりました。サイズがMとLで前回調査時はサイボウズofficeのアンケート機能でほしいサイズに手を上げてもらって枚数を集約したのですが、「私、Lサイズ」ってちょっと言いづらくないですか?そこで今回はkintoneでシンプルなアプリを作って、希望したサイズは本人と私にしか見えないようにアクセス権を設定しました。そして一覧画面で「集計」機能を使ってそれぞれのサイズの希望枚数の合計を自動集計させました。わずか20件ほどのレコード、サイズも2つだけで1件ずつ数えても正の字を書いても全然OKな数なのですが、この集計をしたことが大きなヒントになりました。
ちなみに男性(試食調理などで使用する)お一人以外はMサイズだったのでほぼ集計の必要はなかったです。

残業時間集計とは

 3月下旬、同じ部署で勤怠管理を担当しているメンバーの代わりに月間の残業時間数を集計することになりました。当社で毎月、勤怠締め後に行っている集計の一つです。集計を始めた頃は私が担当していて、現在は後任の担当者がその当時私が作ったExcelを使って今も集計しています。勤怠管理自体は専用システムを導入しており、そこからExcelに書き出した個人の月間の残業時間を基に、部署ごと、また職位等級ごとに平均値を求めるのです。
難しいのは条件が複雑だからで、
①書き出したデータの所属部署(勤怠データ上での部門分け=部門別会計で使用する部門)と集計単位の部門(データ比較する部門)分けが若干異なっている
②集計対象はフルタイム勤務者に限る 
③管理職や給与体系が異なって時間外計算を行わない社員は除く
といったところでしょうか。
②では社員コードで正社員とパート社員は区分けできるのですが、一部同じコード区分(例えば3000番台とか)でもその中にパート勤務者とフルタイム勤務者が混在している、
また本来はフルタイム勤務者だけど産育休中、短時間勤務中などは対象外。
社員コードは職種が変われば変更(パート社員から正社員へ転換したり、正社員が契約社員に変更になったりすれば社員番号が変わる)
さらに、書き出したデータには職位等級は含まれないため、後付けで追加する必要があります。
年度途中で部署異動があったり、昇格で等級が変わったり、産休に入ったり、復職したり、中途入社、退職、職種変更・・・とにかくずっと同じ区分で集計する訳にはいかないのです。
旧の部署・旧等級での実績は残しておきたいし、個人の通年データとしてはひと続きで集計したい。
毎月一つの元データから、部門別、等級別でそれぞれ月ごとの平均値を出し、それを12か月分並べて累計を出し、通年での平均値を出し、それを前年と比較してグラフ化する・・・

 私にとっては、毎月、手を付けるだけでもため息が出るほど「やりたくない、手間がかかる、神経を使う」集計でした。細心の注意を払って集計しても公開したとたんに間違い箇所を指摘する内線電話がかかってきたり、翌月になって先月の間違いに自分で気づいたりするのです。
「平均の平均は全体の平均じゃない」とか言われて、もう何が正しいのか分からなくなったこともあります。
後任に引き継ぎましたが、これといった改善策も見つからず、そのままを踏襲して使い続けているのです。

かつて、集計する切り口がいくつかあるため、ピボット集計を使って集計して、見る方(社長)に見たい切り口で切り替えて見てもらうようにお願いしたこともありましたが、「パッと見て分かるようにしてほしい」と。

残業時間集計をkintoneのアプリにしたらどうなるのか?

 前置きが長くなりましたが、元々のデータは一つでそれを幾通りかに集計しているので、もしかしてkintoneでアプリ化したらよくなるのでは?と考えました。
勤怠システムから書き出したデータそのままではkintoneアプリに読み込ませることができません。
Excelの段階で対象年月と社員コードを足した「データ番号」の列を挿入し、それを文字列フィールドに紐づけ、読み込みのキーとしました。
所属を集計用の部門に変更し、「等級」の列を追加し、対象外の人の行を削除します。

「時間数」をどう取り込むかで悩む

 勤怠システムから書き出した時間数データは「h:mm」形式。最初、時刻フィールドを使って時間形式のままで取り込んでいましたが、時間形式では集計した時に「表」にしかできず、ヘルプページには「「表」で集計した結果、またはレコードのデータを、ファイルに書き出して、Excelなどでグラフ化する」と書かれていました。(他の方法も記載あり)
また、あくまで「時刻」フィールドなので「23:59」までしか入力できず、24時間を超える場合は他に取り分けるフィールドを2つほど用意しました。
「40:30」なら「16:31」と「23:59」と「  」、「50:15」なら「2:17」と「23:59」と「23:59」のように分けて入力して計算フィールドに合計を出すようにしてみました。
それをグラフ化するために計算フィールドで数値化したのですが、それなら取り込む前に数値化しておけばいいんじゃない?、ということで先にExcelで数値に変換しておいて「数値」フィールドに取り込む。
見せるように「計算」フィールドで「○○時間△△分」と表記もさせました。

取り込んだデータを集計する

 前年度、当年度の比較を行えるよう、「計算」フィールドを使って「年度」も表示できるようにしました。これで該当年度ごとの平均値や累積値を求めることができます。
「表」で部門ごと、等級ごとの平均時間数を集計表示させます。
「グラフ」で部門ごと、等級ごとの月平均の推移や、部門ごとの比較、個人時間の比較グラフもできました。個人コードは途中で変更になることがあるため、氏名での集計にしました。結婚で改姓された方は同一人と識別できるように、この集計に限り年度内は旧姓のままにさせてもらいました。

現在の出来上がり状態について

 今のところはここまでの出来上がりです。次は、表やグラフがたくさんできてしまったのでどれを一番プッシュして見せたいか(見る側が一番欲しいデータは何か)、どこまでの内容をどういった場面で、どの範囲の人に見せるかにも配慮しながら、必要な情報をダッシュボードのように視覚的に見せられたらいいな、と思っています。

まとめ

 勤怠システムのデータ切り出しから直にとはいかず、ひと加工は必要ですが、何回もコピペしたり挿入、削除、vlookupなどの手間は省けますし、関数の範囲指定漏れなども防げます。2年分のデータ移行と検証に試行錯誤しながらおよそ12時間ほどかけたので1か月分だとざっくり30分程度でしょうか。これまでのExcel集計では下手すれば3~4時間かけて、しかも間違うし、疲労感はすごかったのでそれが軽減されると嬉しいです。前加工は定型処理なので慣れれば早くできるだろうし、自動化も考えたい。データを触るのも1回で済むので絶対楽になるはず・・・
しばらく実運用に向けたテストを継続していきます。

うまくいって、いつかどこかでお伝えできますように。

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