「StiLL」Excel情報490 データ--セル範囲を自動で拡張する方法(応用編)
【テーマ】
[バックナンバー489]では参照先をテーブルにすることで、セル範囲を自動で拡張する方法をご紹介しました。今回は、参照先のテーブルの列を追加・削除した場合の対応方法をご紹介します。
【方法】
数式の中の[列番号]を「COLUMN(テーブル名[テーブル項目名])」にする。
【参考】
セル範囲を自動で拡張する方法については[バックナンバー489]をご参照ください。
[バックナンバー489]では参照先をテーブルにすることで、セル範囲を自動で拡張する方法をご紹介しました。
今回は、参照先のテーブルの列を追加・削除した場合の対応方法をご紹介します。
セル範囲を自動で拡張する方法については、以下のバックナンバーをご参照ください。
【バックナンバー489】 データ--セル範囲を自動で拡張する方法
例として下図のようにVLOOKUP関数を使って、「商品コード」から「商品名」を求めます。
C2セルの数式は下記になります。
※予め参照先はテーブルに変換しているものとします。(テーブル名は「商品コード表」)
=VLOOKUP(B2,商品コード表,2,FALSE)
■テーブルの列を追加すると・・・
VLOOKUP関数の参照先のテーブルに列を追加すると、参照先の列がずれるため、
正しい結果が表示されません。
■数式の「列番号」を修正する
数式の中の「列番号」をCOLUMN(テーブル名[テーブル項目名])にします。
COLUMN関数については、ページ下部の「■ご参考までに」をご参照ください。
=VLOOKUP(B2,商品コード表,2,FALSE)
=VLOOKUP(B2,商品コード表,COLUMN(商品コード表[商品名]),FALSE)
「商品名」が表示されました。
■テーブルの列を削除しても・・・
先ほど追加した「商品単価」をテーブルから削除しても、正しい結果が表示されます。
■ご参考までに
COLUMN関数について
書式: =COLUMN(参照)
「参照」には、列番号を調べたいセル及び範囲を指定します。
範囲の場合は、その範囲の左上の列番号が返されます。
(例.=COLUMN(C2:D5)の場合、「3」が返されます。)
「参照」を省略した場合は、
COLUMN関数が入力されているセルの列番号が返されます。
(例.B2セルに=COLUMN()を入力した場合、「2」が返されます。)
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます