何が起きたのか
Power Pivotを使用しているExcelブックを開き、「すべて更新」をクリックする(またはデータ モデルを開こうとする)と、次のエラーが表示されます:
We couldn't get data from the Data Model.
Here's the error message we got: The Power Pivot engine failed to load.
ブック自体は問題なく開きます。ピボットテーブルもそのままです。しかし、データ モデルに触れた瞬間、すべてが止まってしまいます。このエラーメッセージは意図的に曖昧に作られており、6つの異なる原因を指している可能性があります。このガイドでは、実際に発生する頻度の高い順に原因を整理して解説します。
根本原因
- Power Pivotアドインが無効になっている — 圧倒的に多い原因です。COMアドインはクラッシュやOfficeの更新後に、何の警告もなくサイレントで無効化されることがあります。
- 32ビットのExcelが64ビットのデータ モデルを読み込もうとしている(またはその逆) — Officeのビット数が異なるマシン間でブックを移動したときに発生します。
- Analysis Servicesエンジン(msmdsrv)の破損 — Excelが内部的に使用しているインプロセスOLAPエンジンが破損しているか、バージョンの不一致が生じています。
- Officeの部分的な破損 — 更新の失敗により、DLLが欠落または登録エラーになっています。
- 一時ファイルの競合 — まれなケースですが、一時ディレクトリがいっぱいだったり別のプロセスにロックされていると、エンジンの起動に失敗することがあります。
手順1:Power Pivot COMアドインを再度有効にする
まずここから始めましょう。これだけで約60%のケースが解決します。
- Excelを開き、ファイル → オプション → アドインに進みます。
- 下部の「管理」をCOMアドインに設定し、**「設定」**をクリックします。
- Microsoft Power Pivot for Excelを探します。チェックボックスがオフになっている場合はオンにして、**「OK」**をクリックします。
- 一覧に表示されていない場合は、**「追加…」**をクリックして以下のパスを参照します:
C:\Program Files\Microsoft Office\root\Office16\ADDINS\PowerPivot Excel Add-in\PowerPivotExcelClientAddIn.dll
Excelを再起動し、Power Pivot → 管理をクリックして確認します。Power Pivotウィンドウが開けば完了です。
手順2:OfficeのビットとブックのビットInt数が一致しているか確認する
現在実行しているExcelのバージョンを確認します:
File → Account → About Excel
ダイアログのタイトルに*(32ビット)または(64ビット)*と表示されます。同僚が64ビットのExcelでブックを作成し、自分が32ビット(またはその逆)を使っている場合、埋め込まれたデータ モデルエンジンのバージョンが一致せず、読み込みを拒否されます。
解決策はシンプルです:同じビット数に切り替えます。Microsoft 365ポータルまたはOfficeインストーラーで**「詳細オプション」**を選択し、64ビットを選んで、現在のバージョンをアンインストールしてから再インストールします。
# レジストリでインストール済みOfficeのビット数を確認する(PowerShell)
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration' |
Select-Object Platform
出力にはx86またはx64と表示されます。なお、32ビットのExcelにはメモリ上限が2 GBという制約があり、大規模なデータ モデルは必ず問題を起こします。そのため、64ビットへの切り替えはいずれにせよ推奨されます。
手順3:Power Pivotの一時ファイルをクリアする
Analysis Servicesエンジンは起動のたびに一時ファイルを書き込みます。これらのファイルが以前のクラッシュでロックされたり破損したりすると、エンジンは理由を告げずに起動に失敗します。
- Excelを完全に終了します。タスク マネージャーを開き、残っている
EXCEL.EXEやmsmdsrv.exeのプロセスを終了させます。 - 以下の2つのフォルダの中身を削除します(フォルダ自体は残してください):
%LOCALAPPDATA%\Microsoft\Power Pivot for Excel
%TEMP%\Microsoft\Excel
PowerShellで実行する場合:
Remove-Item "$env:LOCALAPPDATA\Microsoft\Power Pivot for Excel\*" -Recurse -Force
Remove-Item "$env:TEMP\Microsoft\Excel\*" -Recurse -Force -ErrorAction SilentlyContinue
Excelを再起動して動作を確認します。
手順4:Officeのクイック修復を実行する
アドインを有効にしてもエンジンが読み込まれない場合は、Officeの更新が正常に完了しなかったことが原因と考えられます。Excelが実行時に見つけられないDLLが欠落または上書きされている可能性があります。
- すべてのOfficeアプリを閉じます。
- コントロール パネル → プログラム → プログラムと機能を開きます。
- Microsoft Office(またはMicrosoft 365)を右クリックし、**「変更」**を選択します。
- 「クイック修復」→**「修復」**を選択します。2〜5分で完了します。インターネット接続は不要です。
クイック修復で解決しない場合は、**「オンライン修復」**を試してください。設定やライセンス認証を保ったまま、Officeコンポーネントを完全に再インストールします。
# コマンドラインで修復を実行する(管理者として実行)
cscript "C:\Program Files\Common Files\microsoft shared\OFFICE16\Office Setup Controller\setup.exe" /repair ProPlusRetail.WW
手順5:Power Pivot DLLを手動で再登録する
DLL自体に問題がなくても、アドインのCOM登録が独立して壊れることがあります。管理者権限のコマンド プロンプトを開いて実行します:
cd "C:\Program Files\Microsoft Office\root\Office16\ADDINS\PowerPivot Excel Add-in"
regsvr32 PowerPivotExcelClientAddIn.dll
成功ダイアログが表示されれば、登録が修復されています。The module failed to loadと表示される場合は、DLL自体が存在しないか破損しています — 手順4のオンライン修復に進んでください。
手順6:Windowsイベント ログで実際のエラーを確認する
Excelのダイアログは実際に何が問題だったかを隠しています。Analysis ServicesエンジンはWindowsイベント ログに起動の失敗を記録しており、そこに本当のエラーメッセージがあります。
- イベント ビューアーを開きます(Win + R →
eventvwr.msc)。 - Windowsログ → アプリケーションに移動します。
- ソースでMSSQLServerOLAPServiceまたはPowerPivotをフィルタリングします。
- Excelがクラッシュした時刻付近のエラーを探します。
よくあるメッセージとその意味:
File system error: Access is denied→ 一時フォルダのアクセス権限の問題。修正方法:%LOCALAPPDATA%\Microsoft\Power Pivot for Excelの所有権を取得します。Version mismatch→ ビット数またはパッチのバージョン不一致。修正方法:Officeの修復(手順4)を実行します。Cannot load xmsrv.dll→ Visual C++ランタイムが欠落しています。Visual C++ 2015-2022再頒布可能パッケージのx86版とx64版の両方をインストールしてください。
修正の確認
修正を適用したら、完了とする前に以下のチェックリストを実行してください:
- 問題のあったブックを開きます。
- Power Pivot → 管理をクリックします。テーブルが表示された状態でPower Pivotウィンドウが開くはずです。
- Power Pivotウィンドウで「ホーム」タブの**「更新」**をクリックして最新データを取り込みます。
- Excelに戻り、ピボットテーブルを右クリックして**「更新」**を選択します。エラーなく完了するはずです。
- DAXエンジンが正常に動作しているか確認するため、テスト メジャーを追加します:
-- Power PivotメジャーでDAXをテストする
Test Measure:=COUNTROWS(Sheet1)
メジャーが評価されて行数が返されれば、エンジンは正常に動作しています。
今後の予防策
- Excelがクラッシュした後は、まずアドインを確認してください。 Excelはクラッシュの原因となったCOMアドインをサイレントで無効化します。データが消えたとは思わないでください — モデルはおそらく無事で、アドインがオフになっただけです。
- チーム全体で64ビットのOfficeに統一してください。 ビット数の混在はこのエラーの2番目に多い原因です。それ以上に、32ビットExcelの2 GBメモリ上限は、いずれ本格的なPower Pivotモデルで必ず問題を引き起こします。
- Officeのパッチを常に最新の状態に保ってください。 2019〜2022年にあったエンジン起動に関するバグの多くは、その後の更新で修正されています。ファイル → アカウント → 更新オプション → 今すぐ更新で確認できます。
- Windowsの大型アップデート前にブックをバックアップしてください。 バージョンアップグレード(例:22H2 → 23H2)によってCOMアドインの登録が壊れることがあります — 頻繁ではありませんが、実際に起こります。

