LET関数を使って高度な数式を簡略に Excel2021 Microsoft 365

LET関数を使って高度な数式を簡略に Excel2021 Microsoft 365

今度はLET関数を使って少し高度な数式を書いてみましょう。
商品の売上高一覧から売上高上位3件を抽出したいと思います

LET関数を使って高度な数式を簡略に 関数 09回

LET関数の使用例

売上高上位3件を抽出するには、LARGE関数を使います。
LET関数とLARGE関数を組み合わせることで、式を簡略化できます。
LARGE関数は、指定されたデータの中でn番目に大きいデータを抽出する関数です。
LARGE関数は一番大きいデータの順位を1として、指定した順位のデータを探して返します。

LARGE関数の構文


(サンプルファイルは、こちらから サンプルデータ


LET関数なしだと複数の式が必要

  1. 今までのように、LET関数を使わない場合は、各セルに数式を入力してやる必要がありました。 金額の大きい3つを順に取り出すなら、
    =LARGE(D4:D17,1)、=LARGE(D4:D17,2)、=LARGE(D4:D17,3)、のような数式が必要で、3つ入力しなければなりません。

    LET関数を使って高度な数式を簡略に、タイトル01
  2. さらに、該当する商品名をINDEXとMATCH関数で表示させるには、長くなり、可読性もよくありません。
    この例では、LARGE 関数で1位~3位を抽出するために配列を使います。
    引数”名前1”:RankArray 
    引数”式1”:{1;2;3} 

    LET関数を使って高度な数式を簡略に、タイトル02
  3. 引数名は自由につけてかまいませんが、アルファベットを使うことをおすすめします。
    商品名を抽出したいので、引数にします。
    引数”名前2”:BrandRng 
    引数”式2”:A7:A17 

    LET関数を使って高度な数式を簡略に、タイトル03
  4. 売上高を比較したいので、引数にします。
    引数”名前3”:SalesRng 
    引数”式3”:D7:D17 

    LET関数を使って高度な数式を簡略に、タイトル04
  5. LET関数で名前と式を指定したら、最終的な式を記述します。使うのはINDEX関数です。
    INDEX関数を使って名前を抽出したい範囲、先ほどLET関数で指定したBrandRngを、アルファベットで指定しているので 先頭の数文字入力した時点で候補が表示されます。これがとても便利です。

    LET関数を使って高度な数式を簡略に、タイトル05

INDEX関数とMATCH関数の構文のおさらい

数式を仕上げる前に、関数の確認です。

INDEX関数の書式 検索/行列関数

書式INDEX(配列, 行番号, [列番号])

INDEX関数の書式

MATCH関数の書式 検索/行列関数

書式MATCH(検査値, 検査範囲, [照合の型])

MATCH関数の書式
  1. MATCH関数では、LARGE関数で上位1~3位の金額を検査値とし、その金額の位置を検査範囲に指定したSalesRngで探します。

    LET関数を使って高度な数式を簡略に、タイトル08
  2. MATCH関数では見つかった相対的な位置を返します。その行位置に該当する標品を、INDEX関数でみつけ表示するという意味になります。

    LET関数を使って高度な数式を簡略に、タイトル06
  3. LET関数を使って高度な数式を簡略に、タイトル07
  4. F4セルに入力した数式です。数式を入力したのは、F4セル1か所だけになります。

    LET関数を使って高度な数式を簡略に、タイトル08