LET関数を完全理解する — 変数で数式をシンプルに —

エクセル

MOS Excel Expert 対策記事

LET関数はExcel 2021 / Microsoft 365で追加された「変数定義」の仕組みです。同じ計算を数式の中で何度も繰り返さずに済むため、長い数式が劇的に読みやすくなります。試験でも実務でも、使いこなすと差がつく関数です。


LET関数とは何か

一言で言えば、数式の中でいっとき変数を使える関数です。プログラミングで言う「変数への代入」をExcelの数式の中でできるようにしたものと考えると理解しやすいです。

=LET( 名前1, 値1, 名前2, 値2, ... , 計算式 )

最後の引数が「答え」。名前と値はペアで何組でも書ける(最大126組)。


なぜ必要なのか — Before / After

税抜き金額から消費税を計算し、税込み合計を求める例で比べてみましょう。

Before — LET関数なし

=(A2*(1-B2))*(1+C2)
=(A3*(1-B3))*(1+C3)

「A2*(1-B2)」という税抜き計算を2回書いている。数式が長くなるほど修正ミスが起きやすい。

After — LET関数あり

=LET(
  zeinuki, A2*(1-B2),
  zeinuki*(1+C2)
)

「zeinuki」という名前に計算結果を入れ、最後の行で使い回す。修正箇所が1か所になる。


構文の読み方 — 3ステップ

ステップ1:名前を決める セル参照や数式に「わかりやすい名前」をつける。使えるのはLET関数の中だけなので、名前定義(Ctrl+F3)とは別物。 例:kingakutaxavg など

ステップ2:値を割り当てる 名前の直後にカンマで区切って値や式を書く。 例:kingaku, A2*B2(A2×B2 の結果を kingaku と呼ぶ)

ステップ3:最後に計算式を書く 定義した名前を使って最終的な答えを計算する。最後の引数だけが答えとしてセルに表示される。


実践例 — 複数の変数を組み合わせる

A列に売上、B列に経費が入っているとき、「粗利率が20%以上なら◎、それ未満なら△」と表示する数式です。

=LET(
  uriage,    A2,
  keihi,     B2,
  rieki,     uriage - keihi,
  riekiRitsu, rieki / uriage,
  IF(riekiRitsu >= 0.2, "◎", "△")
)
  • uriage → A2 を「売上」という名前で呼ぶ
  • keihi → B2 を「経費」という名前で呼ぶ
  • rieki → 売上 − 経費 を「利益」として計算
  • riekiRitsu → 利益 ÷ 売上 で利益率を算出
  • 最後のIF文で判定。A2B2が1か所だけに集約されているので、列が変わっても修正が簡単。

ポイント: 前に定義した名前は、後の行でそのまま使える。riekiを定義した後にriekiRitsuの中で使っているのがその例。定義は上から下へ順番に評価される。


よくある使い方パターン

① 同じ重い計算を繰り返す場合

=LET(avg, AVERAGE(A2:A100),
  A2 - avg)

AVERAGE(A2:A100) を1回だけ計算して avg に入れ、差分を求める。

② XLOOKUP / FILTER の結果を使い回す場合

=LET(result, XLOOKUP(D2, A:A, B:B),
  IF(result="", "該当なし", result))

検索を1回だけ実行し、結果が空欄なら「該当なし」に変換する。

③ スピル対応(配列全体に適用)

=LET(
  data, A2:A10,
  avg,  AVERAGE(data),
  data - avg
)

結果がA2:A10の各行に対応した9行の配列として自動で展開(スピル)される。


試験対策チェックリスト

  • ✅ 引数は「名前, 値」のペアで必ず偶数個 + 最後に計算式(奇数個が全体の引数数)
  • ✅ 最後の引数だけがセルに表示される結果になる
  • ✅ 名前にスペースや記号は使えない(アルファベット・数字・アンダースコアのみ)
  • ✅ 名前は既存の関数名(SUM、IFなど)や列名(A、Bなど)と重複させない
  • ✅ 前に定義した名前は後ろの行で参照できるが、後ろの名前を前に使うことはできない
  • ✅ スピル配列との組み合わせが頻出。FILTER・SORT・XLOOKUPとセットで練習する

試験に出やすいポイント: LET関数単体というより、XLOOKUPFILTERIFなどと組み合わせた複合問題として出題されることが多いです。「なぜLETを使うのか」という理由(同じ式の繰り返し回避・可読性向上)を答えられるように理解しておくと安心です。

コメント

タイトルとURLをコピーしました