Excelの数式が長くなると、同じ計算が何度も登場したり、途中の値が何を表しているのかわからなくなったりします。
そんなときに役立つのが、計算の途中結果に名前を付けられるLET関数です。
Copilotが提案した数式にLET関数が使われていても、仕組みを知っていれば、数式をそのまま受け入れるのではなく、自分で意味を確かめたり、条件に合わせて修正したりできます。
LET関数とは?数式の途中に名前を付ける機能
LET関数は、数式の中で使う値や計算結果に名前を付け、最後にその名前を使って最終結果を求める関数です。
いわば、数式の中だけで使える一時的な変数を作る機能で、セルに補助計算を並べなくても処理を整理できます。
基本の書式
LET関数の基本形は、名前と値の組み合わせを並べ、最後に計算式を指定する形です。
=LET(名前1, 値1, [名前2, 値2, ...], 最終計算式)
最初に名前を指定し、次にその名前へ割り当てる値を指定します。
名前と値は必要な数だけ組にして追加でき、最後の引数には名前を使った計算式を置きます。
角括弧で囲まれた引数は省略可能ですが、最後の計算式は省略できません。
| 引数 | 役割 | 例 |
|---|---|---|
| 名前 | 値や計算結果を参照するためのラベル | subtotal |
| 値 | 名前に割り当てる数値、セル参照、計算式など | B2*C2 |
| 最終計算式 | 定義した名前を使って返す結果 | subtotal*(1-discount) |
例題で理解するLET関数の読み方
割引後の金額を求める
たとえば、B2に単価、C2に数量、D2に割引率が入力されているとします。
=LET(price, B2, qty, C2, rate, D2, price*qty*(1-rate))
この式は、B2の値にprice、C2の値にqty、D2の値にrateという名前を付けています。
最後のprice*qty*(1-rate)が、単価と数量を掛けた小計から割引分を差し引く計算です。
たとえば単価が1,000円、数量が3、割引率が10%なら、結果は2,700円になります。
同じ計算を繰り返す式を整理する
売上から手数料を引いた金額を求める場合、売上額と手数料額を名前に分けると、式の意味が追いやすくなります。
=LET(sales, B2*C2, fee, sales*D2, sales-fee)
この式では、B2とC2の積をsales、売上額にD2の手数料率を掛けた値をfeeとして定義しています。
最後に売上額から手数料額を差し引くため、式の各部分が業務上の意味と結び付きます。
長い数式を段階に分ける
たとえば、商品ごとの税込金額を求める式なら、「税抜金額」「消費税額」「税込金額」の順に名前を付けて整理できます。
=LET(net, B2*C2, tax, net*E2, net+tax)
こうして計算の段階を分けると、数式を読む人が処理の流れを把握しやすくなります。
税率を変更するときも、税率を参照するセルを確認しやすくなり、式の修正箇所を見つける助けになります。
Copilotが作ったLET関数を読み解く手順
Copilotに数式を提案してもらったときは、結果だけでなく、各名前が何を意味しているかを順に確認しましょう。
LET関数の冒頭から、名前と値の組み合わせを順番に抜き出します。
各値がセル参照なのか、計算式なのか、別の関数の結果なのかを確認します。
最後の引数を見て、定義した名前がどのように組み合わされているかを追います。
実際のデータで計算結果を検算し、期待する条件が数式に含まれているかを確かめます。
名前がxやtempのように曖昧な場合は、subtotalやtaxRateのような意味の伝わる名前に置き換えると、後から見直しやすくなります。
Copilotの提案は、意図した条件やデータ範囲を正しく反映しているとは限らないため、結果の確認は欠かせません。
特に、空白セル、エラー値、負の数、境界値を含むデータでも正しく動くかを試すと、見落としを発見しやすくなります。
LET関数を使うメリット
数式の意味が伝わりやすくなる
セル番地や計算式が何度も出てくる数式でも、意味のある名前を付ければ、処理の意図を読み取りやすくなります。
引き継ぎや監査の際にも、計算の根拠を説明しやすくなる点が利点です。
同じ計算の重複を減らせる
同じ式を複数回書く代わりに、LET関数で一度だけ名前に割り当てれば、数式の重複を抑えられます。
Excelが同じ計算を繰り返さずに済むケースもあるため、複雑な数式の効率改善につながる可能性があります。
ただし、LET関数を使えば常に大幅に高速化するわけではなく、ブック全体の構成や計算内容によって効果は異なります。
セルを増やさずに途中結果を扱える
途中計算を確認するために補助列を追加する方法もありますが、LET関数なら一つの数式内で値を整理できます。
補助列が不要になることで、表の見た目や管理方法を保ちやすくなる場合があります。
利用時の注意点とエラーへの対処
名前は分かりやすく、セル参照と混同しないものにする
LET関数で定義する名前は、数式内で値を区別するためのものです。
セル番地のように見える名前や、既存の名前と紛らわしい名前は避け、用途が分かる表記を選びましょう。
名前に空白を含めることはできないため、単語をつなげる場合はnetSalesやtax_rateのような形式が便利です。
名前と値の順序を確認する
名前と値の組み合わせが崩れると、意図しない値に名前が割り当てられたり、数式がエラーになったりします。
引数の区切り記号はExcelの地域設定によって異なり、カンマではなくセミコロンを使う環境もあります。
入力時にエラーが表示される場合は、数式バーにあるほかの関数の区切り方と同じ記号を使っているか確認してください。
対応するExcelのバージョンを確認する
LET関数を利用できないExcelのバージョンでは、関数名が認識されず、#NAME?などのエラーになることがあります。
ファイルを共有する場合は、受け取る人のExcelでもLET関数が利用できるかを確認しましょう。
また、LET関数の中で使う関数自体が相手の環境に対応していなければ、数式全体が正しく動作しない可能性があります。
まとめ
LET関数は、数式の途中結果に名前を付け、複雑な計算を読みやすく整理するための機能です。
Copilotが作成した数式も、名前と値の組み合わせ、そして最後の計算式に分けて見れば、処理の流れを理解しやすくなります。
名前の意味、計算条件、実際の結果を自分で確かめることが、LET関数を安全に活用するポイントです。
