GUIDE 03

現場DXガイド

業務自動化で生産性を向上

日々の業務を自動化して、本来の業務に集中できる環境を構築しましょう。
VBA、Python、Google Apps Scriptを活用した業務効率化の方法を解説します。

約15分で読めます 業務自動化

中小企業のための業務効率化入門

現場DXとは、デジタル技術を活用して「現場の仕事を楽にする」ことです。

このガイドでは、Excel自動化からGoogle Apps Script、シングルインプット・マルチアウトプットの考え方まで、中小企業でも実践できる現場DXの進め方を解説します。

1. 現場DXとは

1.1 DXの本質(IT化との違い)

IT化DXは似ているようで違います。

比較 IT化 DX
目的 既存業務のデジタル化 業務の変革・新しい価値創造
アプローチ 紙→パソコン 業務そのものを見直す
手書き→Excel入力 入力を1回にして複数成果物を自動生成

現場DXのポイント

  • 単にパソコンを使うことではない
  • 「この作業、本当に必要?」から考える
  • 楽になった時間を本来の業務に使う

1.2 中小企業でのDXの考え方

大手企業のような大規模システムは必要ありません。

中小企業の強み

  • 意思決定が早い
  • 現場の声がすぐ反映できる
  • 小さく始めて素早く改善できる

Link Fieldの提案

大手のお堅さではなく、中小の柔軟さ・現場感を武器にする

1.3 大手との差別化ポイント

大手の進め方 中小企業の進め方
大規模システム導入 小さなツールから
長い検討期間 すぐに試す
外部ベンダー依存 自分たちで改善
高額な投資 無償ツール活用

2. Excel業務の自動化

2.1 VBAによる自動化

VBA(Visual Basic for Applications)はExcelに標準搭載されているプログラミング言語です。

VBAでできること

  • 繰り返し作業の自動化
  • データの集計・加工
  • レポートの自動生成
  • ファイル操作

VBAの例(データ集計)

VBA
Sub 集計処理()
    Dim lastRow As Long
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row

    ' A列の合計をB1に出力
    Cells(1, 2).Value = Application.Sum(Range("A1:A" & lastRow))
End Sub

VBAのメリット

  • Excelがあれば追加費用なし
  • 社内で完結できる
  • 既存のExcelファイルをそのまま活用

VBAのデメリット

  • Excel限定
  • コードの保守が属人化しやすい
  • 複雑な処理には向かない

2.2 Pythonによる自動化

Pythonは汎用プログラミング言語で、Excel操作も得意です。

Pythonでできること

  • Excel操作(読み書き、集計)
  • 複数ファイルの一括処理
  • Web APIとの連携
  • データ分析・可視化
  • AI連携

Pythonの例(Excel読み込み)

Python
import pandas as pd

# Excelファイルを読み込み
df = pd.read_excel('data.xlsx')

# 集計
total = df['金額'].sum()
print(f'合計: {total}')

# 結果を別ファイルに保存
df.to_excel('result.xlsx', index=False)

Pythonのメリット

  • Excel以外とも連携できる
  • ライブラリが豊富
  • AI・機械学習への発展が容易
  • 無償

Pythonのデメリット

  • 環境構築が必要
  • 学習コストがVBAより高い

2.3 どちらを選ぶべきか

状況 おすすめ
Excel内で完結する作業 VBA
複数ファイル・システムを扱う Python
今すぐ始めたい VBA
将来AI連携したい Python
社内にプログラマーがいない VBA(学習しやすい)
すでにPython経験者がいる Python

Link Fieldの推奨

  • まずはVBAで小さな自動化から始める
  • 限界を感じたらPythonへ移行
  • 両方使い分けるのがベスト

3. Google Apps Script活用

3.1 GASでできること

Google Apps Script(GAS)は、Googleサービスを自動化・連携できる無償のプログラミング環境です。

主な機能

  • Googleスプレッドシートの自動化
  • Googleフォームとの連携
  • メール送信の自動化
  • 外部APIとの連携
  • 定期実行(トリガー)
【GASの強み】

┌─────────────────────────────────────┐
│           Google Workspace          │
│  ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐  │
│  │Sheet│ │Form │ │Gmail│ │Drive│  │
│  └──┬──┘ └──┬──┘ └──┬──┘ └──┬──┘  │
│     └───────┴───────┴───────┘      │
│              ↓                      │
│       Google Apps Script            │
│         (すべてを連携)             │
└─────────────────────────────────────┘

3.2 スプレッドシート連携

基本的な操作

JavaScript (GAS)
function データ取得() {
  // スプレッドシートを取得
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  // データを取得
  const data = sheet.getDataRange().getValues();

  // 処理(例:合計計算)
  let total = 0;
  for (let i = 1; i < data.length; i++) {
    total += data[i][1]; // B列を合計
  }

  // 結果を書き込み
  sheet.getRange('D1').setValue(total);
}

活用例

  • データの自動集計
  • 条件に応じたセルの色付け
  • マスターデータとの照合
  • 複数シートの統合

3.3 フォーム・メール自動化

フォーム回答時の自動処理

JavaScript (GAS)
function onFormSubmit(e) {
  const responses = e.values;
  const email = responses[1];  // 回答者のメールアドレス
  const name = responses[2];   // 名前

  // 自動返信メールを送信
  GmailApp.sendEmail(
    email,
    'お問い合わせありがとうございます',
    `${name}様\n\nお問い合わせを受け付けました。`
  );
}

活用例

  • フォーム回答の自動返信
  • 日報・週報の自動集計・配信
  • 承認依頼の自動通知
  • リマインダーメール

3.4 外部API連携

外部サービスとの連携例

JavaScript (GAS)
function 天気情報取得() {
  const url = 'https://api.example.com/weather';
  const response = UrlFetchApp.fetch(url);
  const data = JSON.parse(response.getContentText());

  // スプレッドシートに記録
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.appendRow([new Date(), data.weather, data.temperature]);
}

連携できるサービス例

  • Slack(通知)
  • ChatWork(通知)
  • kintone(データ連携)
  • 各種WebAPI

4. シングルインプット・マルチアウトプット

4.1 考え方と設計

シングルインプット・マルチアウトプットとは、一度の入力で複数の成果物を生成する考え方です。

【従来のやり方】              【シングルインプット】

入力 → 報告書                  入力(1回だけ)
入力 → 地図                       │
入力 → 集計表                     ├─→ 報告書
入力 → メール                     ├─→ 地図
  ↓                               ├─→ 集計表
同じデータを                      └─→ メール
何度も入力

メリット

  • 入力ミスの削減
  • 作業時間の大幅短縮
  • データの一貫性確保

4.2 Googleスプレッドシート活用

スプレッドシートをデータベースとして活用

【構成イメージ】

┌─────────────────────────────────────┐
│   Googleスプレッドシート(マスター)    │
│   ┌─────────────────────────────┐   │
│   │ ID | 日付 | 内容 | 金額 | 担当 │   │
│   │  1 | 1/15 | ... | 1000 | 田中 │   │
│   │  2 | 1/16 | ... | 2000 | 鈴木 │   │
│   └─────────────────────────────┘   │
└─────────────────────────────────────┘
            │
     Google Apps Script
            │
    ┌───────┼───────┐
    ▼       ▼       ▼
 報告書   集計表   メール通知
(PDF)  (グラフ) (担当者へ)

実装のポイント

  • 1つのシートをマスターデータとする
  • GASで各種成果物を自動生成
  • 入力はマスターシートのみ

4.3 ISMAPとセキュリティ

ISMAP(イスマップ)は、政府が定めたクラウドサービスのセキュリティ評価制度です。

Google Workspaceの位置づけ

  • ISMAP登録済み
  • 政府機関でも利用可能なセキュリティ水準
  • 「クラウドはセキュリティが心配」という懸念に対応

セキュリティ確保のポイント

  • アクセス権限の適切な設定
  • 共有範囲の制限
  • 定期的なアクセスログ確認

4.4 実装パターン

パターン1:日報システム

入力:Googleフォームで日報入力
  ↓
自動処理:GASが起動
  ↓
出力:
├── スプレッドシートに記録
├── 上司にメール通知
├── 月次集計を自動更新
└── ダッシュボードに反映

パターン2:見積・請求システム

入力:スプレッドシートに案件情報入力
  ↓
自動処理:GASが起動
  ↓
出力:
├── 見積書PDF生成
├── 請求書PDF生成
├── 売上集計更新
└── 入金予定リスト更新

5. 業務フロー改善

5.1 自動化すべき業務の見極め

自動化に向いている業務

  • 繰り返し発生する
  • 手順が決まっている
  • ミスが起きやすい
  • 時間がかかる

自動化に向かない業務

  • 毎回判断が必要
  • 例外処理が多い
  • 頻度が低い
  • 人の感性が必要

見極めのマトリクス

              頻度 高
                │
        ┌───────┼───────┐
        │ 優先度 │ 優先度 │
        │  中   │  高   │
   手順 ├───────┼───────┤ 手順
   複雑 │ 優先度 │ 優先度 │ 単純
        │  低   │  中   │
        └───────┼───────┘
                │
              頻度 低

5.2 ツール選定の考え方

課題 おすすめツール
Excel内の繰り返し作業 VBA
複数ファイルの処理 Python
Google系サービスの連携 GAS
チームでのデータ共有 スプレッドシート + GAS
複雑なワークフロー 専用ツール(kintone等)

5.3 段階的な導入方法

フェーズ1:現状把握

  • 現在の業務フローを書き出す
  • 時間がかかっている箇所を特定
  • 関係者にヒアリング

フェーズ2:小さく始める

  • 1つの業務に絞る
  • 無償ツールで試す
  • 1週間で効果を確認

フェーズ3:改善・拡大

  • 使いながら改善
  • 成功事例を横展開
  • 必要に応じてカスタマイズ

6. 現場別活用事例

6.1 測量・建設現場

課題

  • 現場写真の整理に時間がかかる
  • 日報の作成が手間
  • 図面との照合作業

解決策:写真整理の自動化

スマホで撮影(位置情報付き)
       │
  Googleドライブにアップロード
       │
  GASが自動処理
       │
  ├── ファイル名を日付_現場名に変更
  ├── スプレッドシートに一覧作成
  └── 報告書テンプレートに挿入

6.2 営業・事務

課題

  • 見積書・請求書の作成
  • 顧客情報の管理
  • 報告書の作成

解決策:見積・請求の自動化

スプレッドシートに案件入力
       │
  GASが起動
       │
  ├── 見積書PDFを自動生成
  ├── Googleドライブに保存
  ├── 担当者にメール通知
  └── 売上予測を自動更新

6.3 製造・物流

課題

  • 在庫管理
  • 出荷指示書の作成
  • 実績データの集計

解決策:在庫・出荷管理

バーコード読み取り → スプレッドシート
       │
  GASが自動処理
       │
  ├── 在庫数を更新
  ├── 発注点を下回ったらアラート
  ├── 出荷指示書を自動生成
  └── 日次レポートを自動配信

7. よくある質問(FAQ)

プログラミング経験がなくても始められますか?

はい、始められます。

VBAやGASは比較的学習しやすく、書籍やWeb記事も豊富です。まずは簡単な自動化(繰り返し処理の記録)から始めて、徐々にステップアップしていきましょう。

費用はどれくらいかかりますか?

無償で始められます。

  • VBA:Excelに標準搭載(追加費用なし)
  • GAS:Googleアカウントがあれば無償
  • Python:無償

有償ツール(kintone等)を使う場合は月額費用がかかりますが、まずは無償ツールで十分です。

セキュリティは大丈夫ですか?

適切に設定すれば安全に運用できます。

  • Googleスプレッドシート:ISMAP登録済み、政府機関でも利用可
  • アクセス権限:必要な人だけに共有
  • 社外秘データ:共有設定を「リンクを知っている全員」にしない

既存のExcelファイルは使えますか?

はい、使えます。

  • VBA:既存ファイルにそのまま組み込み可能
  • GAS:Excelをスプレッドシートに変換して活用
  • Python:Excel形式のまま処理可能

担当者が辞めたら動かなくなりませんか?

ドキュメント化と引き継ぎが重要です。

  • 処理内容をコメントで記載
  • 簡単なマニュアルを作成
  • 複数人で理解しておく

シンプルな構成にしておくことで、引き継ぎやすくなります。

8. 次のステップへ

さらに効率化を進めるために

AI連携に興味があれば

GISと連携したければ

最新技術を知りたければ

関連記事

お問い合わせ

業務自動化・現場DXについてのご相談は、お気軽にお問い合わせください。

  • 初回相談無料
  • オンライン対応可能
  • 小規模からのスタート歓迎

お問い合わせはこちら →

最終更新: 2025年1月

業務自動化を始めましょう

毎日の繰り返し作業を自動化して
本来の業務に集中できる環境を作りませんか?