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)とは別物。 例:kingaku、tax、avg など
ステップ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文で判定。
A2やB2が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関数単体というより、
XLOOKUP・FILTER・IFなどと組み合わせた複合問題として出題されることが多いです。「なぜLETを使うのか」という理由(同じ式の繰り返し回避・可読性向上)を答えられるように理解しておくと安心です。


コメント