いまさら聞けないExcelの使い方講座
【Excel】LET関数って何? Copilotが作った数式を読み解くことでスキルアップ!
2026年10月14日 08:03
AIに説明してもらうだけで、数式を修正できる?
複雑な処理が必要になった時、まずはCopilotに相談する人も多いでしょう。複数の関数の組み合わせを自分で考えなくても、目的の結果を得られる数式を提案してもらえます。
Copilotを使い慣れてくると、具体的な条件も伝えられるようになるでしょう。
以下は、現在庫数、1日平均出庫数、入荷までの日数、安全在庫日数から、発注数量を自動計算できる数式をCopilotに作成してもらった結果です。
Copilotに指定したルールは以下の通りです。発注数量を求める計算自体も、出力時の条件分岐も特別なものではありません。
- 必要在庫数は、1日平均出庫数×(入荷までの日数+安全在庫日数)で求める
- 不足数は、必要在庫数から現在庫数を引いて求める
- 不足数がプラスの場合は、10個単位で切り上げて発注数量とする。不足しない場合は0とする
- 必要な項目に未入力がある場合は空欄を表示する
しかし、Copilotが作成した数式は長く、見慣れないLET関数も含まれています。もちろん、「この数式を解説して」と聞けば説明してくれます。しかし、説明を読むだけで仕組みを理解できるでしょうか。後から数式を修正するとなると、どこを変更すればよいのか迷うこともあります。
特にLET関数は、数式内の値や計算結果に自分で名前を付けられる、活用範囲の広い関数です。今回は、Copilotに作成してもらった数式を読み解き、少し変更してみることで、LET関数の仕組みを理解していきましょう。
LET関数は計算の途中に名前を付けられる
Copilotが提案した数式を確認してみましょう。文章にまとめると難しいルールはありませんが、数式は複雑に見えます。ここでは、読みやすいように計算の区切りで改行しています。
=LET(
missingInput,OR(C2="",D2="",E2="",F2=""),
requiredStock,D2*(E2+F2),
shortage,requiredStock-C2,
orderQty,IF(shortage>0,CEILING.MATH(shortage,10),0),
IF(missingInput,"",orderQty)
)
数式を見てみると、「missingInput」や「requiredStock」といった関数名とは異なる英単語が含まれています。これらは値や計算結果に付ける名前で、LET関数の特長です。ここでは、Copilotが計算内容に合わせて名前を付けています。
- missingInput:必要な項目に空欄があるかどうかの判定結果
- requiredStock:必要在庫数(1日平均出庫数×(入荷までの日数+安全在庫日数))
- shortage:不足数(必要在庫数-現在庫数)
- orderQty:発注数量(不足数があれば10個単位に切り上げる)
例えば、「requiredStock,D2*(E2+F2)」では、「D2*(E2+F2)」の計算結果に「requiredStock」という名前を付けています。このように、LET関数では「名前」と「値や計算式」をセットで指定します。名前は「変数」とも呼ばれますが、ここでは「数式の中で値や計算結果を表す名前」と理解しておけば十分です。
「shortage,requiredStock-C2」では、「requiredStock」から現在庫数を引いています。一度付けた名前は、後の計算でも使えます。
最後にある「IF(missingInput,"",orderQty)」は、数式全体の結果を返す部分です。必要な項目に空欄があれば空欄を表示し、そうでなければ「orderQty」で求めた発注数量を表示します。
LET関数では、名前と計算式を順番に定義し、最後に結果を返す計算式を指定します。この構造に注目すると、数式全体の流れも理解しやすくなります。
なお、LET関数で付けた名前は、そのLET関数の中だけで使用します。ほかのセルから直接参照することはできません。
計算ルールを変更して理解を深めよう
LET関数の基本的な仕組みがわかったところで、数式を変更してみましょう。例えば、「入荷予定数」列を追加するとします。近日中に届く商品があるなら、入荷予定数も考慮して発注数量を求めたいところです。この場合、LET関数のどの部分を変更すればよいでしょうか。
不足数は「必要在庫数-現在庫数」で求めて、「shortage」という名前を付けていました。入荷予定数も考慮するなら、必要在庫数から現在庫数と入荷予定数を引くように変更します。
shortage,requiredStock-C2-G2
後続の式で使われている「orderQty」は「shortage」を参照しているため、発注数量の計算式そのものを変更する必要はありません。
また、入荷予定数が未入力の場合も空欄を表示するように、「missingInput」の判定に条件を追加します。変更後の数式は次のようになります。
=LET(
missingInput,OR(C2="",D2="",E2="",F2="",G2=""),
requiredStock,D2*(E2+F2),
shortage,requiredStock-C2-G2,
orderQty,IF(shortage>0,CEILING.MATH(shortage,10),0),
IF(missingInput,"",orderQty)
)
例えば、9行目の現在庫数は180です。必要在庫数は240(20×(7+5))なので、元の計算では発注数量が60でした。しかし、入荷予定数が30あるため、新しい発注数量は30となっています。
今回は「shortage」と「missingInput」の2カ所の計算内容を変更するだけで、新しい条件に対応できました。計算内容に名前が付いているため、修正する箇所を見つけやすいのもLET関数のメリットです。
もちろん、数式の変更をCopilotに頼むこともできますが、名前の意味を理解していれば、どこを修正すればよいかも判断しやすくなります。



















![1冊ですべて身につくHTML & CSSとWebデザイン入門講座[第2版] 製品画像:5位](https://m.media-amazon.com/images/I/51skMJ-OVcL._SL160_.jpg)




