エクセル入門
イータ縮小ラムダ(eta reduced lambda)

Excelの初心者向け入門解説
公開日:2023-11-20 最終更新日:2023-11-21

イータ縮小ラムダ(eta reduced lambda)


LAMBDAヘルパー関数のLAMBDA関数の記述部分を縮小記述するものです。


明示的にLAMBDA関数を記述する場合に比べてイータ縮小ラムダは記述が短く扱いやすくなっています。
もちろん明示的にLAMBDA関数を記述しても構いませんが、
イータ縮小ラムダの記述が可能な場合は極力使うようにすることで数式も短く見やすくなります。


LAMBDAヘルパー関数

LAMBDAヘルパー関数では、イータ縮小ラムダの記述ができます。
MAP関数
MAP関数はLAMBDAヘルパー関数(LAMBDAと一緒に使う)の一つです。配列にLAMBDAを適用して新しい値を作成することにより、配列内の各値を新しい値にマッピング(元配列に対して異なるデータを割り当て)して形成された配列を返します。MAP関数はLAMBDAヘルパー関数なので、LAMBDAについては別途習得して…
REDUCE関数
・REDUCE関数の構文 ・REDUCEの基本動作 ・REDUCE関数の使用例と解説 ・初期値に配列を指定した場合 ・[初期値]を省略した時の動作
SCAN関数
・SCAN関数の構文 ・SCANの基本動作 ・SCAN関数の使用例と解説 ・[初期値]を省略した時の動作
BYROW関数
・BYROW関数の構文 ・BYROWの基本動作 ・BYROW関数の使用例と解説
BYCOL関数
・BYCOL関数の構文 ・BYCOLの基本動作 ・BYCOL関数の使用例と解説
MAKEARRAY関数
・MAKEARRAY関数の構文 ・MAKEARRAYの基本動作 ・MAKEARRAY関数の使用例と解説

365 Insiderにイータ縮小ラムダと一緒にリリースされた関数。
GROUPBY関数
GROUPBY関数は、行(縦)でグループ化し指定された関数によって値を集計します。行(縦)の軸に沿ったグループ化と、関連する値の集計がサポートされます。複数の行グループレベルに対応しています。総計・小計、並べ替え、フィルター処理もサポートされています。
PIVOYBY関数
PIVOTBY関数は、行(縦)と列(横)でグループ化し指定された関数によって値を集計します。行(縦)と列(横)の2軸に沿ったグループ化と、関連する値の集計がサポートされます。複数の行グループレベル、複数の列グループレベルに対応しています。


イータ縮小ラムダ関数

LAMBDAヘルパー関数の入力で、
引数「関数」の箇所において候補表示される関数は以下になります。

エクセル Excel LAMBDA関数 イータ縮小ラムダ(eta reduced lambda)
エクセル Excel LAMBDA関数 イータ縮小ラムダ(eta reduced lambda)
SUM
AVERAGE
MEDIAN
COUNT
COUNTA
MAX
MIN
PRODUCT
ARRAYTOTEXT
CONCAT
SRDEV.S
STDEV.P
VAR.S
VAR.P
MODE.SNGL


しかし候補表示されない関数でもイータ縮小ラムダが使えるようです。
AND
OR
XOR
SUMPRODUCT
AVEDEV
AVERAGEA
PHONETIC

上記以外にもまだまだあります。
まだまだあるというより、全ての関数をイータ縮小ラムダとして使用できます。
ただし、LAMBDAヘルパー関数の中で使う関数として役に立たない・引数が合わなくて使えない関数がほとんどだと言うだけです。

イータ縮小ラムダ関数の検証

=IF(1,関数)(引数)

この「関数」の部分に存在する関数を片っ端から入れていくと・・・
引数さえ適切に指定すれば、確認した範囲内では全ての関数が使用できました。

=IF(1,TODAY)()
=IF(1,ABS)(1)
=IF(1,EDATE)(TODAY(),2)
=IF(1,VLOOKUP)(1,G:H,2,FALSE)

このように引数を正しく与えればどの関数も動作しました。
とはいえ、実際の使い道があるかというと・・・
LAMBDAヘルパー関数で使うには、関数の目的やその関数が配列を引き受けられるかどうかとか、それなりに制限はあります。

関数の書式で、
=関数(数値1, 数値2, 数値3,...)
=関数(文字列1, 文字列2, 文字列3,...)
=関数(参照)
このような関数であれば、どのような場面でも大抵は使えるはずです。

※今回のアップデートで追加された「イータ縮小ラムダ」は非常に大きな変革と言えます。

イータ縮小ラムダ関数が使える場所

LAMBDAヘルパー関数の引数で、
エクセル Excel LAMBDA関数 イータ縮小ラムダ(eta reduced lambda)
エクセル Excel LAMBDA関数 イータ縮小ラムダ(eta reduced lambda)
このように、
lambda
function
これらの引数は今まではLAMBDA関数を書く場所でしたが、
LAMBDA関数の代わりにイータ縮小ラムダを書くことが出来ます。

さらに、LAMBDAヘルパー関数以外でも使用できます。
もちろんどこでも記述できるわけではなく、記述できる場所の制限はあります。
以下のLAMBDAが使える場所ではイータ縮小ラムダも使えます。 ただしLAMBDAヘルパー関数もしくはLET関数以外で使用するのは可読性の点からは慎重にするべきだと思います。


イータ縮小ラムダ 使用例と解説

明示的にLAMBDA関数を使って記述した場合、
=ヘルパー関数(...,LAMBDA(x,○○○(x)))
これをイータ縮小LAMBDAを使って記述すると、
=ヘルパー関数(...,○○○)
このように縮小簡略化した記述にすることが出来ます。

この○○○の部分が、
イータ縮小ラムダ
であり、使用できる関数は前節に挙げた一覧になります。

ヘルパー関数ごとにLAMBDAの引数の数も違いますので、
SUM関数を例にして、以下でヘルパー関数ごとに明示的LAMBDAとイータ縮小ラムダを例示します。

MAP

エクセル Excel LAMBDA関数 イータ縮小ラムダ(eta reduced lambda)

=MAP(A1:A5,B1:B5,AVERAGE)
↓以下と同じ
=MAP(A1:A5,B1:B5,LAMBDA(x,y,AVERAGE(x,y)))

REDUCE

エクセル Excel LAMBDA関数 イータ縮小ラムダ(eta reduced lambda)

=REDUCE(0,A1:A5,SUM)
↓以下と同じ
=REDUCE(0,A1:A5,LAMBDA(x,y,SUM(x,y)))

SCAN

エクセル Excel LAMBDA関数 イータ縮小ラムダ(eta reduced lambda)

=SCAN(0,A1:A5,SUM)
↓以下と同じ
=SCAN(0,A1:A5,LAMBDA(x,y,SUM(x,y)))

BYROW

エクセル Excel LAMBDA関数 イータ縮小ラムダ(eta reduced lambda)

=BYROW(A1:B5,SUM)
↓以下と同じ
=BYROW(A1:B5,LAMBDA(x,SUM(x)))

BYCOL

エクセル Excel LAMBDA関数 イータ縮小ラムダ(eta reduced lambda)

=BYCOL(A1:C4,SUM)
↓以下と同じ
=BYCOL(A1:C4,LAMBDA(x,SUM(x)))

MAKEARRAY

エクセル Excel LAMBDA関数 イータ縮小ラムダ(eta reduced lambda)

=MAKEARRAY(5,3,SUM)
↓以下と同じ
=MAKEARRAY(5,3,LAMBDA(x,y,SUM(x,y)))

GROUPBY

エクセル Excel LAMBDA関数 イータ縮小ラムダ(eta reduced lambda)

=GROUPBY(A1:A6,B1:B6,SUM)
↓以下と同じ
=GROUPBY(A1:A6,B1:B6,LAMBDA(x,SUM(x)))
※GROUPBYのLAMBDAには第2引数が存在しますが、これがイータ縮小ラムダのSUMには渡されていません。

PIVOYBY

エクセル Excel LAMBDA関数 イータ縮小ラムダ(eta reduced lambda)

=PIVOTBY(B1:B19,A1:A19,C1:C19,SUM)
↓以下と同じ
=PIVOTBY(B1:B19,A1:A19,C1:C19,LAMBDA(x,SUM(x)))
※PIVOTBYのLAMBDAには第2引数が存在しますが、これがイータ縮小ラムダのSUMには渡されていません。




同じテーマ「エクセル入門」の記事

LAMBDA以降の新関数の使用例

・2つの1次元配列から、それをクロス結合した結果を返す ・A列が同じ行のB列の値を連結して、A列の一意な値とともに出力 ・名前定義を使わずにLAMBDA関数で再帰する方法 ・文字列を大文字小文字変換して大小文字の全組み合わせを出力 ・2つのテーブルの片方しかない行を縦に連結出力 ・3連単、3連複のフォーメーション買目を全て列挙する ・FILTER関数の出力行数・列数を指定する ・月が縦で日が横の表を、曜日(7列)で縦に折り返す ・文字列内の括弧()()の中の文字を取り出して列挙 ・表内にあるセル内改行を複数行に展開 ・文字列の中から1文字削除の全パターン出力 ・クロスABC分析 ・月利が毎月変動する月複利の計算 ・レーベンシュタイン距離 ・文字列を数字と数字以外で分割 ・縦横スピルしないXLOOKUP代替(MATCH+INDEX,FILTER,CHOOSEROWS) ・直積(クロス結合、…
縦横スピルしないXLOOKUP代替(MATCH+INDEX,FILTER,CHOOSEROWS)
・出題のツイート ・解答ツイート ・INDEX+MATCH ・FILTER+MATCH ・CHOOSEROWS+MATCH ・無理矢理XLOOKUPを使ってみたら… ・総評
直積(クロス結合、交差結合)とピボット解除
LAMBDA以降の新関数の練習問題をツイッターで出題しています。今回は、直積(クロス結合、交差結合)の作成とピボット解除についての2問です。LAMBDA以降の新関数について LAMBDA以降の新関数の使用例・2つの1次元配列から、それをクロス結合した結果を返す・A列が同じ行のB列の値を連結して、A列の一意な値ととも…
複数の文字列を検索して置換するSUBSTITUTE
・SUBSTITUTEのネスト ・TEXTSPLIT+CONCAT(またはTEXTJOIN) ・REDUCE+SUBSTITUTE ・複数の「検索文字列」「置換文字列」の実用例
LAMBDA以降の新関数の問題集
・目次 ・LAMBDA踊るぞ編 ・LAMBDA踊るぞ編2 ・SCAN編 ・MAP編 ・REDUCE編 ・山手線営業の旅編 ・BYROW,BYCOL編 ・ここからはフリー問題だよ編 ・好きな関数を使ってくれ編 ・いろんな関数を使ってね編 ・魔球編 ・豚が木に登れば落ちることもある編 ・たまには100点とってみたいものだ編 ・これは何と言う処理なんだろ編 ・数字は嫌いなのだ編 ・外堀から埋めていくぞ編 ・なぜわざわざそうしたいのか編 ・かっこつけてんじゃないよ編 ・頭の体操だけど新関数の出番はあるか?編 ・定番だけど出してなかったよね編
LAMBDA以降の新関数の問題と解説(ヘルパー関数編)
・LAMBDA踊るぞ編 ・LAMBDA踊るぞ編2 ・秋華賞ガミったぞ記念編 ・MAP編 ・REDUCE編 ・山手線営業の旅編 ・BYROW,BYCOL編
LAMBDA以降の新関数の問題と解説(配列操作関数編)
・ここからはフリー問題だよ編 ・好きな関数を使ってくれ編 ・いろんな関数を使ってね編 ・魔球編 ・豚が木に登れば落ちることもある編 ・たまには100点とってみたいものだ編 ・これは何と言う処理なんだろ編 ・数字は嫌いなのだ編 ・外堀から埋めていくぞ編 ・なぜわざわざそうしたいのか編 ・かっこつけてんじゃないよ編 ・頭の体操だけど新関数の出番はあるか?編 ・定番だけど出してなかったよね編
PY関数(Pythonコードをセル内で実行)
・PY関数の構文 ・PY関数の使い方 ・「Excel Labs」アドイン ・Python サンプルを試す ・pandas で説明 ・散布図を作成する ・Pythonの文法 ・PY関数で使えるライブラリ
GROUPBY関数(縦軸でグループ化して集計)
GROUPBY関数は、行(縦)でグループ化し指定された関数によって値を集計します。行(縦)の軸に沿ったグループ化と、関連する値の集計がサポートされます。複数の行グループレベルに対応しています。総計・小計、並べ替え、フィルター処理もサポートされています。
PIVOTBY関数(縦軸と横軸でグループ化して集計)
PIVOTBY関数は、行(縦)と列(横)でグループ化し指定された関数によって値を集計します。行(縦)と列(横)の2軸に沿ったグループ化と、関連する値の集計がサポートされます。複数の行グループレベル、複数の列グループレベルに対応しています。
イータ縮小ラムダ(eta reduced lambda)


新着記事NEW ・・・新着記事一覧を見る

ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.ひらがな⇔カタカナの変換|エクセル基本操作
5.繰り返し処理(For Next)|VBA入門
6.変数宣言のDimとデータ型|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.Findメソッド(Find,FindNext,FindPrevious)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。


このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ