Excel関数 逆引き集 | 複雑条件を可読化 → LET

Excel VBA Excel
スポンサーリンク

概要

「IF と AND と OR が入り乱れて、式が長すぎて読めない」
「条件を少し変えたいだけなのに、どこを直せばいいのか分からない」
「複雑な判定ロジックを“意味のある名前”で整理したい」

そんなときに Excel で圧倒的に役立つのが LET 関数です。

LET は、
複雑な条件式に“名前”を付けて分解し、読みやすく・修正しやすくする
ための関数です。

あなたが書いた長い式を「日本語の変数名」で整理できるので、
ロジックが一気に“可読化”されます。


LET の基本

LET の書式

=LET(名前1, 値1, 名前2, 値2, …, 最後に返す式)

動きはこうです。

  1. 名前1 に 値1 を代入
  2. 名前2 に 値2 を代入
  3. 最後の式で、それらの名前を使って計算する

つまり、
「条件式にラベルを付けて、後ろで再利用する」
という仕組みです。


LET を使うと何が良くなるのか?

BEFORE:可読性が低い式

=IF(AND(B2>=100000, C2>=10000, OR(D2="A", D2="B")), "優良", "対象外")
  • どこが売上条件?
  • どこが利益条件?
  • D2 の条件は何を意味している?

読み手に優しくありません。

AFTER:LET で可読化

=LET(
  売上条件, B2>=100000,
  利益条件, C2>=10000,
  ランク条件, OR(D2="A", D2="B"),
  優良条件, AND(売上条件, 利益条件, ランク条件),
  IF(優良条件, "優良", "対象外")
)
  • 「売上条件」「利益条件」「ランク条件」など意味が一目で分かる
  • 修正したい条件だけを上で直せばよい
  • 最終判定は 優良条件 だけ見れば理解できる

複雑な式ほど、LET の効果が大きくなります。


LET で複雑条件を分解するテンプレート

基本テンプレート

=LET(
  条件A, (条件式A),
  条件B, (条件式B),
  条件C, (条件式C),
  最終条件, (条件A と 条件B と 条件C を組み合わせた式),
  IF(最終条件, "○○", "××")
)

この型を覚えておけば、
どんな複雑な条件式でも“意味のある名前”で整理できます。


実例:複雑な条件を LET で読みやすくする

例1:売上 × 利益 × ステータスで判定

前提:

  • B2:売上
  • C2:利益
  • D2:ステータス(”A” / “B” / “C”)

条件:

  • 売上 100,000 以上
  • 利益 10,000 以上
  • ステータスが A または B

これを LET で可読化するとこうなります。

=LET(
  売上条件, B2>=100000,
  利益条件, C2>=10000,
  ステータス条件, OR(D2="A", D2="B"),
  優良条件, AND(売上条件, 利益条件, ステータス条件),
  IF(優良条件, "優良", "対象外")
)

どの条件が何を意味しているか、
式を見ただけで理解できます。


例2:期限切れ × 未処理 × 重要度で判定

前提:

  • A2:期限日
  • B2:ステータス(”未処理” / “処理中” / “完了”)
  • C2:重要度(”高” / “中” / “低”)

条件:

  • 期限日が今日より前
  • ステータスが未処理
  • 重要度が高
=LET(
  期限切れ, A2<TODAY(),
  未処理, B2="未処理",
  高重要度, C2="高",
  要対応条件, AND(期限切れ, 未処理, 高重要度),
  IF(要対応条件, "要対応", "")
)

複雑な条件でも、
「期限切れ」「未処理」「高重要度」と名前を付けるだけで
ロジックが一気に読みやすくなります。


例3:数値範囲の複雑な判定

前提:

  • A2:点数

条件:

  • 90以上 → S
  • 70〜89 → A
  • 50〜69 → B
  • 30〜49 → C
  • それ以外 → D
=LET(
  S条件, A2>=90,
  A条件, AND(A2>=70, A2<90),
  B条件, AND(A2>=50, A2<70),
  C条件, AND(A2>=30, A2<50),
  IFS(
    S条件, "S",
    A条件, "A",
    B条件, "B",
    C条件, "C",
    TRUE,  "D"
  )
)

IFS と LET の組み合わせは、
「複雑な評価ロジック」を整理するのに最強です。


LET を使うときのコツ

1. 名前は“日本語”で OK

  • 売上条件
  • 利益条件
  • 期限切れ
  • 高重要度

など、意味が分かる名前にすると可読性が爆上がりします。

2. 条件式を上で定義し、下で組み合わせる

「条件を上で定義 → 最後に組み合わせる」
という流れを徹底すると、式が壊れにくくなります。

3. 長い式ほど LET の効果が大きい

IF と AND と OR が入り乱れる式ほど、
LET による可読化のメリットが大きくなります。


例題

問題1

B2 に売上、C2 に利益が入っています。
売上>=100,000 かつ 利益>=10,000 のとき「優良」、
それ以外は「対象外」と表示する式を、
売上条件・利益条件・優良条件 を LET で定義して書いてください。

=LET(
  売上条件, B2>=100000,
  利益条件, C2>=10000,
  優良条件, AND(売上条件, 利益条件),
  IF(優良条件, "優良", "対象外")
)

問題2

A2 に期限日、B2 にステータスが入っています。
期限日<TODAY() かつ ステータス=”未処理” のとき「要対応」、
それ以外は空白とする式を、
期限切れ・未処理・要対応条件 を LET で定義して書いてください。

=LET(
  期限切れ, A2<TODAY(),
  未処理, B2="未処理",
  要対応条件, AND(期限切れ, 未処理),
  IF(要対応条件, "要対応", "")
)

問題3

A2 に点数が入っています。
90以上→S、70以上→A、50以上→B、それ以外→C
という評価を、
S条件・A条件・B条件 を LET で定義して IFS で返す式を書いてください。

=LET(
  S条件, A2>=90,
  A条件, AND(A2>=70, A2<90),
  B条件, AND(A2>=50, A2<70),
  IFS(
    S条件, "S",
    A条件, "A",
    B条件, "B",
    TRUE,  "C"
  )
)

問題4

B2 に数量、C2 に単価が入っています。
数量>0 かつ 単価>0 のときだけ 数量×単価 を返し、
それ以外は空白を返す式を、
数量有効・単価有効・有効条件 を LET で定義して書いてください。

=LET(
  数量有効, B2>0,
  単価有効, C2>0,
  有効条件, AND(数量有効, 単価有効),
  IF(有効条件, B2*C2, "")
)

問題5

A2 に点数が入っています。
80以上→「優」、60〜79→「良」、40〜59→「可」、それ以外→「不可」
という評価を、
優条件・良条件・可条件 を LET で定義して IFS で返す式を書いてください。

=LET(
  優条件, A2>=80,
  良条件, AND(A2>=60, A2<80),
  可条件, AND(A2>=40, A2<60),
  IFS(
    優条件, "優",
    良条件, "良",
    可条件, "可",
    TRUE,   "不可"
  )
)

まとめ

LET は、複雑な条件式を 「意味のある名前」 で分解し、
式を 読みやすく・修正しやすく・壊れにくく するための強力な関数です。

  • 条件式を上で定義
  • 最後に組み合わせて判定
  • 日本語の名前で OK
  • IF / AND / OR / IFS と相性抜群

複雑な式ほど LET の効果は絶大です。

あなたが今使っている表の中で
「この式、長すぎて読めないな…」と思うものがあれば、
ぜひ LET で“可読化”してみてください。
Excel が一気に扱いやすくなります。

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