Excelで料金表から料金を取得する(MATCH関数・INDEX関数)

表形式の料金表などから、出発地と目的地を見て料金を調べたいことがあります。そんなときはMATCH関数とINDEX関数が役立ちます。

料金表から料金を取得したい
料金表から料金を取得したい

たとえば、東京から名古屋までの料金を調べるには、表形式の料金表の縦軸と横軸から出発地が何番目か、目的地が何番目かを調べて、縦軸と横軸のぶつかった地点の料金「10000」を取得すれば良いことになります。

料金表の縦軸と横軸から目的の位置を調べる

出発地、目的地が料金表の縦軸または横軸の何番目なのかを調べるには、MATCH関数を使います。

MATCH(検査値,検査範囲,照合の種類)という形式で呼び出します。

「名古屋」が1行目の「東京、小田原、熱海、名古屋、京都」の何番目なのかを調べるには、「MATCH("名古屋",B1:F1,0)」と入力し、「4」が返されます。つまり、名古屋は横軸の4番目だとわかります。

※3番目の引数は照合の種類です。この例の「0」は、完全に一致する場合にX番目が返されます。料金表のように出発地と目的地にピッタリ一致するものを調べるときに使います。

表のX行目・Y列目を取得する

行列形式の料金表のX行目・Y列目を取得するにはINDEX関数を使います。「INDEX(行列範囲,行位置,列位置)」と指定し、上記の料金表では「INDEX(B2:F6,1,4)」と入力すると1行目、4列目の「10000」が返されます。

行や列の「1」や「4」はMATCH関数を使って取得するように入力して、
「=INDEX(B2:F6,MATCH(B9,B1:F1,0),MATCH(B10,B1:F1,0))」と入力すれば、出発地の「東京」から目的地の「名古屋」までの料金が表示されます。

東京から名古屋までの料金を調べる
東京から名古屋までの料金を調べる

Excel tips