ExcelでPower Query(クエリ)を使い、別シートのデータを参照している際に「セルをダブルクリックしないと数式が反映されない」「更新されない」という現象が起きることがあります。特にXLOOKUPと組み合わせた場合に発生しやすく、原因が分かりづらい問題です。本記事では、この挙動の仕組みと考えられる原因を整理します。
クエリと数式の更新タイミングの違い
ExcelのPower Queryは「データ取得」と「シート上の数式計算」が別の仕組みで動作しています。
例えばクエリで読み込んだデータは、再計算とは独立して保持されるため、通常のセル計算のように即時反映されないことがあります。
この構造の違いが「更新されないように見える原因」の一つです。
XLOOKUPが再計算されない理由
XLOOKUPは通常、参照範囲が変化した際に自動で再計算されますが、クエリ経由のデータではトリガーが発生しない場合があります。
例えばシート上で直接編集すれば再計算されますが、クエリ更新では数式再評価が走らないケースがあります。
その結果、手動操作(ダブルクリックなど)で初めて再計算されるように見えることがあります。
自動計算設定でも解決しない理由
Excelの「自動計算」設定は通常のセル参照には有効ですが、クエリの更新タイミングには影響しないことがあります。
例えばF9キーで再計算してもクエリデータ自体が再読み込みされない場合、結果は変わりません。
このため計算設定だけでは改善しないケースが発生します。
SUBSTITUTE・TRIM関数との組み合わせの影響
今回のようにSUBSTITUTEやTRIMを組み合わせた式では、内部的な文字列変換が多く発生します。
例えば空白除去や正規化処理がクエリ更新タイミングと同期しないと、見た目上は未反映に見えることがあります。
このような複合関数は再計算の影響を受けやすい特徴があります。
対処法と安定させる方法
対処法としては「クエリ更新後に再計算を強制する仕組み」を作ることが有効です。
例えばVBAや手動更新ボタンで「全再計算」を実行することで安定します。
また、可能であればクエリ側でデータ整形を完結させる設計にするとトラブルが減ります。
まとめ
クエリとXLOOKUPの組み合わせでダブルクリックしないと反映されない現象は、Excelの「データ更新」と「計算処理」が別系統で動作していることが主な原因です。
自動計算設定だけでは解決しない場合もあり、クエリ更新と再計算のタイミング調整が重要になります。
安定運用のためには、処理の役割分担を見直すことが有効です。

コメント