一般会員と特別会員の2つの料金表がある。B3セルに入力した「一般」「特別」の値によって、転記元の表を切り替えたい。INDIRECT関数で実現してみよう

【Excel時短術】仕事に効くINDIRECT関数の使い方 文字列を「参照先」に変換、VLOOKUP関数と組み合わせて使う

2019年04月01日
  • 上の表で、指定した「E3」に入力されている値を返す
  • 各支店別に入場者数をまとめた3枚のシートがある。この中にある入場者数の合計を、「集計」シートにまとめたい。INDIRECT関数なら簡単にできる
  • 別シートのセルを参照するには、「=千代田!B6」のように、シート名、半角の「!」、セル番地の順に書く。そこで見出しのシート名を使い、文字を結合する「&」で「=B2&"!B6"」と入力してみたが、単なる文字として認識されてしまった
  • 「=千代田!B6」をセル参照として認識させるには、INDIRECT関数でセル参照に変換すればよい。あとはこの式をコピーすれば、他の合計も表示できる
  • 一般会員と特別会員の2つの料金表がある。B3セルに入力した「一般」「特別」の値によって、転記元の表を切り替えたい。INDIRECT関数で実現してみよう
  • 名前を付けたいセル範囲を選択し(1)、「名前ボックス」に名前を入力して(2)「Enter」キーを押す(3)
  • VLOOKUP関数の式を立てるのだが、「範囲」には、INDIRECT関数でB2セルの文字を範囲名(「一般」「特別」)に変換したものを指定する
  • VLOOKUP関数の引数「範囲」を単純に「B2」とすると、文字列を指定したと見なされ、エラー(#N/A)になる。INDIRECT関数を使うと範囲名になるので、エラーにならない。ちなみに「N/A」は「Not Applicable(該当なし)」や「Not Available(利用できない、入手できない)」の意味