職場であった実際の話ですが、エクセルのWEBクエリ機能の落とし穴があったのでその対処方法をメモしておきます。
営業の実績表をエクセルで作成しているのですが
シート1には実際見る営業成績のデータ、
シート2にはWEBクエリで読み込んだデータがあります。
シート1のB4~I4セルにはシート2のセルを参照するように「=シート2!B3」~「「=シート2!I3」」 というように入れています。
F4~I4はまだ売り上げがないので値が0になっています。
例えば2021年5月になったときシート2はこのようになり、
シート1は5月のところに実績が入るはずです。
しかし起こった問題はシート1のF4のセルが0のままで、数式は「=シート2!F3」のはずなのに、「=シート2!G3」と一つだけ参照セルがずれているようでした。(↓実際は5月が0のまま)
色々調べるとWEBクエリのデータ取り込み時のプロパティを注意しないといけないようです。
下図は失敗例ですが変更されたレコード(行)のデータ更新時の処理で
「新しいデータのセルを挿入し、使用されていないセルを削除する」を選択しているとシート2のF3の位置に新しいデータを挿入するということになり、F3のセルはG3にずれてしまいます。(中身はないのでわかりづらいですが)
そしてエクセルの仕様で元の参照位置が行や列挿入でずれた場合、参照式も自動で変更されるのでずれてしまうようです。
そこで「既存のセルを新規データで上書きし、使用されていないセルをクリアする」にオプションを変更すると挿入ではなく上書き扱いでセルがズレませんので参照式もずれなくなります。
単純なことですが実績表を作った人は気づかず、毎月セルの参照式がズレると修正していたようです。
ちょっと勉強になったので備忘録でした。