「JR運賃表」を作成しよう。INDEX関数の応用

excel index関数

今回はINDEX関数を使って運賃表をさくせいしましょう。

(a) 乗車駅コードと降車駅コードを入力すると、「料金」を表示するようにする。
(b) 「料金」には¥記号を付ける。

完成例
図1.png

 

データの入力

まず、Excelでつぎのような「JR運賃表」を作成します。

図2.png

INDEX関数

(1)INDEX関数

表の行と列を番号で指定し、その交差する位置にあるセルのデータを取り出すには、INDEX関数を利用します。

=INDEX(範囲,行番号,列番号)
指定した範囲で、行番号と列番号で指定したセルのデータを取り出す。

行番号は指定した範囲の上端から、列番号は指定した範囲の左端からの数を指定します。

使用例:

=INDEX(C5:E13,2,3)

セルC5からE13までの範囲で、2行目と3列目の交差する位置にある値を取り出す。

「ワンポイントアドバイス」
範囲で指定した各領域が1行または1列の場合には、行番号、列番号はそれぞれ省略することができます。
範囲が1行のみの場合 INDEX(範囲 , , 列番号)
範囲が1列のみの場合 INDEX(範囲 , 行番号)

(2) INDEX関数の入力

この例題はLOOKUP関数と同じように、あとでデータを入力することを前提としています。

乗車駅コードと降車駅コードが入力されるまで、セルB17とA18には何も表示しないようにするために、ここでもIF関数を利用します。

さらに、乗車駅コードと降車駅コードについての複合条件なので、論理演算子の「OR」を利用します。

また、この例題のINDEX関数は、表の数値(料金)の部分だけを範囲として指定し、セルB16に入力する降車駅コードの数字を行番号、セルB15に入力する乗車駅コードの数字を列番号として指定します。

①セルB17に「=IF(OR(B15=””,B16=””),””,INDEX(B4:D12,B16,B15))」と入力します。

つまり、「B15とB16がどちらか一つでも入力がなかったら、B17セルは空白(“”)にする」

ということです。

図3.png

②セルA18に「=IF(B17=””,””,”※料金は、運賃と特急料金の合計です”)」と入力します。

料金が表示された際には、「※料金は、運賃と特急料金の合計です」と表示するようにします。

図4.png

あとは表の体裁を各自で整えて完成です。

 

と、まあ、INDEX関数について解説してはみたものの、私自身使いこなしているかというとそうではありません。

確かにINDEX関数は便利なのですが、IF関数やVLOOKUP関数などで代用できるシーンが多いからです。

しかし覚えていたら便利なのは確かです。

INDEX関数という存在を知っておくだけでも、あとは調べれば使い方はどうにでもなるので、「こういう関数がある」ということだけでも知っておくといいでしょう!

 

関連記事

  1. paul-279366

    ExcelでIFを複数条件で作りたい

  2. エクセル if

    条件を判定して処理する(IF関数)【初心者のためのエクセル使い方講座⑨…

  3. toa-heftiba-106427

    エクセルで四捨五入、切り捨て【初心者のためのエクセル使い方講座⑩】