エクセル入門
LAMBDA以降の新関数について

Excelの初心者向け入門解説
最終更新日:2022-09-06

LAMBDA以降の新関数について


2022年2月頃にLAMBDA関数と関係するいくつかの新関数がMicrosoft 365(Office 365で提供されました。
これらは、LAMBDA関数とLAMBDA関数を引数に指定できる関数群になります。


2022年3月頃には「Office Insider Program」でTEXTSPLITをはじめとした新関数が多数導入されました。
これらは、TEXT処理の関数群と、配列操作関数群です。
※2022年8月下旬から順次リリース開始されました。

使用例については以下のページに順次追加しています。

LAMBDA以降の新関数の使用例
・2つの1次元配列から、それをクロス結合した結果を返す ・A列が同じ行のB列の値を連結して、A列の一意な値とともに出力 ・名前定義を使わずにLAMBDA関数で再帰する方法 ・文字列を大文字小文字変換して大小文字の全組み合わせを出力 ・2つのテーブルの片方しかない行を縦に連結出力 ・3連単、3連複のフォーメーション買目を全て列挙する ・FILTER関数の出力行数・列数を指定する ・月が縦で日が横の表を、曜日(7列)で縦に折り返す ・文字列内の括弧()()の中の文字を取り出して列挙 ・表内にあるセル内改行を複数行に展開 ・文字列の中から1文字削除の全パターン出力 ・縦横スピルしない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列の一意な値ととも…


LAMBDA関数とLAMBDA関数を引数に指定できる関数群

※「Office のサポート」ページの抜粋(説明は一部書き換え)とそこへのリンクです。


関数名 構文
説明
LAMBDA =LAMBDA([parameter1, parameter2, ...,] 計算)
カスタムで再利用可能な関数を作成し、フレンドリ名(名前定義)で呼び出します。
新しい関数はブック全体で使用でき、ネイティブ Excel関数と同様に呼び出されます。
MAP =MAP(array1、lambda_or_array)
LAMBDAを適用して新しい値を作成することにより、配列内の各値を新しい値にマッピングして形成された配列を返します。
REDUCE =REDUCE([initial_value]、配列、lambda(アキュムレーター、値))
各値に LAMBDAを適用し、アキュムレーターに合計値を返すことで、配列を累積値に減らします。
SCAN =SCAN([initial_value]、配列、lambda(アキュムレーター、値))
LAMBDAを各値に適用して配列をスキャンし、各中間値を持つ配列を返します。
MAKEARRAY =MAKEARRAY(行、列、lambda(行、列))
LAMBDAを適用して、指定された行と列のサイズの計算された配列を返します。
BYROW =BYROW(array, lambda(row))
LAMBDAを各行に適用し、結果の配列を返します。
たとえば、元の配列が 3列 x 2行の場合、返される配列は 1列 x 2行です。
BYCOL =BYCOL(array, lambda(column))
LAMBDAを各列に適用し、結果の配列を返します。
たとえば、元の配列が 3列 x 2行の場合、返される配列は3列 x 1行です。
ISOMITTED =ISOMITTED(argument)
LAMBDAの値がないかどうかを確認し、TRUEまたはFALSEを返します。


TEXT処理の3関数

※「Office のサポート」ページの抜粋(説明は一部書き換え)とそこへのリンクです。
関数名 構文
説明
ARRAYTOTEXT ARRAYTOTEXT (配列, [書式])
指定した範囲のテキスト値の配列を返します。
テキスト値は変更せずに渡し、テキスト以外の値をテキストに変換します。
VALUETOTEXT VALUETOTEXT(value, [format])
指定された任意の値からテキストを返します。
テキスト値は変更せずに渡し、テキスト以外の値をテキストに変換します。
TEXTBEFORE =TEXTBEFORE(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found])
指定した文字または文字列の前に出現するテキストを返します。
これは、TEXTAFTER関数の反対です。
TEXTAFTER =TEXTAFTER(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found])
指定された文字または文字列の後に出現するテキストを返します。
これは、TEXTBEFORE関数の反対です。
TEXTSPLIT =TEXTSPLIT(text,col_delimiter,[row_delimiter],[ignore_empty], [match_mode], [pad_with])
列と行の区切り記号を使用してテキスト文字列を分割します。
テキスト列変換ウィザードと同じように動作する関数です。
列をまたいで分割したり、行単位で下に分割したりできます。
これは TEXTJOIN関数の反転です。


配列操作関数群

※「Office のサポート」ページの抜粋(説明は一部書き換え)とそこへのリンクです。


関数名 構文
説明
VSTACK =VSTACK(array1,[array2],...)
配列を垂直方向(縦)に順番に追加して、より大きな配列を返します。
HSTACK =HSTACK(array1,[array2],...)
配列を水平方向(横)に順番に追加して、より大きな配列を返します。
CHOOSEROWS =CHOOSEROWS(array,row_num1,[row_num2],…)
配列から指定された行を返します。
CHOOSECOLS =CHOOSECOLS(array,col_num1,[col_num2],…)
配列から指定された行を返します。
TOROW =TOROW(array, [ignore], [scan_by_column])
配列を1行の配列(1行複数列)に変換して返します。
TOCOL =TOCOL(array, [ignore], [scan_by_column])
配列を1列の配列(複数行1列)に変換して返します。
TAKE =TAKE(array, rows,[columns])
配列の先頭または末尾から、指定した数の連続する行または列を返します。
DROP =DROP(array, rows,[columns])
配列の先頭または末尾から、指定した数の行または列を除外します。
EXPAND =Expand(array, rows, [columns], [pad_with])
配列を展開し、指定した行と列の大きさに合わせます。
不足している要素にはpad_withを埋め込みます。
WRAPROWS =WRAPROWS(vector, wrap_count, [pad_with])
1行複数列の配列をwrap_countで折り返して複数行の新しい配列を返します。
1行 x n列 → 複数行 x wrap_count列
WRAPCOLS =WRAPCOLS(vector, wrap_count, [pad_with])
1列複数行の配列をwrap_countで折り返して複数列の新しい配列を返します。
n行 x 1列 → wrap_count行 x 複数列


LAMBDA以降の新関数の使用例

ツイッターでLAMBDAを使用した例題に取り組んでいます。
順次以下のページに追加していきます。
LAMBDA以降の新関数の使用例
・2つの1次元配列から、それをクロス結合した結果を返す ・A列が同じ行のB列の値を連結して、A列の一意な値とともに出力 ・名前定義を使わずにLAMBDA関数で再帰する方法 ・文字列を大文字小文字変換して大小文字の全組み合わせを出力 ・2つのテーブルの片方しかない行を縦に連結出力 ・3連単、3連複のフォーメーション買目を全て列挙する ・FILTER関数の出力行数・列数を指定する ・月が縦で日が横の表を、曜日(7列)で縦に折り返す ・文字列内の括弧()()の中の文字を取り出して列挙 ・表内にあるセル内改行を複数行に展開 ・文字列の中から1文字削除の全パターン出力 ・縦横スピルしないXLOOKUP代替(MATCH+INDEX,FILTER,CHOOSEROWS) ・直積(クロス結合、交差結合)とピボット解除



ワークシート関数一覧

Excelワークシート関数の一覧と解説です、詳細解説ページへのリンクもあります。Excel2007までの関数です。2010以降追加の関数一覧 ワークシート関数の一覧(2010以降) 引数、関数構文については Excelシートの複雑な計算式を解析するVBAの関数構文 文字列関数…27 日付と時刻の関数…21 情報関数…
ワークシート関数の一覧(2010以降)
・Excel2010で追加されたワークシート関数 ・Excel2013で追加されたワークシート関数 ・Excel2016/Excel2019で追加されたワークシート関数 ・Excel2021で追加されたワークシート関数 ・Excel2021以降の365で追加されたワークシート関数



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

UNIQUE関数(一意の値)
RANDARRAY関数(ランダム数値)
SEQUENCE関数(連続数値)
XLOOKUP関数(VLOOKUP関数を拡張した新関数)
XMATCH関数(MATCH関数を拡張した新関数)
LET関数(数式で変数を使う)
スピルと新関数の練習(XLOOKUP関数、LET関数、VBAまで)
LAMBDA以降の新関数について
LAMBDA以降の新関数の使用例
縦横スピルしないXLOOKUP代替(MATCH+INDEX,FILTER,CHOOSEROWS)
直積(クロス結合、交差結合)とピボット解除


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

直積(クロス結合、交差結合)とピボット解除|エクセル入門(2022-09-07)
脱字メーカー(文字列から1文字削除)|ツイッター出題回答 (2022-09-05)
【VBA学習のお勧めコース】|VBA入門(2022-09-02)
振込手数料を先方負担にした時の振込金額と手数料の算出|ツイッター出題回答 (2022-09-01)
構成比を合計しても100%にならないと言われた…|ツイッター出題回答 (2022-09-01)
一覧から複数条件(部分一致、範囲)に合致するデータを抽出する|ツイッター出題回答 (2022-08-30)
縦横スピルしないXLOOKUP代替(MATCH+INDEX,FILTER,CHOOSEROWS)|エクセル入門(2022-08-27)
IF関数の論理式で比較演算子を省略したCOUNT系関数を書くのは|ツイッター出題回答 (2022-08-23)
LAMBDA以降の新関数の使用例|エクセル入門(2022-08-22)
数珠順列(配置に条件付き)を全て出力する|ツイッター出題回答 (2022-08-20)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Excelショートカットキー一覧|Excelリファレンス
7.並べ替え(Sort)|VBA入門
8.マクロって何?VBAって何?|VBA入門
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.エクセルVBAでのシート指定方法|VBA技術解説




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


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



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