ユーザー定義関数とは?
エクセルを利用していて、こんな関数あればと専門書やHELPを探してみる。誰もが経験しているはずです。そのほとんどの希望をエクセルは叶えてくれますが、財務以外の専門分野への適応となると、三角関数程度というのが実状です。が、エクセルの実力はそんなものではありません。必要ならばユーザーの思うとおり、自由自在に関数が作れます。そうです、土木技術者としてこれを利用しない手はありません。さあ、今すぐに始めましょう。
1)Visual Basic Editorの起動
- エクセルのメニューバーから、[ツール]⇒[マクロ]⇒[Visual Basic Editor]を選択します。
- Visual Basic Editorが起動したら、メニューバーから、[挿入]⇒[標準モジュール]を選択します。ここで、プロジェクトエクスプローラにModule1が作成されたことを確認してください。この部分に、functionプロシージャのコードを書くことによって、ユーザー定義関数が使えるようになります。
2)コーディング
- 下記の例はマニングの平均流速公式を書いたコードです。ここで、その全体の形を確認してください。先頭行のFunctionの次に マニングというプロシージャ名があります。さらに( )内に示される変数が引数、即ち、関数に与える値です。最終行のEnd Functionの前で、平均流速公式をプロシージャ名マニングに代入してコードは終了しています。これらの意味は、引数として値を与えてやると、その結果を返してくれる。つまり、関数になるのです。
例 マニングの平均流速公式 Function マニング(n As Single, I As Single, B As Single, H As Single) As Double Dim a As Double Dim r As Double Dim p As Double I = I / 100 B = B / 1000 H = H / 1000 * 0.8 a = B * H p = B + 2 * H r = a / p マニング = 1 / n * r ^ (2 / 3) * I ^ (1 / 2) End Function
- FunctionからEnd Functionをコピーして、コードウィンドウに貼り付けます。
3)関数の実行
- 数式バーからfxをクリックします。すると、関数の挿入ダイアログボックスが表示され、関数の入力を促します。ここで、関数の分類からユーザー定義が追加されている事を確認してください。その中に、作成した関数マニングがあるはずです。確認後、OKをクリックしてください。
- 引数の入力ボックスに変わりましたら、300×300で1.00%勾配のコンクリート断面を仮定して値を入力します。その状態で、入力ボックス下欄に数式の結果が返されるのを確認してください。
- 確認後OKをクリックすると、アクティブセルにマニングの関数式が入力されます。引数の入力で、数値の入力以外にセルの参照も可能です。
≫ダウンロード
マニングの平均流速公式がコーディングされた矩形断面流量計算書(ノンプロテクト版)を公開しますのでご利用ください。著作権フリー、改変自由とします。