重量とサイズの組み合わせから送料を取得する(XLOOKUP)

重量とサイズの 2 つ値の組み合わせから送料が決まるような場合に、 XLOOKUP 関数を使うことで入力された重量とサイズから送料を取得することができます。ここでは Excel の関数である XLOOKUP 関数を使って重量とサイズの組み合わせから送料を取得する方法について解説します。

(Last modified: )

重量とサイズから送料を取得する

送料など重量とサイズなどの 2 つの値の組み合わせで決まるものがあります。例として次のような送料の表を作成しました。

重量とサイズから送料を取得する(1)

今回は XLOOKUP 関数を使って重量とサイズの値から送料を取得します。先ほどの表を XLOOKUP 関数で扱えるように次のように変更しました。

重量とサイズから送料を取得する(2)

重量の区分ごとに区分が始まる重量を 3 行目に記述しています。例えば 20Kg ~ 40Kg の区分については 20 を 3 行目に記述しています。同じようにサイズの区分ごとに区分が始まるサイズを C 列に記述しています。例えば 50cm ~ 100㎝ の区分については 50 を C 列に記述しています。どちらも昇順に並ぶようにしてあります。

それでは別途入力した重量とサイズのデータから対応する送料を取得します。次のシートを見てください。

重量とサイズから送料を取得する(3)

送料を表示する E9 セルに次のように入力しました。内側の XLOOKUP 関数でまず重量の区分を検索し、次に外側の XLOOKUP 関数でサイズの区分を検索します。 XLOOKUP 関数の検索範囲と戻り範囲の引数は絶対参照で指定してください。

=XLOOKUP(D9,$C$4:$C$6,XLOOKUP(C9,$D$3:$G$3,$D$4:$G$6,,-1),,-1)

重量とサイズから送料を取得する(4)

Enter キーを押すと、重量とサイズから送料を取得し E9 セルに表示します。

重量とサイズから送料を取得する(5)

E10 セルから E12 セルにも同じように数式を入力しました。

重量とサイズから送料を取得する(6)

このように XLOOKUP 関数を使用することで、事前に作成した送料の表を使って重量とサイズから該当する送料を取得することができます。

解説

今回は XLOOKUP 関数をネストして使用しています。最初に内側の XLOOKUP 関数で戻り値の範囲としてデータ全体を指定した上で重量を検索し、対象となるセル範囲を取得します。次に外側の XLOOKUP 関数で戻り値の範囲として先ほど取得したセル範囲を対象としてサイズを検索し、対象となる送料を取得します。

最初に XLOOKUP 関数で重量を調べます。検査範囲は D3:G3 で、戻り範囲は D4:G6 です。例えば重量が 30 だった場合、 30 よりも小さくて最大の値である E3 セルが一致します。戻り値の中で E3 セルと同じ列にあるセル範囲の E4:E6 を取得します。

重量とサイズから送料を取得する(7)

重量とサイズから送料を取得する(8)

次に XLOOKUP 関数でサイズを調べます。検査範囲は C4:C6 で、戻り範囲は先ほど最初に XLOOKUP 関数で取得した E4:E6 です。例えばサイズが 75 だった場合、 75 よりも小さくて最大の値である C5 セルが一致します。戻り値の中で C5 セルと同じ行にある E5 セルを取得します。結果として E5 セルに入力されている 2300 を取得します。

重量とサイズから送料を取得する(9)

重量とサイズから送料を取得する(10)

このように XLOOKUP 関数をネストして使用することで、重量とサイズという 2 つの値から送料を取得することができました。

今回使用した関数の解説は下記を参照されてください。

-- --

Excel の関数である XLOOKUP 関数を使って重量とサイズの組み合わせから送料を取得する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。