スポンサードリンク

Excel VBA ユーザー定義関数を作るメリットとは?

ExcelVBAで、ユーザー定義関数を作るメリットは、簡単な関数名だけで、複雑な処理が行なえることです。

これはユーザー定義関数だけでなく、既存の関数でも同じです。

もし数百行〜数千行にもなる複雑な処理が必要な場合でも、ユーザー定義関数として作っておけば、たった1行で呼び出すことができます。

最初はイメージし難いかも知れませんが、実はとても便利なことなのです。

これだけでもVBAを習得するメリットがあります。

例えば、預貯金で利息を計算する場面を考えてみましょう。

・問題1

あなたは1年間で1,000円の利息が欲しいとします。
この時、普通預金の金利が0.05%です。(年利)
預貯金の利息には、源泉徴収税が20%かかります。
さて、元金をいくら預ければ、手取りで1,000円の利息が得られますか?


答えは250万円です。

2,500,000円 × 0.05%(0.0005) = 1,250円
1,250円 × 20%(0.2) = 250円
1,250円 − 250円 = 1,000円


これくらいなら、力技で何とか計算できます。

では、もう少し難しくなるとどうでしょうか?

・問題2

1年間で利息が5,000円欲しくて、金利が1.2%なら、元金はいくら必要ですか?


こうなると簡単には計算できません。逆算するのは難しいですよね。

一つの方法としては、Excelのセルに以下のような計算式を入力すれば、答えがでます。

= 5000 / ((1.2 / 100) * (1 - 0.2))

答えは、約520,833.33円です。

でも、条件の数値が変わる度に計算式を入力し直すと、ミスが出そうです。
それにExcelに詳しくない人に任せると、もっと心配ですよね。

そこで、ユーザー定義関数を使って、簡単に計算できるようにしてみましょう。

今回は初めてなので、私のほうでExcelファイルを用意しました。

gankin.zip をダウンロードしてください。

このファイルには、calcGankin()という、ユーザー定義関数を作成してあります。

使い方は次回のステップで詳しく解説しますが、ユーザー定義関数を使うと、以下のように簡単に計算できるようになります。

・例

=calcGankin(5000,1.2)


=calcGankin(1000,0.5)


それぞれを適当なセルに計算式として入力すると、答えが返って来ます。

・1番目の引数は、1年間で欲しい利息の金額です。
・引数が複数ある場合は、半角の「,」(カンマ)で区切ります。
・2番目の引数は、金利(年利)をパーセントで指定します。

*金利の%は不要です。数値だけ入力します。
*引数とは、関数に渡す値のことです。

ユーザー定義関数名と、引数に指定する数値を変えるだけで、答えが出せるのがポイントです。

Excelのセルに直接長い計算式を入力する場合よりも、ずっとシンプルになっていることが分かると思います。

元金の計算式自体は隠れているので、式を書き間違えてしまう心配はありません。

これなら入力ミスが、かなり減ると思います。また仕事を他の人に頼んでも安心です。

そしてもう一つ大事なポイントです。

今回の計算は1行で済みますが、これが複雑になると、セルに直接計算式を入力する方法では無理があります。

ところがユーザー定義関数にすると、数百行〜数千行のプログラムでも、たった1行で呼び出せます。

これこそがユーザー定義関数を作るメリットなのです。

スポンサードリンク






Excel VBA 初心者入門講座 TOPへ