Excel (エクセル) 学習室 / KENZO30


エクセル中級 23

中級・特別編トップへ

Excel(エクセル)学習室 HOME

   中 級 23

Excelの基礎

  検索/行列関数(INDIRECT関数)   
  検索/行列関数(CHOOSE関数)     

 

 

検索/行列関数(INDIRECT関数)

INDIRECT関数

INDIRECT関数は、参照文字列によって指定している参照を返す関数です。
セルに入力されているセル番地などの文字列を介し、間接的にセルの参照先の値を求めることができます。使い方を工夫すれば、さまざまな応用ができる関数です。

書式で表すと、
INDIRECT(参照文字列,参照形式)
となります。引数の参照文字列は、参照したいセルが文字列で入力されているセルを指定します。

セルやセル範囲に名前を付け、その名前が入力されているセルも含みます。
参照形式は、A1形式かR1C1形式かを理論値で指定します。A1形式の場合は、TRUEもしくは指定を省略します。R1C1形式の場合は、FALSEで指定します。
エクセルのワークシートには、二つの参照形式があります。A1形式とは、通常の参照形式のことで、列番号がアルファベットで表され、行番号が数字で表される形式のことです。これに対し、R1C1形式は、列番号、行番号ともに数字で表される形式のことです。この切り替えは、ツールのオプションで設定できるようになっています。

 

使用例 1

下図は、基本を理解するための例です。参照形式の指定は、省略しています。

 

B1とB2には、セル番地が入力されています。
これを参照することによって、C1とC2の値を返しています。

(画像:Win XP&Excel2000)

B7の例は、B2セルへ「値」と名前を定義した例です。名前の定義でも参照先の値を正しく返します。なお、B8のようにセル参照ではなく、セル番地をダブル クォーテーション (") で囲み、文字列にすると、直接そのセルの値を返します。

 

使用例 2

下図は、二つの表からデータを抽出する例です。VLOOKUP関数INDIRECT関数をネストさせ、目的のデータを抽出するようにしたものです。こうすれば、複数のリストや表であっても、容易にデータを抽出することができます。INDIRECT関数の参照形式の指定は、省略しています。

(画像:Win XP&Excel2000)

この式を組むには、名前の定義を使います。それぞれ二つの表の範囲を、表名で名前を付けています。B4:D8は「捜査班A」、F4:H8は「特捜班」としています。(名前の定義 → 特別6 参照)
VLOOKUP関数の書式は、VLOOKUP(検索値, 範囲, 列番号, 検索の型)です。この範囲の部分にINDIRECT関数使っています。B11を参照させているので、B11に表の名前が入力されれば、参照範囲を認識し、自動的に表を切り替えるわけです。そして、NOを入力すれば、目的の名前と給与が求めれるようになっています。
なお、B11とC11セルに、入力規則のドロップダウンリストを設定すれば、マウスで選択するだけで簡単に目的のデータを抽出できるようになります。(入力規則のドロップダウンリスト → 初級10 参照)
このような例は、実務で沢山見られると思います。この例を利用して実務に応用してみてください。

先頭へ戻る

 

 

検索/行列関数(CHOOSE関数)

CHOOSE関数

CHOOSE関数は、リストの中から指定した位置の値を取り出す関数です。引数の指定には制約があるものの、工夫次第で応用範囲が広がります。

書式で表すと、CHOOSE(インデックス,値1,値2,…)となります。
引数のインデックスとは、同じ引数の値1〜値29の中から何番目の値を取り出すのかを指定するものです。1〜29の数字で指定します。1を指定すると値1が返され、2を指定すると値2が返されます。数字で直接指定する他、セル参照で指定します。
引数の値1、値2…は、インデックスで指定した番号により抽出される値で、29個まで指定できます。直接数値で指定する他に、セル参照、名前の定義、数式、関数、または文字列を指定することができます。

 

使用例 1

下図は基本を理解するための例です。結果は、VLOOKUP関数などでの抽出と似ていますが、引数の指定方法が全く違います。


引数のインデックスでは、何番目の値を取り出すのかをセル参照で(D5)指定しています。D5に対応した値が取り出せます。
引数の値は、それぞれB3から順次B9まで指定しています。

(画像:Win XP&Excel2003)

このような例の場合、CHOOSE関数では、引数(値)を個別にそれぞれ指定しなければならないのであまり便利とはいえません。また、29個までしか指定できません。

 

使用例 2

下図は、少し実践的な例です。CHOOSE関数をSUM 関数の引数として利用しています。1月から任意の月までの売り上げ金額の合計を簡単に求められるようにしています。

 

 

 

 

 

(画像:WinXP
         &Excel2003)

SUM 関数で1月から7月までの合計を求めるには、=SUM(B3:B9)ですが、合計範囲のセル番地B9を変更すればその月までの合計を求めることができます。そこで、CHOOSE関数を使い、自在に変更できるようにしているわけです。
引数のインデックスでは、何番目(何月)の値を求めるかを指定(D5)し、引数の値ではそれぞれB3からB9までを指定しています。これで、D5へ指定番号を入力することで、合計したい月までの合計を簡単に求めることができます。

 

   先頭へ戻る   

 

中級・特別編トップへ

Excel(エクセル)学習室 HOME


KENZO30 内容の無断転載は、禁止しています