セル参照を行番号、列番号指定方式(オフセット方式)にするとメンテナンスしやすい

Excel表からの抽出、Excel表の生成。どちらの手順も、その制御シートでは該当項目の指定に「セル参照」を使います。

例えばExcelシートから、項目1~項目12まで横並びの列(データの先頭は2行目)からデータを抽出する場合を考えてみます。下図の例のように、A2、B2、C2~L2と、「A1形式の相対参照方式」で指定すれば事足りるのですが、もしこのデータ列が100列以上あったらどうでしょうか?

f:id:xoblos:20170722201941p:plain

100列の場合の抽出指定は、A2、B2、C2~CV2と指定しなければならず、設定作業が面倒な感じ。また、列が減ったり増えたり、並び順が変わるなどメンテナンス時の再設定作業も大変そうです。「A1形式」の代わりに、「オフセット方式」で設定してみましょう。まず、A1の代わりに (2, 1) と指定します。これがオフセット方式で、(行番号, 列番号) の形式でセル参照を表現します。(2, 1) は2行目の1列目、つまりA2のセルを参照します。

f:id:xoblos:20170722201954p:plain

(2, 1) と指定したセルの矩形右下の□をポイントすると+に変わるので、そのまま「項目12」の下のセルまで右側にずるっとドラッグしていきます。Excelのオートフィル操作ですね。

f:id:xoblos:20170722202007p:plain

手を離すと、(2, 1) ~ (2, 12) まで簡単に設定できました。(2, 12) はL2と同等です。

f:id:xoblos:20170722202020p:plain

この手法で、100列でも200列以上でも同じ操作で大丈夫です。列が減ったり増えたり、並び順が変わるなどメンテナンス時には、(2, 1) のセルをつまんで、またドラッグして引き直せば、再設定が即座に完了します!

参考記事

オートフィルの基本
http://xoblos.hatenablog.jp/entry/2017/01/27/161031

列方向のオートフィル
http://xoblos.hatenablog.jp/entry/2016/12/16/125707