●距離と重量で料金を表引き

 荷物の配送料は、距離のみならず荷物の重量でも料金が変わることがある。例えば距離は20km以上40km未満、重量は10kg以上20kg未満で2100円というようにだ。

 図1ではその一例を示した。ここでは「距離」と「重量」を指定することで、対応する料金を表引きして表示したい。

距離別・重量別の料金表
図1 距離別・重量別の料金表の一例を示した。この表から距離が52km、重量が28kgの荷物を運ぶ際の料金を表引きしたい

「またVLOOKUP関数を利用するのか」

 うーん、今回の場合、VLOOKUP関数よりも別の関数を利用する方がいいかもしれない。MATCH関数とINDEX関数がそれだ。

MATCH関数
MATCH関数検索・行列関数
=MATCH(検査値, 検査範囲, [照合の型])
検査範囲内から検査値を検索してその位置を反す。
(1)検査値 検索したい値を指定する。
(2)検査範囲 検査値を含むセル範囲を指定する。
(3)照合の型 省略可能。「1」または省略で検索値以下の最大値、「0」で完全一致する値、「-1」で検索値以上の最小値を反す。

INDEX関数
INDEX関数検索・行列関数
=INDEX(範囲、行番号、[列番号])・・・「配列形式」
=INDEX(範囲、行番号、[列番号]、[領域番号])・・・「セル範囲形式」

セル参照または配列から、指定した行と列が交差するセルの値を返す。
(1)範囲 検索対象になるセルの範囲を指定する。
(2)行番号 行番号を指定する。
(3)列番号 省略可能。列番号を指定する。省略した場合、範囲の1列目が適用される。
(4)領域番号 省略可能。複数の範囲を指定している場合、番号でその範囲を指定する。

この先は会員の登録が必要です。今なら有料会員(月額プラン)が12月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら