LETで処理手順に名前を付ける
中間値を保存して再利用し、長い数式を簡潔にします。
「LETで処理手順に名前を付ける」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
数式が複雑になったら
同じ計算を3回、4回と繰り返す長い数式を作ったことはありませんか。長い数式は読みづらく、再計算に時間がかかり、修正も大変です。
LET関数を使うと、この問題を解決できます。値や計算に名前を付け、その名前を数式内で何度も再利用できます。付箋に数値を書き留めて、同じ計算を繰り返さないようにするイメージです。
LETは最新のExcel(Microsoft 365およびExcel 2021)とGoogle Sheetsで利用できます。このレッスンでは、中間結果に名前を付け、複雑な数式を読みやすくする方法を学びます。
LETの構文
LETは、名前と値の組を繰り返し指定し、最後にそれらの名前を使った計算を指定する、シンプルな構成になっています。
- 1つ以上の名前を定義する
- 各名前に値を割り当てる
- 名前を使った結果を最後に指定する
最後の引数は、必ず結果を生成する計算になります。それより前はすべて名前と値の組です。
=LET(name1, value1, calculation_using_name1)最初のLET数式
1つの値に名前を付けてみましょう。セルA2に価格100が入力されているとします。この値にpriceという名前を付けて、2倍にできます。
ここではLETでpriceという名前を作成し、A2の値を割り当てています。最後の引数price*2でその名前を使うため、結果は200になります。
数式が長くなったとき、=A2*2と比べて読みやすいことに注目してください。名前を使うと、数値が何を意味するかを表現できます。
=LET(price, A2, price*2)計算の重複を避ける
LETの最大の利点は、何かを1回だけ計算して再利用できることです。税額を表示する場合と合計に加える場合のように、同じ税額が2回必要なケースを考えてみましょう。
LETを使わない場合は、A2*0.2を2か所に記述します。LETを使えば、taxという名前で1回だけ計算し、必要な場所ではtaxを参照できます。
乗算を1回しか行わないため処理が速くなり、意図を名前で表せるため数式も分かりやすくなります。
=LET(tax, A2*0.2, A2 + tax)複数の名前を定義する
LETでは、名前と値の組をいくつでも指定できます。最後の計算の前に追加していくだけです。新しい名前から、それより前に定義した名前を使うこともできます。
この例では、まずrate、次にbase、そしてその2つから計算するtaxを定義します。名前は上から順に評価されるため、taxでは、すでに定義されているrateとbaseを使用できます。
=LET(rate, 0.2, base, A2, tax, base*rate, base + tax)前の名前を使って名前を作る
このように名前を連鎖できることが、LETの強みです。複雑な数式を、文章のように読める小さな名前付きの手順に分解できます。
subtotal= 数量×価格discount= 小計×割引率- 結果 = 小計-割引額
各手順は、その直前の手順を参照しています。数式を読む人は、巨大な1つの式を解読するのではなく、行ごとに処理の流れを追えます。
=LET(subtotal, B2*C2, discount, subtotal*0.1, subtotal - discount)実践例:手取り額
手取り額を計算してみましょう。総支給額はB2、税率はC2に入力されています。総支給額から税額を引き、小数点以下2桁に丸めます。
grossという名前を付け、そこからtaxを計算し、最後に差額を丸めて返します。数式は長くても、それぞれの部分の役割が明確です。
=LET(gross, B2, tax, gross*C2, ROUND(gross - tax, 2))関数の結果に名前を付ける
LETの名前には、単純な計算結果だけでなく、任意の関数の結果を格納できます。これは、同じ検索を何度も行う必要がある場合に便利です。
ここではXLOOKUPで値を1回検索し、その結果をfoundとして保存してから確認します。検索に失敗した場合はメッセージを表示し、それ以外の場合はその値を使います。負荷の高い検索を実行するのは1回だけです。
=LET(found, XLOOKUP(A2, Items, Prices), IF(found="", "Not found", found*1.1))有効な名前のルール
LETで使う名前には、いくつかのルールがあります。
- 数字ではなく、英字またはアンダースコアで始める
- 空白は使えない(
unit priceではなくunit_priceを使う) A1やTAX1のようなセル参照に見える名前は使えない- 組み込み関数と同じ名前は使えない
total、rate、netのように、分かりやすい小文字の名前を使えば問題ありません。
Google SheetsでLETを使う
LETはGoogle Sheetsでも同じように使えます。構文、名前と値の組、最後の計算はすべて同じです。
つまり、LETで作成した数式はExcelとSheetsの間で移植できます。これは新しい関数としては珍しい特徴です。チームがMicrosoft 365を使っていてもGoogle Workspaceを使っていても、LETの記述方法は変わりません。
=LET(qty, A2, price, B2, qty*price)LETを使うタイミング
次のようなことに気付いたら、LETを使ってみましょう。
- 同じ部分式が2回以上登場している
- 数式が長く、各部分の役割を把握できなくなっている
- 時間のかかる検索や計算を1回だけ実行したい
=A2+B2のような短い数式にLETを使うのは、かえって大げさです。しかし、数式が同じ処理を繰り返し始めたら、LETによって短く、高速で、はるかに保守しやすくなります。
理解度チェック
LETの構成について、理解度を確認しましょう。
まとめ:LETで手順に名前を付ける
LETを使うと中間結果に名前を付けて再利用できるため、長い数式を読みやすく、高速にできることを学びました。
- 構文は、最後に計算を置いた名前、値の組の繰り返しです
- 後の名前から前の名前を使えます
- 計算は1回だけ行い、その名前を何度も参照できます
- 名前には空白、先頭の数字、セル参照のような文字列を使えません
- LETはExcelとGoogle Sheetsで同じように動作します
次はさらに一歩進み、LAMBDAを使って再利用可能な独自関数を定義します。
=LET(subtotal, B2*C2, discount, subtotal*0.1, subtotal - discount)AI チューターと学ぶ Excel — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「LETで処理手順に名前を付ける」レッスンは無料ですか?
はい。「LETで処理手順に名前を付ける」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「LETで処理手順に名前を付ける」で何を学びますか?
中間値を保存して再利用し、長い数式を簡潔にします。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「LETで処理手順に名前を付ける」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- LETで処理手順に名前を付ける
- LAMBDAでカスタム関数を定義する
- MAPとREDUCEで繰り返し処理を行う
- 名前付きLAMBDAで数式を整理する