数式内で変数が定義できるExcelのLET関数の使い方


Microsoft Excelで、数式内で変数を定義できる関数「LET関数」が2020年9月頃に追加されました。
Microsoft 365をご利用のユーザーは、バージョンを常に最新版に更新されていれば利用可能となります。
(macOS版では、展開される時期が遅くなるかと思います)

プログラミングでよくある変数の概念がExcelでも。
ただ、プログラミングと少し異なるのは、Excelでは数式内での変数の定義なる点です。

表計算を行う際、数式内で同じような処理をする場合には、変数で管理することで効率的に計算式を組むことが可能となります。

以下、LET関数の書式になります。

LET関数の書式
=LET(名前1,値1,計算式)

変数を複数定義する場合
=LET(名前1,値1,名前2,値2,[名前3,値3,…],計算式)


▼名前1
名前1では、変数名を設定します。
変数の名前には英文字、カタカナ、ひらがな、漢字、数字、アンダースコア(_)等が使用できます。
数字から始まるものやセルのアドレスは、名前として使用できません。

▼値1
値1では、変数で管理する値を設定します。
値は数値やセルの範囲、または数式となります。

▼計算式
指定された名前(変数)を使って計算式を設定します。
数式を計算し、式の結果をLET関数として返します。

名前1と値1で変数を定義して、定義した変数を使って計算式を設定する流れになります。
変数を複数定義して使っていく場合は、カンマ区切りで名前2,値2を定義していきます。


LET関数の利用


サンプルとして、支店別で見る売上の構成比率を求めてみたいと思います。

通常は売上合計を別セルでSUM関数を利用して計算し、各支店の合計から全体の売上合計を割って構成比率が求められます。
こちらをLET関数を利用することで、1つの計算式で手軽に求められます。

お使いのExcelのバージョンがLET関数に対応していれば、数式バーに「=LET(」まで入力すると、参考書式が表示され構文を確認できます。

以下のように、数式バーにLET関数を利用した計算式を入力します。

=LET(売上合計,SUM(F$3:F$7),F3/売上合計)

ExcelでのLET関数の利用



第1引数の変数名を「売上合計」として、第2引数の変数の値はSUM関数で求めた値とします。
売上合計の変数には全支店の合計となりますので、あとは第3引数で各支店の合計から全体の売上合計を割る計算式を設定して、各支店の構成比率を求めます。

オートフィル機能で書式をコピーしていく場合には絶対参照の「$」を利用すると良いでしょう。
サンプルでは各支店の構成比率を行を移動して書式をコピーしますので、アドレスの行番号を固定するため行の前に絶対参照を設定しております。

数式に絶対参照を利用して範囲を固定



最後の仕上げです。
LET関数で構成比率を求めることができましたので、オートフィル機能で各支店も書式をコピーして求めます。
数値の書式もパーセント表示や小数点以下の桁数の調整して完成です。

オートフィル機能とセルの書式設定



このように、LET関数を利用することで、変数でデータを管理して計算式に利用していくことができます。

ちなみに、LET関数を利用せずに今回の計算をすることもできます。

=(F3/SUM(F$3:F$7))



ただ、ある1つのセルの数式バーにおいて、何度も同じ数値やセルの範囲または数式が必要になる場合は、LET関数で変数としてデータを管理する方が効率的です。

Excelのバージョンを確認のうえ、LET関数を使ってみてください。