Excel(VBA)からNAGライブラリを利用

Excelから最適化、予測などのNAG数値計算ルーチンを利用する

Microsoft Excel(エクセル)からでも、最適化、モデリング、予測、フィッティングなどNAG数値計算ライブラリが提供する機能を簡単に利用することができます。(NAGで提供される時系列解析)NAG Fortran Library DLL版はExcelの環境で利用するのに特に適した製品です。これはNAG Fortran Library で利用されているFortranの型INTEGER, LOGICAL, DOUBLE PRECISIONがExcelのLong, Long, Doubleにそれぞれ直接対応していることと、配列の格納順序がコンパチブルであることからそう言えます。

ご利用方法

※まずNAG Fortran Library DLL版がインストールされていることを確認して下さい。

以下はNAG Fortran Library DLL版で提供されているルーチン「S14AAF(ガンマ関数)」をExcelから利用するシンプルな例です。

  • Excelを立ち上げます。

  • Alt+F11を押してVisualBasicエディターを開きます。

  • メニューより「挿入」|「標準モジュール」を選択します。

  • モジュールシートの一番上に以下の一行を記述します。
    Option Base 1

  • S14AAFのDeclare文をNAG Fortran Library インストール先の下のvb_headersの下にあるファイルよりクリップボードにコピーします。(以下がその内容)
    Declare Function S14AAF Lib "FLDLL214Z_nag.dll" ( _
    ByRef X As Double, _
    ByRef IFAIL As long _
    ) as Double

  • VisualBasicエディターにもどり、モジュールシートのOption Base 1の次の行で、クリップボードの内容を貼り付けます。
    この状態のスクリーンショットは以下のとおりです。
    VBASheet

  • 次にExcelのシートに戻り、一つのセルを選択した状態で「関数の貼り付け」もしくは「関数の挿入」を選択します。

  • ユーザ定義関数の中にS14AAFがあるはずですので、それを選択します。
    FuncDlg

  • XとIFAILを入力するようにダイアログが表示されますので、Xに1.25、IFAILに1をそれぞれ入力してください。問題がなければS14AAF関数で計算された値(0.906402)がセルに表示されるはずです。
    res

    res2




Results matter. Trust NAG.

Privacy Policy | Trademarks