ISOMITTED関数の使い方|LAMBDAの引数を省略できるようにする・税込計算の自作関数【実機で解説】

ISOMITTED関数の使い方|LAMBDAの引数を省略できるようにする・税込計算の自作関数【実機で解説】

ISOMITTED 関数は、LAMBDA で作った関数の引数が省略されたかどうかを調べる関数です。引数を [r] のように [ ] で囲むと省略できるようになり、ISOMITTED(r) が TRUE なら「省略された」と分かります。

たとえば「税率を省略したら 10%、指定したらその税率」の税込計算を 1 つの関数にできます。この記事では、ISOMITTED の使い方を、実際の Excel で確かめた結果で説明します。LAMBDA・ISOMITTED は Microsoft 365 の関数です。

練習用Excelファイル(無料ダウンロード)
価格の表と、この記事の LAMBDA・ISOMITTED の式、名前の定義(TAXIN)をまとめた練習ファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

ISOMITTED 関数の書き方

=LAMBDA(引数, [省略できる引数], …ISOMITTED(省略できる引数)…)
書き方意味
[省略できる引数][ ] で囲んだ引数は、使うときに省略できる
ISOMITTED(引数)省略されたら TRUE、指定されたら FALSE

この記事の式:=LAMBDA(p,[r],ROUNDDOWN(p*(1+IF(ISOMITTED(r),0.1,r)),0))(p=価格、r=税率。r を省略したら 10%、円未満は切り捨て)。LAMBDA の基本は LAMBDA関数の使い方で説明しています。

1. 税率を省略して税込金額を出す

LAMBDA の後ろの ( ) に価格だけを入れます。税率 r が省略されたので、ISOMITTED(r) が TRUE になり、10% で計算します。

=LAMBDA(p,[r],ROUNDDOWN(p*(1+IF(ISOMITTED(r),0.1,r)),0))(A2)
エクセルのISOMITTED関数でLAMBDAの税率の引数を省略して10パーセントの税込金額を出した画面
エクセルのISOMITTED関数でLAMBDAの税率の引数を省略して10パーセントの税込金額を出した画面

1,000 円は 1,100、980 円は 1,078 でした。

2. 税率を指定して税込金額を出す

2 つ目に 0.08 を入れると、ISOMITTED(r) は FALSE になり、8% で計算します。

=LAMBDA(p,[r],ROUNDDOWN(p*(1+IF(ISOMITTED(r),0.1,r)),0))(A2,0.08)
エクセルのISOMITTED関数でLAMBDAの税率に8パーセントを指定して税込金額を出した画面
エクセルのISOMITTED関数でLAMBDAの税率に8パーセントを指定して税込金額を出した画面

1,000 円は 1,080、2,500 円は 2,700 でした。

3. 名前を付けて自分の関数にする

[数式]タブ→[名前の定義]で、名前を「TAXIN」、参照範囲に上の LAMBDA の式(後ろの ( ) なし)を登録すると、=TAXIN(A2) や =TAXIN(A2,0.08) のように使えます。練習ファイルには TAXIN を登録してあります。

=TAXIN(A2)
エクセルの名前の定義で登録したLAMBDAの自作関数TAXINで税込金額を出した画面
エクセルの名前の定義で登録したLAMBDAの自作関数TAXINで税込金額を出した画面

結果は 1,100・2,750・1,078 で、1 の結果と同じでした。

【実機で検証】ISOMITTED でつまずくところ

エクセルのISOMITTED関数を使わずに引数を省略したときや引数が多すぎるときの結果を確かめた画面
エクセルのISOMITTED関数を使わずに引数を省略したときや引数が多すぎるときの結果を確かめた画面
ためしたこと式結果
TAXIN(1000,0.08)=TAXIN(1000,0.08)1,080
ISOMITTED を使わずに r を省略(p*(1+r))=LAMBDA(p,[r],p*(1+r))(1000)1,000
引数が多すぎる TAXIN(1000,0.1,5)=TAXIN(1000,0.1,5)#VALUE!
必須の p まで省略 TAXIN()=TAXIN()#VALUE!
[ ] なしの引数を省略=LAMBDA(p,r,p*(1+r))(1000)#VALUE!

TAXIN(1000,0.08) は 1,080 でした。

ISOMITTED を使わずに r を省略すると、1,000 になりました。省略した引数は 0 のように扱われるので、10% にしたいときは ISOMITTED で「省略されたとき」の値を決めておきます。

引数が多すぎると #VALUE! になりました。p まで省略した TAXIN() は #VALUE!、[ ] で囲んでいない引数を省略すると #VALUE! です。

よくある質問

[ ] の付け方は?

LAMBDA の引数の名前を [ ] で囲みます。省略できる引数は、ふつうの引数の後ろにまとめて書きます。

名前の定義のやり方は?

[数式]タブ→[名前の定義]で名前と参照範囲を入れます。名前の定義の使い方も参考にしてください。

ほかの自作関数の例は?

MAP・REDUCE・SCANなど、LAMBDA と組み合わせる関数があります。

練習用Excelファイル(無料ダウンロード)
この記事の例をまとめた練習ファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

あわせて読みたい:関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次