「DX推進、よろしく」
上司からそう言われた日から、あなたはMicrosoftのポータルサイトと格闘し続けているのではないだろうか。
PowerApps、Power Automate、SharePoint——ライセンスはある。マニュアルもある。でも、現場に使ってもらえない。自分でも作るのに時間がかかりすぎる。そして気づいたら、「DX推進」という看板だけが残って、誰も使わないシステムができあがっていた。
私もそうだった。現場のDX推進担当として、まずPowerAppsでアプリを作ろうとした。ノーコードだから簡単なはず、と。
結果:1つのフォームアプリを作るのに3週間かかった。現場の人間は「スマホで開くのが面倒」と言い、結局誰も使わなかった。
次にRPAを試した。定型業務の自動化には向いているが、少し業務フローが変わると動かなくなる。メンテナンスコストが高すぎる。
そして私が行き着いた答えは、意外にもExcelマクロだった。
なぜPowerAppsは「現場で使われない」のか
PowerAppsは優れたツールだ。否定はしない。だが、現場DXという文脈では、いくつかの構造的な問題がある。
① ノーコードと生成AIの相性が悪い
今の時代、開発の最大の武器は生成AIだ。「こういう処理をしたい」とChatGPTやCopilotに伝えれば、コードを書いてくれる。
しかしPowerAppsのノーコード画面では、AIが出力した処理ロジックをそのまま貼り付けることができない。PowerAppsにはPower Fx という独自の数式言語があり、AIはそれを完璧には扱えない。結果として、「AIに聞いても使えない」という状況が生まれる。
② 現場の導入ハードルが高い
PowerAppsで作ったアプリは、ブラウザかスマートフォンアプリで開く。これが現場では意外な障壁になる。
製造業や建設業、介護現場では、共用PCがあってもスマートフォンは個人端末だったり、ネット接続が制限されていたりする。「URLを開いてください」と言っても、それ自体がハードルになる。
③ 社内申請が必要なケースがある
会社によってはPowerAppsの利用に情報システム部門への申請が必要だったり、ライセンスが別途必要だったりする。RPAツールも同様だ。DX推進担当が「ちょっと試したい」という段階で、すでに稟議が必要になることがある。
Excelマクロが現場DXの最適解である3つの理由
① 生成AIとの相性が抜群
ExcelマクロはVBA(Visual Basic for Applications)というコード言語で書く。このVBAを生成AIに書かせることが、今では驚くほど簡単にできる。
「Excelのシートをコピーして連番でシート名をつけるマクロを書いて」とChatGPTに投げれば、30秒で動くコードが返ってくる。それをVBAエディタに貼り付けて実行するだけ。プログラミングの知識がなくても、目的を日本語で伝えれば動くものが作れる。
Microsoft 365のCopilotがあれば、Excelの画面上でAIに直接コードを生成させることも可能だ。ノーコードツールよりも、むしろExcel×AIのほうが開発スピードが速い、という逆転現象が起きている。
② 導入ハードルがほぼゼロ
Excelはほぼすべての職場にある。追加のライセンスも、社外ソフトの申請も不要。共用PCにExcelファイルを置いて「このボタンを押してください」と言えば、それだけで使い始められる。
スマートフォンも、ブラウザも、URLの共有も、ログインアカウントも不要。「Excelを開く」という行為なら、どんな現場でも理解できる。
③ インターフェースの自由度が高い
Excelはセルに色をつけ、ボタンを置き、プルダウンを設定し、入力規則で制御できる。現場の作業者が慣れ親しんだ表形式のまま、使いやすいUIを作れる。
PowerAppsのようなアプリライクなUIより、現場では「Excelっぽい画面」のほうが受け入れられやすいことが多い。
実践例:業務日誌のデジタル化を3シート構造で実現する
では具体的にどう作るか。私がよく使う「3シート構造」を使った業務日誌デジタル化を例に説明する。

3シートの役割
| シート名 | 役割 | 内容 |
|---|---|---|
| ホーム | 操作パネル | ボタン(日誌作成・データ更新など)を配置。作業者が触るのはここだけ |
| テンプレ | フォームの原型 | 空の業務日誌フォームを1枚用意しておく。書式・入力規則・プルダウンを設定済み |
| データベース | 台帳・集計 | 日付・部署・氏名・シートへのリンクを自動転記。管理者はここで一覧確認 |
動作フロー
- 日誌作成ボタンを押す:テンプレシートが自動コピーされ「001」「002」と連番でシート名が付く
- 日誌を記入する:コピーされたシートに日付・業務内容・担当者名などを入力
- 投稿ボタンを押す:入力内容がデータベースシートに自動転記される。リンク列にはそのシートへのハイパーリンクが入る
- 管理者がデータベースを開く:一覧から日付・部署・氏名で確認し、リンクをクリックして詳細を確認
これをゼロから作ろうとすると大変に見えるが、生成AIがあれば話が変わる。
生成AIを使った作り方:プロンプトをそのまま公開する
以下のプロンプトをChatGPTに投げるだけで、動くVBAコードが手に入る。
【プロンプト①】日誌作成ボタン用マクロ
「Excelマクロ(VBA)を書いてください。『テンプレ』という名前のシートをコピーして、シート名を3桁の連番(001、002…)で自動的につけるマクロです。連番はすでにあるシート名を見て、次の番号を自動判定してください。コピーしたシートはシートの末尾に追加してください。」
【プロンプト②】データベース転記ボタン用マクロ
「Excelマクロ(VBA)を書いてください。現在アクティブなシートのA2セル(日付)、B2セル(部署名)、C2セル(氏名)の値を、『データベース』シートの次の空行に転記します。さらに転記した行のD列に、元のシートへのハイパーリンクを設定してください。リンクのテキストは『開く』にしてください。」

