エクセル入門
ISOMITTED関数(LAMBDAの引数省略の判定)

Excelの初心者向け入門解説
公開日:2022-10-22 最終更新日:2022-10-25

ISOMITTED関数(LAMBDAの引数省略の判定)


ISOMITTED関数はOffice365のExcelに2022年になってから追加された新しい関数です。
ISOMITTED関数はLAMBDAヘルパー関数(LAMBDAと一緒に使う)の一つです。


LAMBDAのパラメーター値が省略されているかどうかを確認し、TRUE または FALSE で返します。

ISOMITTED関数はLAMBDAヘルパー関数なので、LAMBDAについては別途習得してからお読みください。

LAMBDA以降の新関数について
・LAMBDA関数とLAMBDA関数を引数に指定できるヘルパー関数群 ・TEXT処理関数 ・配列操作関数群
LAMBDA関数(カスタム関数の作成)
・LAMBDA関数の構文 ・LAMBDA関数をセルで使う場合の基本 ・LAMBDA関数の「数式の検証」について ・LAMBDA関数をセルで使う場合の使用例 ・パラメーターの省略について ・LAMBDA関数を名前定義に登録 ・再帰関数の作成 ・LET関数内でLAMBDA関数を使用する ・LAMBDA関数にLAMBDA関数を渡す ・LAMBDA関数のネストと変数のスコープ(適用範囲) ・遅延評価によりLAMBDA関数オブジェクト(関数値)を返すことができる関数 ・LAMBDAヘルパー関数について

以降の説明文における「パラメーター」と「引数」の使い分けについて

LAMBDA関数が受け取る為の変数をパラメーター(parameter)と記しています。仮引数と呼ばれたりします。
LAMBDA関数へ渡す実際の値を引数(argument)と記しています。実引数と呼ばれたりします。
つまり、
=LAMBDA(パラメーター, 計算)(引数)
どちらも「引数」と呼ばれることもあり、説明文を読んだ時に紛らわしいと思いますのでご注意ください。


ISOMITTED関数の構文

=ISOMITTED(argument)

argument LAMBDAパラメータなどのテストする値。
LAMBDAパラメータ以外も引数に指定できます。
AMBDA以外で使用することはほぼありませんが、使用例には掲載しました。

LAMBDAのパラメーターに対する引数が省略されたかをTRUE/FALSEで返します。
パラメーターに対する引数が省略された場合はTRUE、省略されず値が指定された場合はFALSEを返します。
通常はIF関数の条件式で使います。


ISOMITTEDの基本動作

数式
=LAMBDA(x,y,x&IF(ISOMITTED(y),"2番目の引数は省略",y))("A",)
解説
Excel エクセル ISOMITTED関数 LAMBDA関数

上記数式では、LAMBDAのパラメーター2に対する引数が省略されています。
("A",)
,カンマの後ろを省略した書き方になっています。
したがって、ISOMITTED(y)は「TRUE」を返します。

上記数式ではLAMBDAに渡す引数の数は必ず2個必要です。
つまり、
("A")
このように、,カンマを書かないと1個だけの引数指定となり、引数の数が不一致で「#VALUE」になります。

Excel エクセル ISOMITTED関数 LAMBDA関数

LAMBDAのパラメーターが1つだけの場合は、引数を省略することは出来ません。

Excel エクセル ISOMITTED関数 LAMBDA関数


LAMBDA関数のパラメーターを角括弧[ ]で囲むことで、引数を省略可能なパラメーターとすることができます。
=LAMBDA([x],x)()
このように指定します。
この結果のセルは「0」となります。
省略可能なパラメーターおよび省略された場合の計算結果については以下を参照してください。
LAMBDA関数
・LAMBDA関数の構文 ・LAMBDA関数をセルで使う場合の基本 ・LAMBDA関数の「数式の検証」について ・LAMBDA関数をセルで使う場合の使用例 ・パラメーターの省略について ・LAMBDA関数を名前定義に登録 ・再帰関数の作成 ・LET関数内でLAMBDA関数を使用する ・LAMBDA関数にLAMBDA関数を渡す ・LAMBDA関数のネストと変数のスコープ(適用範囲) ・遅延評価によりLAMBDA関数オブジェクト(関数値)を返すことができる関数 ・LAMBDAヘルパー関数について
> パラメーターの省略について


ISOMITTED関数の使用例と解説

ISOMITTEDで省略時の値を指定

=LAMBDA(x,y,ROUNDDOWN(IF(ISOMITTED(y),x*1.1,x*(1+y)),0))(1200,)
この結果は、
x*1.1=1200*1.1=1320
となります。

(1200, 8%)とすれば、
x*(1+y)=1200*1.08=1296
となります。

LAMBDAの2つのパラメーターを両方とも省略した場合

=LAMBDA(x,y,IF(ISOMITTED(y),"1番目の引数は省略",x)&IF(ISOMITTED(y),"2番目の引数は省略",y))(,)
この結果は、
「1番目の引数は省略2番目の引数は省略」

IF関数の省略値を判定

=ISOMITTED(IF(ISOMITTED(IF(TRUE,,1)),,2))
IF(TRUE,,1)
この結果は「省略値」(ISOMITTEDがTRUEとなる値)が返されます。
IF(ISOMITTED(「省略値」),,2)
ISOMITTEDはTRUEなので、この結果も「省略値」を返します。
=ISOMITTED(「省略値」)
したがって最後の結果は「TRUE」となります。

IFS関数は「省略値」を返しません。
=ISOMITTED(IFS(TRUE,,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) ・直積(クロス結合、…




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

SCAN関数(配列にLAMBDAを適用し格中間値を返す)

・SCAN関数の構文 ・SCANの基本動作 ・SCAN関数の使用例と解説 ・[初期値]を省略した時の動作
BYROW関数(配列の行単位にLAMBDAを適用し列を集約)
・BYROW関数の構文 ・BYROWの基本動作 ・BYROW関数の使用例と解説
BYCOL関数(配列の列単位にLAMBDAを適用し行を集約)
・BYCOL関数の構文 ・BYCOLの基本動作 ・BYCOL関数の使用例と解説
ISOMITTED関数(LAMBDAの引数省略の判定)
MAKEARRAY関数(行数・列数で計算した配列を作成)
・MAKEARRAY関数の構文 ・MAKEARRAYの基本動作 ・MAKEARRAY関数の使用例と解説
VSTACK関数(配列を縦方向に順に追加・結合)
・VSTACK関数の構文 ・VSTACKの基本動作 ・VSTACK関数の使用例と解説
HSTACK関数(配列を横方向に順に追加・結合)
・HSTACK関数の構文 ・HSTACKの基本動作 ・HSTACK関数の使用例と解説
CHOOSEROWS関数(配列から複数の指定された行を返す)
・CHOOSEROWS関数の構文 ・CHOOSEROWSの基本動作 ・CHOOSEROWS関数の使用例と解説
CHOOSECOLS関数(配列から複数の指定された列を返す)
・CHOOSECOLS関数の構文 ・CHOOSECOLSの基本動作 ・CHOOSECOLS関数の使用例と解説
TOCOL関数(配列を縦1列の配列にして返す)
配列を縦1列に変換して新たな配列を返します。TOCOL関数は、セル範囲や1次元または2次元の配列を受け取り、オプションで指定された順番で縦1列の配列を作成します。縦1列ではなく横1行の配列を作成する場合はTOROW関数を使用します。
TOROW関数(配列を横1行の配列にして返す)
配列を横1行に変換して新たな配列を返します。TOROW関数は、セル範囲や1次元または2次元の配列を受け取り、オプションで指定された順番で横1行の配列を作成します。横1行ではなく縦1列の配列を作成する場合はTOCOL関数を使用します。


新着記事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」をお願いいたします。
本文下部へ