Excel活用

列タイトルが変わるデータをパワークエリで取得・更新する方法(2)

前回から引き続き、列タイトルが変わるデータをパワークエリで取り込む方法シリーズです。

none
none
SUMIF関数で集計して更新したらエラーになっちゃった!
にゃんで!?

酒井たかま
酒井たかま
これ、列タイトルが変わるたびに列自体を挿入・削除で進めるので関数で処理すると変なことになるんです。

none
none
まじか…!
勘弁してほしいニャ。。。

酒井たかま
酒井たかま
回避策をこれから解説するので、ぜひマスターしてくださいね。

酒井たかま
酒井たかま
今日のポイントはこれだけです。

列タイトルが変わらないように固定する。

取得したテーブルデータを関数で処理した場合に起きるエラーの原因

エラーはデータを更新した時に起こります。

上段、1907.csvを読み込み、そのデータを参照するSUMIF関数を組んだとします。

そしてこれを1908.csvに更新する。すると関数組んだセルが右にずれてエラーになるのです。

なぜこんなことになるのか、1908.csvに更新した時にシート上ではこのように挙動しているからなんですね。

列を挿入→1908.csvを取り込む→1907.csvから読み込んだデータをセルごと削除→左に寄せる

このような挙動をするので、もともとの参照元が無くなるような挙動を取るのです。

このようになる原因は列タイトルが変わることに起因するのです。

従って回避策は「取得データの列タイトルが変わっても、シートに読込む列タイトルは変わらないように固定する」となるのです。

列タイトルを固定する方法

これはパワークエリの編集画面で、前回記事で紹介した最終ステップです。

ここでやらないといけないことはこの2点。

  1. 列の名前を変える。今回の場合、「当期発生」「当期累計」「前期累計」
  2. 詳細エディターで変更前の列タイトルをC2・C4・C5等の対応する変数に修正する。

これで、いったん変数扱いにした列タイトルを、任意の固定値に置きなおすのです。

列タイトルを変えた詳細エディタの確認

この青枠内が今回の追加箇所です。ここをこのような形に直せば完了です。

列タイトルを固定して更新できるかを確認

列タイトルを固定した場合、シート上で更新されるのはデータのみとなるので、このように関数がエラーになることは無くなります。

まとめ

ここで今回のポイントをおさらいしておきましょう。

列タイトルが変わらないように固定する。

これだけです。

これだけなのですが、この列タイトルを変数に変えたら固定値に戻す、これを徹底するだけで回避できるエラーなので、ぜひ列タイトルをいじるときは固定値に戻すということを徹底してもらえたらと思います。

次回、第一部と第二部を根底から覆す最終章「サンプルクエリ、いらなくね?」をお届けします。

最後までありがとうございました!