LET関数を使って高度な数式を簡略に Excel2021 Microsoft 365
今度はLET関数を使って少し高度な数式を書いてみましょう。
商品の売上高一覧から売上高上位3件を抽出したいと思います
LET関数を使って高度な数式を簡略に 関数 09回
LET関数の使用例
売上高上位3件を抽出するには、LARGE関数を使います。
LET関数とLARGE関数を組み合わせることで、式を簡略化できます。
LARGE関数は、指定されたデータの中でn番目に大きいデータを抽出する関数です。
LARGE関数は一番大きいデータの順位を1として、指定した順位のデータを探して返します。
(サンプルファイルは、こちらから サンプルデータ)
LET関数なしだと複数の式が必要
今までのように、LET関数を使わない場合は、各セルに数式を入力してやる必要がありました。 金額の大きい3つを順に取り出すなら、
=LARGE(D4:D17,1)、=LARGE(D4:D17,2)、=LARGE(D4:D17,3)、のような数式が必要で、3つ入力しなければなりません。
さらに、該当する商品名をINDEXとMATCH関数で表示させるには、長くなり、可読性もよくありません。
この例では、LARGE 関数で1位~3位を抽出するために配列を使います。
引数”名前1”:RankArray
引数”式1”:{1;2;3}引数名は自由につけてかまいませんが、アルファベットを使うことをおすすめします。
商品名を抽出したいので、引数にします。
引数”名前2”:BrandRng
引数”式2”:A7:A17売上高を比較したいので、引数にします。
引数”名前3”:SalesRng
引数”式3”:D7:D17LET関数で名前と式を指定したら、最終的な式を記述します。使うのはINDEX関数です。
INDEX関数を使って名前を抽出したい範囲、先ほどLET関数で指定したBrandRngを、アルファベットで指定しているので 先頭の数文字入力した時点で候補が表示されます。これがとても便利です。
INDEX関数とMATCH関数の構文のおさらい
数式を仕上げる前に、関数の確認です。
INDEX関数の書式 検索/行列関数
MATCH関数の書式 検索/行列関数
-
MATCH関数では、LARGE関数で上位1~3位の金額を検査値とし、その金額の位置を検査範囲に指定したSalesRngで探します。
MATCH関数では見つかった相対的な位置を返します。その行位置に該当する標品を、INDEX関数でみつけ表示するという意味になります。
F4セルに入力した数式です。数式を入力したのは、F4セル1か所だけになります。