Excel。関数内で名前の定義をして可読化UPのLET関数
<LET関数>
複雑な数式の場合、数式内に、同じ文字が繰り返しつかわれていることがあります。
例えば、次のような場合です。
C2の数式は、
=IFS(B2:B11>=80,"A",B2:B11>=70,"B",B2:B11>=50,"C",B2:B11>=40,"D",TRUE,"E")
というIFS関数をつかったAからEの判定をする数式を設定しました。
この数式は、スピル機能に対応しているので、オートフィルで数式をコピーする必要はありません。
この数式をみると、B2:B11 という文字列が何度も登場しています。
そこで、このB2:B11を、通常の名前の定義ではなくて、数式内で名前の定義ができるLET関数をつかって修正したいと思います。
この程度の数式ならば、このままIFS関数でもいいですし、通常の名前の定義でもいいと思いますが、MOSの出題範囲ということで、LET関数をつかってみました。
LET関数は、数式にも名前の定義ができますので、通常の名前の定義よりも、数式としては使い勝手がいいかもしれません。
では、LET関数をつかって、置き換えてみます。
LET関数を使った数式は、
=LET(判定,B2:B11,IFS(判定>=80,"A",判定>=70,"B",判定>=50,"C",判定>=40,"D",TRUE,"E"))
数式自体の文字数はあまり変わってはいませんが、B2:B11を「判定」と定義したことで、IFS関数の引数では、可動性が改選されています。
このLET関数の引数を確認しておきましょう。
最初の引数は、名前です。
「判定」という名前を定義しました。
2つ目の引数は、名前値です。
名前で定義した、範囲や数式などを設定します。今回は、B2:B11。
3つ目は、計算または名前2です。
計算式なので、今回はIFS関数の箇所となっております。
LET関数は、Office2021から登場した関数なので、新しい関数ですが、MOS Excel365Expertの出題範囲のため、押さえておくといいかもしれませんね。
また、現場では、とても長い数式を置き換えることで、LET関数が活躍すると思われます。