【Excel】自動的に更新されるデータベースの作り方|4つの実践テクニック
この記事では、Excelで自動的に更新されるデータベースを作成するための、実用的な4つの方法をわかりやすく解説します。売上や天気予報など、常に変化するデータを扱う業務では、元データが更新されたときにデータベース側も自動的に反映される仕組みが非常に重要です。手作業でのコピーや修正の手間を省き、ミスも防げます。それでは、具体例とともに各方法を見ていきましょう。
Excelで自動更新されるデータベースを作成する4つの方法
方法1:Webからデータを抽出して自動更新データベースを作成する
課題:Web上の「ニューヨーク(アメリカ)の14日間天気予報」を抽出し、自動的に更新されるExcelデータベースを作成します。
ポイント:天気予報を掲載しているサイトは数多くあります。ここでは timeanddate.com のニューヨークの天気予報ページを例にします。Webページの表をそのままコピー&ペーストしてデータベースを作ることも可能ですが、それでは元サイトのデータに連動しません。「データの取得」機能でWebページと接続しておけば、手動・自動どちらでもデータベースを最新の状態に保てます。

手順:以下のステップに従って、天気予報データベースを自動更新できるようにしましょう。
ステップ1:Webへの接続
- リボンの「データ」タブを開きます。
- 「データの取得と変換」グループ内の「Webから」をクリックします。

- ダイアログボックスに、データを抽出したいページのURLを貼り付けて「OK」を押します。

- 「ナビゲーター」ウィンドウに、サイト上で見つかったテーブルが表示されます。「テーブル ビュー」を選ぶと、抽出データを表形式で確認できます。
- 読み込む前にデータを加工したい場合は、「データの変換」をクリックします。

ステップ2:データの整形(Power Queryエディター)
- Power Queryエディターでは不要な列を削除できます。列見出しを右クリックし、「削除」を選択します。

- 今回は不要な列を取り除き、必要な6列だけを残しました。
- 「ホーム」タブから「閉じて次に読み込む」ボタンをクリックします。
- 表示されるメニューから「閉じて次に読み込む」を選びます。

ステップ3:Excelデータベースへの読み込み
- 「データのインポート」ウィンドウで「既存のワークシート」を選択し、読み込み先の先頭セルを指定して「OK」をクリックします。

- これで、Webサイトと接続されたExcelデータベースが完成しました。

ステップ4:自動更新機能の設定
- 作成したテーブル内のセルをクリックします。
- 「データ」タブを開きます。
- 「すべて更新」の下矢印をクリックします。
- 「接続プロパティ」を選択します。

- 「更新間隔」欄に、自動更新したい時間(例:60分ごとなど)を設定して「OK」を押せば完了です。

方法2:ピボットテーブルを使った自動更新データベースの作成
この方法では、元データをもとにピボットテーブルを作成します。ピボットテーブルはExcelにおける簡易データベースとして使えるため、ファイルを開いたときに自動更新する設定を有効にすれば、データベースを常に最新に保てます。以下の手順で進めましょう。
ステップ1:ピボットテーブルの作成
ここでは、ある店舗の販売明細データをサンプルとして使用します。

ピボットテーブルを作成するには:
- データ範囲全体を選択します。
- 「挿入」タブを開きます。
- 「ピボットテーブル」ボタンをクリックします。
- 「テーブル/範囲から」を選びます。

- ダイアログで「新しいワークシート」を選択して「OK」を押します。

- 新しいシートにピボットテーブル形式のデータベースが作成されます。

ステップ2:ファイルを開くときに自動更新する設定
この方法は、データ変更のたびではなくブックを開くタイミングで更新される点に注意してください。いわば「部分的な自動化」となります。設定手順は以下の通りです。
- ピボットテーブル内の任意のセルを右クリックしてコンテキストメニューを開きます。
- 「ピボットテーブル オプション」を選択します。

- 「データ」タブを開き、「ファイルを開くときに更新」にチェックを入れます。

- 最後に「OK」をクリックして閉じれば設定完了です。
方法3:VBAマクロでピボットテーブルを即時に自動更新する
課題:簡単なVBAコードを使えば、元データを変更した瞬間にピボットテーブルを自動更新できます。方法2のようにファイルを開き直す必要がないのが大きなメリットです。
手順:以下のガイドに従って設定しましょう。
- シート名のタブを右クリックし、「コードの表示」を選択します。

コード:Visual Basic Editorに以下のコードを貼り付けます。
Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.RefreshAll
End Sub

結果:このVBAコードは、元データのセルを変更するたびに自動的に実行されます。元データに連動するすべてのピボットテーブルが即座に更新されます。
検証のため、「pivot_table」シートのピボットテーブルでリンゴの数量を50から30に変更したところ、別シート「pivot_table_VBA」のデータベースも自動的に即時更新されました。

補足:ブック内のすべてのピボットテーブルではなく、特定のピボットテーブルだけを更新したい場合は、以下のコードを使用します。このコードは、データソースが変更されたときに「pivot_table_VBA」シート内の「PivotTable2」のみを更新します。
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("pivot_table_VBA").PivotTables("PivotTable2").PivotCache.Refresh
End Sub
コード内の「pivot_table_VBA」はピボットテーブルが置かれたシート名です。シート名やピボットテーブル名は、それぞれのタブやピボットテーブル分析ツールから簡単に確認できます。

方法4:別シートのデータを参照して自動更新されるデータベースを作成する
課題:別のワークシートにあるテーブルのデータを参照するデータベース表を作成し、元データの変更があったら自動的に反映されるようにします。
手順:まず、「source_table」シートに商品名と単価の一覧表を用意します。

次に、「database」シートに販売明細のデータベースを作成します。この中の「UnitPrice(単価)」列を、source_tableシートの表を参照する形にします。手順は以下の通りです。
- データベース側のセルF3(リンゴの単価セル)に半角イコール「=」を入力します。

- 「source_table」シートへ移動します。
- セルC3(リンゴの単価)をクリックします。

- Enterキーを押します。

- フィルハンドルを使って、UnitPrice列の残りのセルにも同じように参照式をコピーします。

結果:これで、source_tableシートの元データを書き換えると、databaseシートのデータベースが自動的に更新されるようになりました。

注意点
方法3のVBAコードによる自動更新は便利ですが、「元に戻す」(アンドゥ)履歴が消えてしまう点に注意が必要です。一度データを変更すると、直前の状態へ戻せなくなります。これはVBAで自動更新を行う際のデメリットなので、重要なファイルは事前にバックアップを取っておくことをおすすめします。
まとめ
今回は、Excelで自動的に更新されるデータベースを作成する4つの方法を紹介しました。Webからのデータ取得、ピボットテーブル、VBA、別シート参照と、目的やスキルレベルに応じて使い分けることで、日々のデータ管理業務を大幅に効率化できます。ぜひ実際の仕事でも活用してみてください。ご質問やご意見があれば、ぜひコメント欄でお聞かせください。
関連記事
- Excelで在庫管理データベースを作成する3つの簡単な方法
- Excelでリレーショナルデータベースを作成する手順
- Excelで検索可能なデータベースを作る2つのコツ
-
Excelでデータモデルを作成する3つの方法|リレーションシップ・Power Query・Power Pivot
データモデルは、Excelでのデータ分析に欠かせない機能です。データモデルを活用すると、テーブルなどのデータをExcelのメモリ上に読み込み、共通の列を基準に複数のデータ同士を関連付けることができます。各テーブル間のつながり(関係性)こそが、「データモデル」という言葉が示す「モデル」の正体です。Excelにはデータモデルを作成するための方法が複数用意されており、本記事では3つの異なるアプローチをわかりやすく解説します。 Excelでデータモデルを作成する3つの便利な方法 本記事では、Excelでデータモデルを作成する3つの実用的な手法をご紹介します。まず「リレーションシップ」ダイアログを使う
-
Excelでデータからマインドマップを作成する2つの方法(SmartArtと図形を活用)
Excelでマインドマップを作成する方法をお探しですか?この記事はまさにそのためのものです。Excelには、データを見やすく可視化するためのグラフやスパークラインを作成できる機能がありますが、データから直接マインドマップを作成する専用ツールは搭載されていません。しかし、ご安心ください。Excelの標準機能を組み合わせれば、マインドマップを作成することは十分可能です。本記事では、Excelでデータからマインドマップを作成する具体的な手順を詳しく解説します。 練習用ファイルは、下記のリンクからダウンロードできます。 マインドマップとは? マインドマップとは、ある中心的なコンセプト(テーマ)