システム一元管理 (DX化)​

Centralized system management​

Excelで個別に手入力していたものやペーパーワークしていたものを、システムにより大幅に自動化(DX化)しました。

予約フォームから送信されたデータをスプレッドシート「案件一覧表」に登録し、マスターとなるDBにしています。
これを元に、カレンダー連携、登録者ごとの個別ページ、日程表などにデータを渡しています。

また、使う人が困らないよう、機能や使い方をまとめたマニュアルも作成しお渡ししています。

システム構成

システム構成は以下のようになっています。

  • 「案件一覧」をマスターとなるDBとする。 
  • 案件一覧に「料金表」と「担当者一覧」を登録しておく。
  • WEB上の予約フォームから送信されたデータを案件一覧に自動で反映する。
  • 入力内容を管理者にメール通知する。
  • DBのデータをカレンダーに自動反映。
    └ 上書きなどの変更を自動検知し、カレンダーを自動更新
  • 実施日の1日前にDBの情報を元に自動で「実績報告書」を生成。
  • 担当者毎の年間予定をリアルタイムで更新。
    └ 日付を動的に変更可能(過去の予定も同じシートで確認可能)
  • 役員様用に予定をリアルタイム更新
    └ ボタンクリックでPDFをメール添付して送信
  • 担当者毎の専用の個別ページを自動生成、リアルタイム更新
  • 収支情報を集計し、決算集計表に反映(年度ごとに選択可能)

 

以下で機能の一例を紹介しています。

予約フォーム

予約フォーム -DEMO-

ユーザーの入力内容によって、条件分岐を設定しています。

案件一覧(DB)

案件一覧表 -DEMO-

入力フォームからのデータを自動転記します。
フォームは複雑に分岐しているため、見やすいようにデータを成形しています。

データは上書き可能で、必要に応じて更新することができます。

主な機能

  • 入力フォームからのデータを転記(トリガー設定)
  • 入力フォーム受信時、自動メール通知(Gmail連携)
  •  実績報告書の作成(指定日1日前に自動生成、データ取得、指定ユーザーのみ権限設定)
  • メール送信機能(送信するメンバーや送信内容の組み合わせ選択。ヘッダー・フッター文章のカスタマイズ)
  • カレンダー反映(ステータスによる登録/削除の自動化。データ内容を検知して変更がある場合に自動更新)
  • 複数のプログラム実行手段(「実行ボタン」「上部メニュー」「リンク(スマホ用)」「トリガー(バッチ処理)」)
  •  担当者毎に内容をカスタマイズした個別のシート(マイページ)の自動生成と自動更新
  •  条件付き書式によるデータの色分け
 
以下で機能の一例を紹介しています。

プログラムの実行

メールの自動送信やカレンダー連携、マイページの更新など全部で12個のプログラムを作成しています。

ユーザーが実行する必要があるプログラムは「ボタン」または「メニュー」から操作できるようにしています。

メール送信

メール送信機能では、本文に記載する内容をカスタマイズしたり、宛先を複数の選択肢の中から選ぶことができます。

特に、98個の項目に✓を入れることでメール本文に記載したい内容を自由に変更できるようにしています。(使い方のイメージは動画をご参照ください)

プログラムとしては、タイトルと本文のデータを取得し、チェックのあるタイトル項目の配列を作成してから、Key-Valueのセットを作成し、メール本文となる文字列データを生成する処理をしています。

マイページ

担当者毎に割り振られた案件や、募集中の案件のみを表示するマイページを自動生成・自動更新するプログラムを作成しています。

ここが最も工夫したところです。本番環境では担当者が40人以上います。それぞれの人向けにデータを加工し、表示する処理を6分以内に収める必要があります。

データの取得方法やデータの呼び出し方法を工夫することで、全体の更新を3分程度で完了できるようにしました。

担当者別スケジュール

主な機能

  • マスターDBのデータリアルタイム取得
  • 日付更新
  • 日付と名前による2重データ検索
  • 行列の表示/非表示切り替え

データ自動連係による効率化

このシートで取得しているデータは、案件名や担当者の名前などマスターとなっている案件一覧から取得しています。

日付毎の案件表示も全て自動化することで、これまで手動で作成していた作業を大幅に削減しています。

データがない行と列を非表示にする処理は高速化のため、対象列を2次元配列で取得し処理しています。

プロジェクト管理

STG(開発環境)と本番環境

プログラム開発時は将来的な追加開発や修正などを考慮し、STG(開発環境)と本番環境を分けて開発を行うようにしています。

コードもSTGから本番への移行が簡単になるよう組んでいます。(基本的にはコードファイル冒頭のコメントアウトの切り替えで対応)