Excel関数 逆引き集 | 処理可読性向上 → LET

Excel
スポンサーリンク

概要

Excel の数式が長くなると、
「どこが何をしているのか分からない」
「同じ計算を何度も書いていてミスしやすい」
という問題が必ず出てきます。

こうした “数式の可読性を上げる” ために登場したのが LET 関数です。

LET は、
「一度計算した値に名前を付けて再利用する」
という仕組みを Excel に持ち込みます。
プログラミングでいう「変数」を使えるようになるイメージです。

ここでは、初心者でも理解しやすいように、
LET の基本・テンプレート・実務的な使い方を例題つきで丁寧に解説します。


LET 関数の基本

LET の構文

=LET(名前1, 値1, 名前2, 値2, ..., 最終的に返す式)

ポイントは次の3つです。

  1. 名前(変数)を定義できる
  2. 定義した名前は後続の式で何度でも使える
  3. 最後の式が LET 全体の結果になる

たとえば、A2 の値を 2 回使う式を LET なしで書くと:

=(A2*2) + (A2*3)

LET を使うとこう書けます。

=LET(x, A2, (x*2) + (x*3))

A2 を x として一度だけ定義し、後は x を使うだけ。
これだけで 読みやすさ・修正のしやすさが段違い になります。


LET のメリット

可読性が上がる

長い式でも「名前」を付けることで意味が分かりやすくなります。

同じ計算を何度も書かなくてよい

A2 の TRIM を何度も書く必要がなくなります。

修正が一か所で済む

「計算ロジックを変えたい」とき、変数の定義部分だけ直せばOK。


基本パターン:前処理を変数化する

例:A2 の前後スペースを削除し、

その文字数と先頭2文字を使う式

LET を使わない場合:

=LEN(TRIM(A2)) & "-" & LEFT(TRIM(A2),2)

TRIM(A2) を2回書いていて読みにくいです。

LET を使うと:

=LET(
 cleaned, TRIM(A2),
 LEN(cleaned) & "-" & LEFT(cleaned,2)
)
  • cleaned = TRIM(A2)
  • cleaned を後続の式で再利用

という構造になり、圧倒的に読みやすくなります。


応用1:複雑な計算式を分解する

例:売上の計算

売上 = 数量 × 単価 × (1 + 税率)

LET なし:

=(B2*C2)*(1+D2)

LET あり:

=LET(
 qty, B2,
 price, C2,
 tax, D2,
 qty * price * (1 + tax)
)

「qty」「price」「tax」と名前が付くことで、
式の意味が一目で分かります。


応用2:文字列処理の共通部分を変数化

例:A2 の文字列を

  • 前後スペース削除
  • 小文字化
  • その文字数と末尾3文字を返す

LET なし:

=LEN(LOWER(TRIM(A2))) & "-" & RIGHT(LOWER(TRIM(A2)),3)

LET あり:

=LET(
 cleaned, LOWER(TRIM(A2)),
 LEN(cleaned) & "-" & RIGHT(cleaned,3)
)

cleaned を使い回すことで、
式が短くなり、修正も簡単になります。


応用3:複雑な条件式を整理する

例:

  • A2 の前処理済み文字列を cleaned
  • cleaned が「OK」なら 1
  • cleaned が「NG」なら 0
  • それ以外は -1

LET なし:

=IF(LOWER(TRIM(A2))="ok",1,IF(LOWER(TRIM(A2))="ng",0,-1))

LET あり:

=LET(
 cleaned, LOWER(TRIM(A2)),
 IF(cleaned="ok",1,IF(cleaned="ng",0,-1))
)

条件式の読みやすさが大幅に向上します。


応用4:複数の中間計算を整理する

例:

  • A2 の値を2倍した値を x
  • x に 5 を足した値を y
  • y を 3 で割った値を返す
=LET(
 x, A2*2,
 y, x+5,
 y/3
)

計算の流れが明確になり、
「何をしている式なのか」がすぐ分かります。


LET のテンプレート集

前処理を変数化するテンプレート

=LET(
 cleaned, TRIM(A2),
 最終式(cleaned)
)

数値計算を分解するテンプレート

=LET(
 a, A2,
 b, B2,
 c, C2,
 a + b * c
)

文字列処理の共通化テンプレート

=LET(
 s, LOWER(TRIM(A2)),
 LEFT(s,3) & "-" & RIGHT(s,3)
)

条件式を読みやすくするテンプレート

=LET(
 v, TRIM(A2),
 IF(v="OK",1,IF(v="NG",0,-1))
)

例題

問題1

A2 の前後スペースを削除した値を cleaned として定義し、
その文字数を返す LET 式を書いてください。

=LET(
 cleaned, TRIM(A2),
 LEN(cleaned)
)

問題2

A2 の値を x として定義し、
x の 2 倍と 3 倍の合計(= x2 + x3)を返す LET 式を書いてください。

=LET(
 x, A2,
 x*2 + x*3
)

問題3

A2 の文字列を小文字化した値を s として定義し、
s の先頭2文字と末尾2文字を結合して返す LET 式を書いてください。

=LET(
 s, LOWER(A2),
 LEFT(s,2) & RIGHT(s,2)
)

問題4

A2 の値を base として定義し、
base×1.1 の結果を返す LET 式を書いてください。

=LET(
 base, A2,
 base * 1.1
)

問題5

A2 の前処理済み文字列(TRIM+LOWER)を cleaned として定義し、
cleaned が “ok” なら 1、”ng” なら 0、それ以外は -1 を返す LET 式を書いてください。

=LET(
 cleaned, LOWER(TRIM(A2)),
 IF(cleaned="ok",1,IF(cleaned="ng",0,-1))
)

LET は「数式を読みやすくする」「修正しやすくする」ための強力な武器です。
一度使い始めると、複雑な式を書くときのストレスが一気に減ります。
ぜひ、あなたの Excel でも“変数を使う感覚”を取り入れてみてください。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました