ドロップダウンリストで「行」と「列」を選んだら、表中の「行・列」が交叉するセルの値が取り出せる、という使い道豊富なテクニックをご紹介いたします。
大きな表を扱う部署ではその昔、定規とマーカー(指も)を使って「交差点」を見つけ出すのが必須スキルであり、中には「2本指使いの名手」とか言う方もおられました。今はどうしておられるのでしょうか?
3行、3列の簡単な表でわかりやすく説明しますので、ぜひ実務へ応用していただきたいと思います。
↓ 簡単動画からご覧ください。
交差点の値を取り出す式
行・列交差点の値は、直接指定しても求めることができます。行2と列2が交叉するセルの値を求める基本的な数式からスタートです。
①セル F3 には式 =B3:D3 C2:C4 と入力されています。「行範囲 & 半角スペース & 列範囲」のようにセル範囲を「半角スペース」で区切ることで行列が交叉するセルの値が取り出せます。
②式が指定している行範囲 B3:D3 です。
③列範囲 C2:C4 です。
INDIRECT関数の機能
セルC3 の値はもちろん =C3 で取り出せますが、INDIRECT(“C3”) でも取り出せます。違いは =C3 がセル直接指定に対して INDIRECT(“C3”) は「間接指定」という点で、C3 がヒゲで囲まれているように「セル位置を文字列で表わす」ための関数です。
セル範囲も使える
①セル F3 には式 =INDIRECT(B3:D3) INDIRECT(C2:C4) が入力されています。「行範囲+半角スペース+列範囲」で交叉セルの値を取り出しています。
②INDIRECT式の前半が指定している行範囲 B3:D3 です。
③INDIRECT式の後半、列範囲 C2:C4 です。
セル範囲の間接指定
①セル範囲は、セルF1 と F2 と行列範囲を入力したセル指定でも有効です。
②行範囲を「文字列」として入力しています。
③列範囲を「文字列」として入力しています。
名前も使える INDIRECT関数
行・列に名前をつけて INDIRECT 式の中で使うことにします。
①行・列の表をタイトルも含めて選択しておき
②「数式」タブ「選択範囲から作成」をクリックします。
③「□上端行」「□左端列」にチェックを入れて「OK」で一括して名前が作成できました。
①「数式」タブ「名前の管理」で確認ができます。
②行1~3、列1~3 が登録されています。
①「行」を指定する セルF1 を名前から選択する「リスト形式」に設定します。
②「データ」タブ「データの入力規則」「リスト」を選択します。
③「元の値」へ「行タイトル範囲」を指定して「OK」します。
「列」のリストも同様に設定します。
完成
ドロップダウンリストから「行」「列」を選択するだけで「交差するセル値」が取得できるようになりました。