エクセル入門
LAMBDA関数(カスタム関数の作成)

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

LAMBDA関数(カスタム関数の作成)


LAMBDA関数はOffice365のExcelに2022年になってから追加された新しい関数です。
LAMBDA関数でカスタム関数(ユーザー定義関数)を作成することができます。


LAMBDA関数を「名前定義」に登録することで、どのシートのどのセルからもその「名前」で関数を呼び出せます。
また、LET関数の中でLAMBDA関数に変数を割り当てることで、LET内で使用可能なカスタム関数として使う事も出来ます。

LAMBDA関数には6つのヘルパー関数が用意されています
これについては、ページの最後に記載しました。

LAMBDA関数は関数を作るための関数ですので、LAMBDA単体で使われることは滅多にありません。
他の関数を使用してカスタム関数(ユーザー定義関数)を作成するための関数です。
したがって以下のサンプル数式は実用的なものではなく、あくまでLAMBDA関数を理解するために簡素化したサンプルになります。

※LAMBDA関数は新しい関数であり、その他の関数とは一線を画す関数になります。
したがって、不足している情報や正確とは言えない表現等があるかもしれません。


目次

LAMBDA関数の構文

=LAMBDA([パラメーター名1, パラメーター名2, ...,] 計算)

引数 説明
パラメーター名 セル参照、文字列、数値など、関数に渡す値を受け取るパラメーター名を指定します。
最大253個のパラメーターを入力できます。
省略可能です。
計算 関数の結果として実行して返す数式(定数含む)です。
最後の引数でなければならず、結果を返す必要があります。
この引数は必須です。

LAMBDA()の中の最後のカンマの後ろが計算式になります。
(引数が無い場合は計算式のみになります。)

パラメータ名はExcelの名前に関する構文規則に従います。
ただし、パラメータ名にピリオド(.)は使用できません。
※セル番地になる名称は使えません。
A1,AB1,XFD999
このようなセル番地となる名称は使えません。
全角文字・漢字は使えます。
(全角でもセル番地に変換可能な、「A1」(Aが全角)の類は使用不可)

正しくない数の引数がLAMBDA関数に渡された場合は#VALUEを返します。

LAMBDA関数に引数が無い場合でも、LAMBDA関数を呼び出すための()の記述は必要です。
=LAMBDA(3)
これはエラー「#CALC!」になります。
=LAMBDA(3)()
これは3が返ります。
ただし、これはLAMBDA関数を使用する意味は見いだせません。

省略可能なパラメーターとするには、パラメーター名を角括弧[ ]で囲みます。


LAMBDA関数をセルで使う場合の基本

セルに他の関数同様に「=LAMBDA(...)(...)」として使う事が出来ます。
LAMBDA内のパラメーター(引数)名は変数名の規則に準拠している必要があります。
ただしピリオド(.)は使用できません。

エクセル LAMBDA関数 Excel新関数
LAMBDAに与えた引数は、LAMBDA内のパラメーターに左から順に割り当てられます。
x , y ← A1 , A2
x ← A1
y ← A2

上記のx,yはパラメーター名なので、規則の範囲内で自由に付けられます。
上記では、A1セルとA2セルをLAMBDAに渡して、LAMBDA内で足し算しています。
=LAMBDA(x,y, x+y)(A1, A2)

=LAMBDA(A1,A2, x+y)

=LAMBDA(A1+A2)


LAMBDA関数の「数式の検証」について

「Office のサポート」の「LAMBDA関数」
ここには、以下のように書かれています。
Evaluate コマンドを使用すると、Excel によってラムダ関数の結果がすぐに返され、ステップインできません。

LAMBDA関数の数式を「数式の検証」を使って「検証」してみます。

エクセル LAMBDA関数 Excel新関数

エクセル LAMBDA関数 Excel新関数

エクセル LAMBDA関数 Excel新関数

エクセル LAMBDA関数 Excel新関数

実際の数式では、LAMBDA関数の評価は数式の書かれている場所では行わず、
評価が必要になった時、または引数が与えられた時点で式を評価します。

しかし「数式の検証」では通常の数式評価順にしたがって評価をしてしまいます。
したがって数式評価順が来た時点で引数が与えられていない場合は、いったん「#VALUE!」となります。
「検証」を進めていき、LAMBDAに引数が与えられた時点で正式に評価されますので、最終的に正しい結果が出力されています。


LAMBDA関数をセルで使う場合の使用例

LAMBDA関数をセルに単独で使用する

数式 説明
=LAMBDA(3)() 固定値の3を返す。
引数は無いが関数呼出としての()が必要。
=LAMBDA(x,x)(A1) A1の値を渡して、受け取った値をそのまま返す。
=LAMBDA(x,x)(A1:A3) A1:A3のセル範囲を渡して、セル範囲のまま返す。
=LAMBDA(x,x*2)(A1) A1を渡して、2倍して返す。
=LAMBDA(x,x*2)(A1:A3) A1:A3のセル範囲を渡して、2倍して同じ大きさの配列で返す。
=LAMBDA(x,y,x+y)(A1,A2) A1とA2を渡して、A1+A2の結果の値を返す。
=LAMBDA(x,y,x+y)(A1:A3,B1:B3) A1:A3とB1:B3のセル範囲を渡して、同じ位置どうしを足し算して返す。
A1+B1,A2+B2,A3+B3
=LAMBDA(x,y,z,x+y+z)(A1,A2,A3) A1とA2とA3を渡して、A1+A2+A3の結果の値を返す。

※これらの使い方をすることは通常はありません。
あくまでLAMBDA関数の理解のための例示です。

LAMBDA関数内で他の関数を使用する

数式 説明
=LAMBDA(x,y,z,VLOOKUP(x,y,z,FALSE))(C1, A:B, 2)
分かり易い日本語名で書くと、
=LAMBDA(検索値,範囲,列番号,VLOOKUP(検索値,範囲,列番号,FALSE))(C1, A:B, 2)
C1とA:Bと2を渡して、VLOOKUPのそれぞれの引数に入れて結果を返す。
VLOOKUP(C1,A:B,2,FALSE)
つまりLAMBDA関数で、VLOOKUPの第4引数「検索方法」だけを「FALSE」固定にしています。
=LAMBDA(x,y,ROUNDUP(x/(1+y),0))(A1:A5, 10%)
分かり易い日本語名で書くと、
=LAMBDA(範囲,税率,ROUNDUP(範囲/(1+税率),0))(A1:A5, 10%)
税込み(A1:A5)と消費税(10%)を渡して本体価格を返す。
ROUNDUP(A1:A5/(1+10%),0)
この結果は縦5行にスピルします。


パラメーターの省略について

LAMBDA関数を呼び出すときに引数を省略した場合

LAMBDAを呼び出すときの引数の個数は、LAMBDA関数のパラメーター数と一致させる必要があります。
=LAMBDA(x,y,x+y)(1)
これは引数が1つ足らないので「#VALUE!」のエラーとなります。

引数の数が正しければ、引数の値は省略することができます。
=LAMBDA(x,y,x+y)(,)
この結果は「0」となります。
数値計算においては引数が省略された場合は「0」として扱われます。

=LAMBDA(x,y,x&y)(,)
この結果は「""」空文字となります。
文字列数式においては引数が省略された場合は「""」空文字として扱われます。

省略されたパラメーターの値
・数値計算においては「0」
・文字列式においては「""」空文字

条件判定においては、
=LAMBDA([x],x=0)()
=LAMBDA([x],x="")()
どちらも「TRUE」となります。

ただし関数で使った場合は様々な結果となります。
VLOOKUP, MATCHの検索値では「0」扱い。
CONCAT, TEXTJOINでは「""」空文字扱い。
ISNUMBER, ISTEXTは「FALSE」
不用意に直接関数で使う事は避けてください。
基本的にはISOMITTED関数で省略されているかを判定してから使用します。
・ISOMITTED関数の構文 ・ISOMITTEDの基本動作 ・ISOMITTED関数の使用例と解説

LAMBDAのパラメーターが1つの場合は、呼び出し時に引数を省略することは出来ません。
=LAMBDA(x,x)()
これは「#VALUE!」のエラーとなります。
ISOMITTED関数での判定も出来ません。
=LAMBDA(x,(ISOMITTED(x)))()
これも「#VALUE!」のエラーとなります。

省略可能なパラメーターの指定方法

省略可能なパラメーターとするには、パラメーター名を角括弧[ ]で囲みます。

=LAMBDA([x],x)()
この結果は「0」となります。

エクセル LAMBDA関数 Excel新関数
※省略されたパラメーターをそのままセルへ出力すると「0」となります。

角括弧[ ]で囲んだ省略可能なパラメーターを指定した場合は、
それ以降のパラメーターは全て省略可能なパラメーターにしなければなりません。

エクセル LAMBDA関数 Excel新関数

最初のパラメーターのx[x]としているので、その後のy[y]とする必要があります。

エクセル LAMBDA関数 Excel新関数

引数が省略されたことを判定するためにはISOMITTED関数を使う

引数が省略されたことを判定するためには、ISOMITTED関数を使用してください。
・ISOMITTED関数の構文 ・ISOMITTEDの基本動作 ・ISOMITTED関数の使用例と解説
=LAMBDA(x,y,x&IF(ISOMITTED(y),"2番目の引数は省略",y))("A",)

Excel エクセル ISOMITTED関数 LAMBDA関数


LAMBDA関数を名前定義に登録

LAMBDA関数を名前定義に登録することでカスタム関数(ユーザー定義関数)として使う事が出来ます。
以下のサンプルは実用的ではありません。(そもそも関数が必要なかったり、当該関数が存在します。)
あくまで分かり易い例示としてご理解ください。

カスタム関数を作成(2値の掛け算)

名前定義に登録
名前定義の詳細については以下を参照してください。
基本操作.名前定義
・名前ボックス ・名前の管理 ・定義済の名前定義の呼び出し
エクセル LAMBDA関数 Excel新関数

エクセル LAMBDA関数 Excel新関数

名前(N):
今回は「MULT」にしますが、命名規則内なら何でも良いです。

範囲(S):
「プック」で良いでしょう。用途によってはシートの方が良い場合もあります。

参照範囲(R):
ここにLAMBDA数式を入れます。
=LAMBDA(x,y,x*y)

「OK」をクリックして登録してください。

使い方
=mu」で候補表示されます。(名前定義で付けた名前)

エクセル LAMBDA関数 Excel新関数

エクセル LAMBDA関数 Excel新関数

エクセル LAMBDA関数 Excel新関数

C1,C2に数字を入れると掛け算の結果が返されます。


再帰関数の作成

指定された数値の階乗を再帰で計算します。
再帰について、以下はVBAになりますが々階乗をやっていますので参考になると思います。
再帰呼出しについて(再帰プロシージャー)
・指定数値の階乗を求める再帰VBA ・再帰プロシージャで考慮すべき事項 ・再帰呼び出しの実践例

名前定義に登録
エクセル LAMBDA関数 Excel新関数

関数名
FACTORIAL
LAMBDA数式
=LAMBDA(x,IF(x=1,x,x*FACTORIAL(x-1)))

使い方及び解説
エクセル LAMBDA関数 Excel新関数

LAMBDA関数内で、自身の名前「FACTORIAL」を「受け取った引数-1」を引数にして呼び出しています。
=FACTORIAL(5)とした場合、
LAMBDA(5,IF(5=1,4,5*FACTORIAL(5-1)))

LAMBDA(4,IF(4=1,4,4*FACTORIAL(4-1)))

LAMBDA(3,IF(3=1,3,3*FACTORIAL(3-1)))

LAMBDA(2,IF(2=1,2,2*FACTORIAL(2-1)))

LAMBDA(1,IF(1=1,1,1*FACTORIAL(1-1)))

↓ここから上に戻っていきます。

LAMBDA(2,IF(5=1,2,2*1))

LAMBDA(3,IF(4=1,3,3*2))

LAMBDA(4,IF(3=1,4,4*6)))

LAMBDA(5,IF(2=1,5,5*24))

120

名前定義を使わずにLAMBDA関数で再帰する方法

こちらで紹介していますが、複雑すぎて理解するのが困難すぎます。
名前定義を使わずにLAMBDA関数で再帰する方法

ツイッターで紹介されている以下の再帰は非常に簡潔となっていて利用しやすいと思います。
https://twitter.com/Excel_xlsx/status/1596162811197259776
以下に、A1セル値の階乗を再帰で計算する数式を掲載しておきます。
=LET(in,A1,
fx,LAMBDA(a,b,IF(b>0,b*a(a,b-1),1)),
fx(fx,in))
=LAMBDA(in,fx,fx(fx,in)
)(A1,LAMBDA(a,b,IF(b>0,b*a(a,b-1),1)))
どちらも同じですが、LET関数を使った方が使い回ししやすいと思います。


LET関数内でLAMBDA関数を使用する

LET関数の詳細については以下を参照してください。
LET関数(数式で変数を使う)
・LET関数の書式 ・LET関数の基本的使い方 ・LET関数の段階的作成 ・文字列分割での使用例 ・LET関数作成手順の参考例 ・LET関数の今後について

文字列の中の半角()の中の文字列を取り出す関数を作成します。
(最新の関数を使えば簡単にできますが、ここでは従来の方法でやります。)
括弧が(の片方だけの場合は(以降全部、)だけの場合は)の前まで全部とします。

エクセル LAMBDA関数 Excel新関数

LET関数を使った数式
=LET(
入力,A1:A3,
括弧1,IFERROR(FIND("(",入力),0),
括弧2,IFERROR(FIND(")",入力),LEN(入力)+1),
MID(入力,括弧1+1,括弧2-括弧1-1))

LET関数内でLAMBDA関数を使用
=LET(
入力,A1:A3,
fx,LAMBDA(x,y,IFERROR(FIND(x,入力),y)),
括弧1,fx("(",0),
括弧2,fx(")",LEN(入力)+1),
MID(入力,括弧1+1,括弧2-括弧1-1))

解説
もとの数式では、
IFERROR(FIND("(",入力),0),
IFERROR(FIND(")",入力),LEN(入力)+1),
この2つの数式ではかなり多くの部分で同じことをしています。
そこで、これをLAMBDAで関数化します。
fx,LAMBDA(...
これで「fx」という関数がLET内に作成されます。
この「fx」は組み込みの関数と同様に、関数名(...)で呼び出すことができます。
数式自体の長さはそんなに変わらないのですが、
共通部分を関数化することで、使い回しができるようになり、その後の変化に対応しやすくなります。
例えば、
括弧が半角()全角()の区別なく入っているとしたら、どのように変更したら良いでしょうか。
関数「fx」の中だけの修正で済ませることができます。
=LET(入力,A1:A3,
fx,LAMBDA(x,y,IFERROR(FIND(JIS(x),入力),IFERROR(FIND(ASC(x),入力),y))),
括弧1,fx("(",0),
括弧2,fx(")",LEN(入力)+1),
MID(入力,括弧1+1,括弧2-括弧1-1))
修正方法(イレギュラーなパターンへの対応)として良いかは別として、
関数「fx」の中の修正だけで済むことは保守する上では有効です。

さらに、全体をLAMBDA関数で包むことで、
LET内で使っているセル参照を外側から指定できるようになります。
そして、このLAMBDAは名前定義に登録してカスタム関数としても使えるようになります。

=LAMBDA(入力,区切1,区切2,
LET(
fx,LAMBDA(x,y,IFERROR(FIND(JIS(x),入力),IFERROR(FIND(ASC(x),入力),y))),
括弧1,fx(区切1,0),
括弧2,fx(区切2,LEN(入力)+1),
MID(入力,括弧1+1,括弧2-括弧1-1))
)(A1:A3,"(",")")
最後の「(A1:A3,"(",")")」この部分を除いて、=LAMBDA(...)を名前定義に登録します。
その後は、どのセルでもカスタム関数として使用できるようになります。


LAMBDA関数にLAMBDA関数を渡す

LAMBDA関数の引数にLAMBDA関数を渡すことができます。
関数をオブジェクトとして受け取ることができるものは、一般的には「高階関数」などと呼ばれたりします。

=LAMBDA(x,fx,fx(x))(2,LAMBDA(x,x*2))
この結果は、2*2で「4」となります。
LAMBDA(x,x*2)
この関数を引数として渡しています。
これを「fx」という名前で受け取っています。
fx=LAMBDA(x,x*2)
受け取ったLAMBDA関数内ではfxでこの関数を使用することができます。

LETを使って書き直すと、以下のようになります。
=LAMBDA(x,LET(fx,LAMBDA(x,x*2),fx(x)))(2)

=LAMBDA(x,f_2,f_3,f_2(x)*f_3(x))(2,LAMBDA(x,x*2),LAMBDA(x,x*3))
複数のLAMBDA関数を引数にすることもできます。
この結果は、(2*2)*(2*3)で「24」となります。

LETを使って書き直すと、以下のようになります。
=LAMBDA(x,LET(f_2,LAMBDA(x,x*2),f_3,LAMBDA(x,x*3),f_2(x)*f_3(x)))(2)

これは使い方が難しいと思います。
通常このような使い方をしなければならない理由はないのですが、これが使えると便利な場合もあるのだというくらいの理解で良いと思います。


LAMBDA関数のネストと変数のスコープ(適用範囲)

LAMBDA関数内の変数はそのLAMBDA関数内に限定されます。
LAMBDA関数の外側に同名変数がある場合は、LAMBDA関数内の変数が優先適用されます。

=LAMBDA(x,LAMBDA(x,x)(3))(4)
この結果は「3」になります。
=LAMBDA(x,LAMBDA(3,3))(4)
=LAMBDA(x,3)(4)
=LAMBDA(4,3)
計算は最後の「3」になります。

=LAMBDA(x,LAMBDA(y,x)(3))(4)
この結果は「4」となります。
=LAMBDA(x,LAMBDA(3,x))(4)
=LAMBDA(x,x)(4)
=LAMBDA(4,4)
計算は最後の「4」になります。

以下で確認すると理解しやすいと思います。
=LAMBDA(x,LAMBDA(y,CONCAT("x=",x,",y=",y))(3))(4)
この結果は、「x=4,y=3」となります。
なお上記数式は、
=LAMBDA(x,LAMBDA(y,CONCAT("x=",x,",y=",y)))(4)(3)
このように書き換えることもできます。
結果は同様に、「x=4,y=3」となります。


遅延評価によりLAMBDA関数オブジェクト(関数値)を返すことができる関数

以下はあくまでLAMBDA関数の機能として、こんな使い方もできますという紹介になります。

エクセル LAMBDA関数 Excel新関数

B1の演算子に従ってA1とC1の計算を行います。
B1が「+-*/」以外は入力されないものとします。

IF関数、IFS関数、CHOOSE関数、SWITCH関数では、
条件を満たした場合の数式のみ評価し、他の数式は評価しません。
そして、条件を満たした場合の数式がLAMBDA関数であれば、LAMBDA関数をそのまま(LAMBDA関数オブジェクト・関数値として)返します。
その結果、
=LAMBDA(...)(...)
この式に集約されます。
したがって上記の関数では、その関数の外側から、その関数内のLAMBDAに対して引数を渡すことができます。

IF関数で解説
=IF(B1="+",LAMBDA(x,y,x+y),
IF(B1="-",LAMBDA(x,y,x-y),
IF(B1="*",LAMBDA(x,y,x*y),
LAMBDA(x,y,x/y)))
)(A1,C1)

※最後の数式改行で、(A1,C1)だけの行にすることは出来ません。
つまり少なくとも最後は閉じ括弧を1つ以上含めて、「)(...)」という形になります。

B1が"-"の場合、
=IF(B1="+",評価しない, IF(B1="-",LAMBDA(x,y,x-y), これ以降の数式は評価しない。
そして、
LAMBDA(x,y,x-y)
この数式が返されると考えてください。
結果として、
=LAMBDA(x,y,x-y)(A1,C1)
この数式が計算され結果が返されます。

以下、IFS関数、CHOOSE関数、SWITCH関数についてもIF関数と同様の動作原理になります。
以下では数式の改行は省略しました。

IFS関数
=IFS(B1="+",LAMBDA(x,y,x+y),B1="-",LAMBDA(x,y,x-y),B1="*",LAMBDA(x,y,x*y),TRUE,LAMBDA(x,y,x/y))(A1,C1)
CHOOSE関数
=CHOOSE(MATCH("~"&B1,{"+","-","*","/"},0),LAMBDA(x,y,x+y),LAMBDA(x,y,x-y),LAMBDA(x,y,x*y),LAMBDA(x,y,x/y))(A1,C1)
※MATCH関数では「*」はワイルドカードなので、その前に「~」が必要です。
XMATCH関数なら一致モードで選択できますので、完全一致では「*」もそのまま検索できます。
SWITCH関数
=SWITCH(B1,"+",LAMBDA(x,y,x+y),"-",LAMBDA(x,y,x-y),"*",LAMBDA(x,y,x*y),"/",LAMBDA(x,y,x/y))(A1,C1)

その他の関数
XLOOKUP関数,INDEX関数でもその引数にLAMBDA関数を入れて、外側から引数を与えることができます。
(さらに別の関数でもできるものはあるにはあるようですが…)
しかし、これはかなり特殊な使い方になりますので、ここでは説明を省略します。

また、VSTACK関数,HSTACK関数等の関数では(さらに他の関数でも可)、
LAMBDA関数をオブジェクトとして配列化できます。
ただし、これも特殊な使い方になるので、ここでは説明を省略します。
上記の件について詳しく知りたい方は以下のツイートをご覧ください。

LAMBDAヘルパー関数について

LAMBDA関数には6つのヘルパー関数が用意されています。
MAP,REDUCE,SCAN,BYROW,BYCOL,MAKEARRAYはその引数にLAMBDAを使用します。
ISOMITTEDはLAMBDA関数内で使用します。

※リンクは詳細解説ページへのリンクです。
関数名 構文
説明
MAP =MAP(array1, lambda_or_array)
配列にLAMBDAを適用して新しい値を作成することにより、配列内の各値を新しい値にマッピング(元配列に対して異なるデータを割り当て)して形成された配列を返します。
REDUCE =REDUCE([初期値], 配列, LAMBDA(アキュムレーター, 値, 計算))
配列にLAMBDAを適用して、各要素の計算結果を次の要素のLAMBDAアキュムレーターに渡すことで、配列を累積値に減らします。
SCAN =SCAN([initial_value], 配列, LAMBDA(アキュムレーター, 値, 計算))
配列にLAMBDAを適用して、各要素の計算結果を次の要素のLAMBDAアキュムレーターに渡しつつ出力配列を作成していきます。
BYROW =BYROW(配列, LAMBDA(パラメーター, 計算))
配列の各行ごとにLAMBDAを適用して、行単位での計算結果を元配列と同じ行数(列数は1)の配列で返します
BYCOL =BYCOL(配列, LAMBDA(パラメーター, 計算))
配列の各列ごとにLAMBDAを適用して、列単位での計算結果を元配列と同じ列数(行数は1)の配列で返します。
MAKEARRAY =MAKEARRAY(行, 列, LAMBDA(行, 列))
LAMBDAを適用して、指定された行と列のサイズの計算された配列を返します。
ISOMITTED =ISOMITTED(argument)
LAMBDAの値がないかどうかを確認し、TRUEまたはFALSEを返します。


LAMBDA以降の新関数の問題集 ・・・ 解答は別ページになっています。

・目次 ・LAMBDA踊るぞ編 ・LAMBDA踊るぞ編2 ・SCAN編 ・MAP編 ・REDUCE編 ・山手線営業の旅編 ・BYROW,BYCOL編 ・ここからはフリー問題だよ編 ・好きな関数を使ってくれ編 ・いろんな関数を使ってね編 ・魔球編 ・豚が木に登れば落ちることもある編 ・たまには100点とってみたいものだ編 ・これは何と言う処理なんだろ編 ・数字は嫌いなのだ編 ・外堀から埋めていくぞ編 ・なぜわざわざそうしたいのか編 ・かっこつけてんじゃないよ編 ・頭の体操だけど新関数の出番はあるか?編 ・定番だけど出してなかったよね編
LAMBDA以降の新関数の使用例
・2つの1次元配列から、それをクロス結合した結果を返す ・A列が同じ行のB列の値を連結して、A列の一意な値とともに出力 ・名前定義を使わずにLAMBDA関数で再帰する方法 ・文字列を大文字小文字変換して大小文字の全組み合わせを出力 ・2つのテーブルの片方しかない行を縦に連結出力 ・3連単、3連複のフォーメーション買目を全て列挙する ・FILTER関数の出力行数・列数を指定する ・月が縦で日が横の表を、曜日(7列)で縦に折り返す ・文字列内の括弧()()の中の文字を取り出して列挙 ・表内にあるセル内改行を複数行に展開 ・文字列の中から1文字削除の全パターン出力 ・クロスABC分析 ・月利が毎月変動する月複利の計算 ・レーベンシュタイン距離 ・文字列を数字と数字以外で分割 ・縦横スピルしないXLOOKUP代替(MATCH+INDEX,FILTER,CHOOSEROWS) ・直積(クロス結合、…




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

スピルとは:スピルの新関数を使う問題と解説
スピルとは:ここまでの総合演習問題と解説
LAMBDA以降の新関数について
LAMBDA関数(カスタム関数の作成)
MAP関数(配列各値を新しい値にマッピングした配列を返す)
REDUCE関数(配列にLAMBDAを適用し累積値を返す)
SCAN関数(配列にLAMBDAを適用し格中間値を返す)
BYROW関数(配列の行単位にLAMBDAを適用し列を集約)
BYCOL関数(配列の列単位にLAMBDAを適用し行を集約)
ISOMITTED関数(LAMBDAの引数省略の判定)
MAKEARRAY関数(行数・列数で計算した配列を作成)


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

数字(1~50)を丸付き数字に変換するVBA|VBA技術解説(2022-11-15)
TEXTAFTER関数(テキストの指定文字列より後ろの部分を返す)|エクセル入門(2022-11-14)
TEXTBEFORE関数(テキストの指定文字列より前の部分を返す)|エクセル入門(2022-11-14)
TEXTSPLIT関数(列と行の区切り記号で文字列を分割)|エクセル入門(2022-11-12)
LAMBDA以降の新関数はVBAで使えるか|VBA技術解説(2022-11-11)
WRAPCOLS関数(1次元配列を指定数の列で折り返す)|エクセル入門(2022-11-08)
WRAPROWS関数(1次元配列を指定数の行で折り返す)|エクセル入門(2022-11-08)
EXPAND関数(配列を指定された行と列に拡張する)|エクセル入門(2022-11-07)
TAKE関数(配列の先頭/末尾から指定行/列数を取得)|エクセル入門(2022-11-06)
DROP関数(配列の先頭/末尾から指定行/列数を除外)|エクセル入門(2022-11-06)


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

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.マクロって何?VBAって何?|VBA入門
10.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄




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


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



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