GGROWTH INTELLIGENCE経営に、次の一手を。
テクノロジー活用・DX

Excelが止まる大量データ比較を30分以内で完了させる—— Microsoft Accessを使った5ステップガイド(専門知識不要)

2026.07.09GROWTH INTELLIGENCE 編集部

大量データの比較作業に、Excelだけで対応し続けていませんか。項目数や行数が増えるほど処理は重くなり、関数のネストやファイル肥大化により作業効率は急激に低下します。結果として、分析よりも“データ整形”に時間を奪われる状況が生まれます。 本稿では、Microsoft Accessを活用したデータ比較の手法を紹介し、Excelでは負荷が大きいケースでも効率的に処理する方法を解説しています。Accessはデータベース機能を備え、集計・比較・不一致判定を構造的に実行できるため、大量データでも安定的にアウトプットを生成できます。専門的なSQL知識がなくても扱える点も実務上の利点です。 業務効率化はツール選択から始まります。単に作業を“頑張る”のではなく、適切な仕組みに置き換えることで時間と人的コストを削減できるか。本稿は、日々のオペレーションを見直すための実践的ヒントを提示しています。

1|結論—Accessなら100万行超・比較項目50以上でも30分以内で完了できる

Microsoft Accessは、データベースアプリを制作するためのツールとして知られていますが、「大量データの比較作業」においても非常に有効なツールです。Excelでは比較項目が50・100と増えるにつれて処理が重くなり、100万行超のデータではファイルを開くだけで5分以上かかる場合があります。Accessを使えば同じ作業を30分以内で完了でき、データ量が増えても処理速度への影響が少ないです。データベースやSQLの専門知識は不要で、作業手順を他のメンバーへ引き継ぐことも容易です。

筆者が実際に担当した案件では、10以上の表に対して30パターンの比較作業が必要で、表の行数が100万行を超えるものもありました。Excelでは1ファイルの対応だけで最低1時間かかる状況でしたが、Accessを活用することで30分以下まで短縮できました。本稿ではその実践的な手順を5ステップで整理します。

2|ExcelとAccessの比較—どちらを使うべきかの判断基準

Accessを選ぶ判断基準:以下のいずれかに当てはまる場合はAccessを推奨します。 ① 比較項目数が20以上になる(または今後増加する見込みがある) ② 扱うデータの行数が10万件を超える ③ 同じ比較作業を定期的に繰り返す(毎月・毎週等) ④ 作業担当者が変わることが想定されており、引き継ぎのしやすさが重要

3|全体の流れと所要時間—5ステップで合計30分以内

本稿で紹介するデータ比較の目的は「比較したい項目同士が隣り合って表示され、値が一致していれば〇・不一致であれば×を表示する列が追加された比較結果ファイル(Excel形式)を出力すること」です。

STEP 1 事前準備—Excelデータの確認と新規データベースの作成

▶ 使用するExcelデータの確認 インポートするExcelデータは以下の形式を推奨します。「1行目に列名(フィールド名)が入っており・2行目以降にデータが入っている」というシンプルな表形式が最もスムーズにインポートできます。本稿では例として「社員.xlsx(比較元)」と「比較対象_社員.xlsx(比較先)」の2ファイルを使用します。

▶ 新規データベースの作成手順 ① Accessを起動 →「新規」タブ →「空のデータベース」を選択 ② データベース名を設定(例:test.accdb)→「作成」ボタンをクリック ③ 画面左側の「すべてのAccessオブジェクト」欄に「テーブル」タブと「テーブル1」が表示されれば作成完了

Accessのデータベースファイル(.accdb)は作業用の入れ物です。ここに比較元・比較先のデータをインポートして作業を進めます。データベースやSQLの知識がなくても、この後の操作はすべてGUI(画面上の操作)で完結します。

STEP 2 テーブルの作成—ExcelデータをAccessにインポートする

テーブルとはExcelでいう「表」のことです。比較元・比較先それぞれのExcelデータをインポートして2つのテーブルを作成します。

① 「テーブル1」を右クリック → 「インポート」→「Excel」を選択 ② 「参照」ボタン → インポートするExcelデータを選択 ③ 「現在のデータベースの新しいテーブルにソースデータをインポートする」を選択 →「OK」 ④ 「先頭行をフィールド名として使う」を選択 →「次へ」(※フィールド名=列名) ⑤ 各フィールドのオプションを設定 →「次へ」(後から変更可能なのでスキップしてもよい) ⑥ 主キーを設定 →「次へ」(比較元・比較先で値が完全に一致する項目=IDなどを設定) ⑦ テーブル名を設定(例:「社員」「比較対象_社員」)→「完了」 ⑧ 「インポート操作の保存」は不要 →「閉じる」

主キーの設定が後の作業精度を左右します。 主キーとは「各データを一意に識別できる列(IDなど)」のことです。テーブル結合の際に主キーを基準に使用するため、比較元・比較先で値が完全に一致する項目(社員IDや製品コード等)を主キーに設定してください。主キーが設定されていないと、正しくデータを結合できません。

同様の手順で比較先のExcelデータ(比較対象_社員.xlsx)もインポートします。テーブルが正しく作成されたか確認するには、左側の「すべてのAccessオブジェクト」欄でテーブル名をダブルクリックして内容を確認してください。

STEP 3 データの結合—比較項目を隣り合わせに並べる

クエリデザイン機能を使い、比較元テーブルと比較先テーブルを結合して、比較したい項目同士が隣り合って表示されるテーブルを作成します。「クエリ」とはインポートしたデータに対して行う操作(表示・結合・条件指定等)のことです。

① 「作成」タブ →「クエリデザイン」をクリック ② 画面右側「テーブルの追加」→ 比較元テーブルを選択 →「選択したテーブルを追加」。同様に比較先テーブルも追加する(計2回操作) ③ 比較元テーブルの主キー列 → 比較先テーブルの主キー列へドラッグアンドドロップ(黒い線で繋がればテーブル結合の設定完了) ④ 画面下側「フィールド名」行の各列で表示させる項目を選択(比較元のID・Address・Department と 比較先のID・Address・Department を交互に配置) ⑤ 「クエリデザイン」タブ →「実行」をクリック→ 比較項目が交互に表示されたテーブルが出力される

この段階で「比較元の住所・比較先の住所・比較元の部署・比較先の部署」というように、比較したい項目が隣り合って表示されるテーブルが完成します。項目名は「テーブル名.項目名」(例:社員.Address)という形式で自動設定されます。

STEP 4 比較結果の追加—〇×を表示するIIf関数の設定

前のステップで作成したテーブルに、各項目の値を比較して一致なら〇・不一致なら×を表示する列を追加します。AccessのIIf関数(Excel のIF関数に相当)を式ビルダー機能で設定します。

① 「ホーム」タブ →「表示」→「デザイン ビュー」でテーブル操作画面に戻る ② 比較結果列を挿入したい場所の右隣の列を選択 ③ 「クエリデザイン」→「列の挿入」をクリック(空欄の列が挿入される) ④ 挿入した空欄の列のフィールドをクリック ⑤ 「クエリデザイン」タブ →「ビルダー」をクリック(式ビルダーが起動) ⑥ テキストボックスに以下の関数を入力 →「OK」 ⑦ 「クエリデザイン」タブ →「実行」で結果を確認

▶ IIf関数の書き方(Addressの比較例) Addressの比較結果: IIf([社員.Address]=[比較対象_社員.Address],“〇”,“×”)

関数の各パーツの意味は以下の通りです。

同じ手順をDepartment項目など他の比較対象にも繰り返します。比較項目が50・100あっても、この手順を繰り返すだけで対応できます。Excelのように関数が増えるにつれてファイルが重くなることはありません。

STEP 5 Excelエクスポート—比較結果をExcelファイルで出力する

① 「外部データ」タブ →「Excel」を選択 →「OK」をクリック(エクスポート設定画面でファイル名・ファイル形式を設定できる) ② ファイル名を設定(例:社員_比較結果) ③ 「エクスポート操作の保存」は不要 →「閉じる」をクリック

エクスポートが完了すると、Accessで作成したテーブルがそのままExcel形式で出力されます。出力されたファイルには「比較元の住所・比較先の住所・住所の比較結果(〇/×)・比較元の部署・比較先の部署・部署の比較結果(〇/×)」という形式で比較結果が一目でわかる形式で整理されています。

4|Accessデータ比較でよくある失敗—3つの注意点

▶注意点① 「主キーを設定せずにテーブル結合しようとする」 主キーが設定されていないと、テーブル結合の基準となる項目を指定できず、正しくデータが結合されません。インポート時(STEP 1の⑥)に必ず「値が完全に一致する項目(IDなど)」を主キーに設定してください。後から変更することも可能ですが、最初から設定しておく方が手間が省けます。

▶注意点② 「IIf関数でテーブル名・項目名を正確に記述しない」 式ビルダーでの関数入力では、[テーブル名.項目名]の記述が1文字でも異なるとエラーになります。テーブル名・項目名はAccessの画面で確認しながらコピーペーストすることを推奨します。特に全角・半角の違い・スペースの有無に注意してください。

▶注意点③ 「Excelデータの1行目が列名になっていない」 Accessへのインポート時に「先頭行をフィールド名として使う」を選択しますが、元のExcelデータの1行目が列名でない場合、データが意図通りにインポートされません。インポート前にExcelデータが「1行目:列名、2行目以降:データ」という形式になっているか確認してください。

5|経営判断チェックリスト—Accessを今業務に導入すべき組織の条件

✓ 月次・週次で大量データの比較作業が発生しており、担当者が長時間この作業に費やしている ✓ Excelでのデータ比較作業が重くなっており、ファイルが固まる・開くのに時間がかかるという問題が起きている ✓ 比較項目数が多く(20項目以上)、Excelの関数が複雑になって管理・引き継ぎが困難になっている ✓ データ量が10万行以上になっており、Excelでの処理がボトルネックになっている ✓ データ比較を担う担当者が変わるたびに引き継ぎ工数が発生しており、標準化・効率化が急務 ✓ Microsoft 365またはMicrosoft Officeを契約済みでAccessが使用可能な環境がある

Microsoft Accessは多くの企業がMicrosoft 365またはOfficeのライセンスですでに利用可能なツールであるにもかかわらず、活用されていないケースが多いです。追加コストなし・専門知識不要で、大量データ比較の業務工数を半分以下に削減できる手段として、まず今抱えているデータ比較の課題に試しに適用してみることを推奨します。

6|経営者への一言

「Excelが重くて比較作業が終わらない」という問題は、追加投資なしに解決できます。Microsoft Accessはすでに多くの企業のOfficeライセンスに含まれており、専門知識不要で100万行超のデータ比較を30分以内に完了できます。まず一つの繰り返し比較作業をAccessで試してみることが、業務効率化の最短ルートです。

← 記事一覧へ