Excel Formulas Academy · レッスン

LETで処理手順に名前を付ける

中間値を保存して再利用し、長い数式を簡潔にします。

レッスン 1/413 ステップ

「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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. LETで処理手順に名前を付ける
  2. LAMBDAでカスタム関数を定義する
  3. MAPとREDUCEで繰り返し処理を行う
  4. 名前付きLAMBDAで数式を整理する
← Excel Formulas Academyに戻る