Excelは、ワークシート上での演算を支援するために、様々なワークシート関数を標準で備えます。基本的な数学演算から、文字列操作、財務計算、日付/時刻操作、条件分岐、統計、簡易なデータベース処理までを、ごくシンプルな数式で実現できます。

 ところが、より個別の業務に特化した演算では、標準の関数だけでは対応できない状況も出てきます。もちろん、複数の関数を組み合わせたり、計算過程を一時的に別のセルやワークシートに退避させて演算を重ねることで、目的の値を得ることはできるかもしれません。しかし、式が複雑になれば誤りの基となりますし、そもそも再利用には不向きです。

 そのようなケースでは、自前でワークシート関数を作成するのがお勧めです(図1)。業務固有のロジックを封じ込め、ユーザー間での共有もしやすくなります。

図1●オリジナルのTriangle関数を定義して使用した例。独自の機能を備えた関数を作って数式で利用できる
[画像のクリックで拡大表示]

ユーザー定義関数の基本

 ユーザー定義関数は、標準モジュールの中にFunctionモジュールとして定義するのが基本です。標準モジュールを作成するには、Visual Basic Editor(VBE)のメニューから「挿入」→「標準モジュール」を選びます。

 リスト1では、モジュールに対して「Triangle」という関数を追加しています。Triangle関数は、引数として「底辺」「高さ」を受け取り、三角形の面積を求める、簡単なFunctionプロシージャです。引数の名前を日本語にしているのは、実際に使う時、関数ウィザードにその名前がそのまま表示されるためです。できるだけ設定すべき値が直感的に理解できるような名前を付けてください。

リスト1●ユーザー定義のTriangle関数
[画像のクリックで拡大表示]

この先は会員の登録が必要です。有料会員(月額プラン)は登録月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら