Excelに変数を定義できるLET関数が追加されるらしいぞ

2020/3/18 ExcelにLET関数という「数式内で変数を定義する関数」が追加されるらしいので使い方を調査するとともに、関連ツイートを収集しました。
152

関連記事

リンク TECHCOMMUNITY.MICROSOFT.COM Announcing LET Have you ever had to repeat the same expression multiple times within a formula, created a mega formula or wished that you had a way to reuse portions of your formula for easier consumption? With the addition of the LET function, now you can! Introducing 7
  • Microsoft 公式ブログで 米国時間 2020年3月18日 Excelの新関数「LET()」発表
  • 可読性とパフォーマンスを高めたとのこと
  • 既にOffice InsiderのInsiderチャネルで利用可能
  • 正式リリースは2020年後半の予定

LET関数とは・・・

リンク support.office.com LET 関数 LET関数は、計算結果に名前を割り当てます。 これにより、1つの数式内で中間計算、値、または名前を定義できます。 これらの名前は、LET 関数のスコープ内にのみ適用されます。 プログラミングの変数に似ていますが、Excel のネイティブ式構文を使って実現します。 4

"SUM (x, 1)" という単純な式 (x は値を割り当てることができる名前付きの変数) を検討してください (この場合、x には値5が割り当てられます)。
この数式をセルに入力すると、値6が返されます。
= LET (x, 5, SUM (x, 1))

セルの中でのみで有効な「名前定義」と同じ使い勝手でした。
プログラミングで言う再代入不可能なローカル変数という感じです。

LET関数という名称は、lisp や FileMaker などではお馴染みとのこと

LET関数の利用例

ちゅん🐣VBAer @KotorinChunChun

例えば、下図のような数学の公式。 a,b,cをグローバルな名前定義をする必要がなくなったので、気軽にこう書ける。 数式で本当にやりたいことに集中できる。 #LET関数 pic.twitter.com/Ez76PKMeCt

2020-03-22 11:43:33
拡大
ちゅん🐣VBAer @KotorinChunChun

#LET関数 の利用例① 参照先のセルの記述が1回だけになることで、修正漏れをなくす事ができます。 pic.twitter.com/LjBRYjkuGn

2020-03-20 01:10:36
拡大
ちゅん🐣VBAer @KotorinChunChun

#LET関数 の利用例② 再帰的に関数を入れ子にし続けるような式では、その都度変数に代入することで、数式の ・可読性 ・修正 が容易になります。 ※Alt+Enterによる改行とインデント推奨 pic.twitter.com/exeGwOD0z5

2020-03-20 01:30:48
拡大
ちゅん🐣VBAer @KotorinChunChun

#LET関数 の利用例③ Microsoft Blogより 共通の数式を変数に格納することで1回にすることができます。 昨今の配列関数のように負荷をかけやすい関数を重複して記載する必要がなくなり、処理速度が向上します。 pic.twitter.com/Mq22EzeF3t

2020-03-20 01:57:43
拡大
ちゅん🐣VBAer @KotorinChunChun

#LET関数 の利用例④(修正版) Excelでひらがなとカタカナを変換する数式を作ってみた excel-chunchun.com/entry/hiragana… より 配列を維持するためのINDEXが不要となりました。 これにより、配列が解除されてしまう悩みのタネから開放されました。 pic.twitter.com/XxALPivan5

2020-03-20 09:32:53
拡大
リンク えくせるちゅんちゅん Excelでひらがなとカタカナを変換する数式を作ってみた - えくせるちゅんちゅん ネットで情報収集していたら、ふと「ひらがなをカタカナに変換したい。」という文字が見えた。 最近、文字列処理の関数ばかり見ていた私はCONCATを使えば出来るとピンと来たため、お盆休み最後の全ての予定を放り投げて早速作ってみることにした。 3 users
ちゅん🐣VBAer @KotorinChunChun

#LET関数 の利用例④(汎用化バージョン) ひらがなとカタカナの双方向変換が出来るようにしてみた。 pic.twitter.com/4U5etPjHAG

2020-03-20 12:08:58
拡大

はてブのコメントで頂いた利用例(2020/3/19 21:00追記)

sgo2 vlookupの結果から別のvlookupの結果で得た文字数を削るとかいう良くあるパターンがこう書ける

let(
a,vlookup(省略),
b,vlookup(省略),
mid(a,b,len(a)-b)
)
やましー@データ活用クラウドエンジニア&筋トレ中 @yamashi18041

Excel for O365でLET関数が実装されたようですね 一つの関数内で変数のように置き換えができます シート名取得 =RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))) ↓ =LET(fn, CELL("filename",A1), RIGHT(fn,LEN(fn)-FIND("]",fn))) support.office.com/ja-jp/article/…

2020-03-19 20:52:32
Tomohiro Nakamura @tomohiroson

と言いながら、LET関数のユースケースを考えてみた。 vlookupとかIFの処理量の多い関数を反復して使う場合には、一度定義することで計算が省略されて早くなる。 データ量が多くなる場合には有効やな。 =If(vlookup(A)>10000,vlookup(A)*0.9, vlookup(A)) ↓ =let(a,vlookup(A),if(a>10000,a*0.9,a)) twitter.com/tomo_icare/sta…

2020-03-19 23:16:16
風柳 @furyutei

LET関数を使って、擬似的なSPLIT関数を作ってみた。 予想通り便利だ、LET関数…! 数式内にHELPも書けるぞ…← #Excel pic.twitter.com/RY14nQU9YA

2020-03-20 07:56:46
拡大

まとめ

  • 同一のセル参照を2回書く必要がなくなった
  • 同一の数式を2回書く必要がなくなった
  • 数式のネストが不要となり可読性が格段に向上した
  • 数式の戻り値を配列に強制することが容易となった
  • (非公式運用だが)数式にコメントを入れるのが簡単になった

その他の反応

しょうた⭐️Excel改造で業務効率化するが会社に理解されない経理マン @shota_Excellent

なんか難しくて、いまひとつ使いどころがわからない。 Excelの生産性を高める新関数LET()が登場 #SmartNews news.mynavi.jp/article/202003…

2020-03-18 18:48:49
エクセルの神髄 @yamaoka_ss

「Excelの生産性を高める新関数LET()が登場」 news.mynavi.jp/article/202003…

2020-03-18 19:12:29
1 ・・ 7 次へ