数量計算書をエクセルで作る方法

三浦プロジェクトは土木とEXCELの情報サイトです

流量計算は、完全オリジナルの自作関数にすれば超快適!【マニング公式】

【ユーザー定義関数】自分だけの特別な関数を作る方法

水路工のイメージ

Excelを利用していて、こんな関数あったらいいなと、期待を込めて専門書やネットを探してみる。誰もが経験しているはずです。Excelの組み込み関数は500種類以上あって、そのほとんどの希望は解決できますが、専門分野は、財務関係を除くと三角関数程度というのが実状です。しかし、実際にはExcelはそれだけのツールではありません。必要な場合、ユーザーが思う通り、自由自在に関数を作ることができます。土木技術者として、この機能を活用しない手はありません。さあ、今すぐに始めてみましょう。

直線的な単純フローのコード

エディター(Visual Basic Editor)の使い方と関数の実行

  1. 【Visual Basic】ボタンをクリックすると、エディターが開きます。エディター内のメニューバーから、[挿入] > [標準モジュール]を選択します。
    マクロの作り方を説明1
  2. ここで、プロジェクトエクスプローラに[Module1]が作成されたことを確認してください。この部分に、functionプロシージャのコードを書くことによって、ユーザー定義関数が使えるようになります。
    マクロの作り方を説明2
  3. コーディング

    下記の例はマニングの平均流速公式を書いたコードです。ここで、その全体の形を確認してください。先頭行の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
  4. 関数の実行

    数式バーから【fx】をクリックします。すると、関数の挿入ダイアログボックスが表示され、関数の入力を促します。ここで、関数の分類から[ユーザー定義]が追加されている事を確認してください。その中に、作成した関数【マニング】があるはずです。確認後、OKをクリックします。
    マクロの作り方を説明4
  5. 引数の入力ボックスに変わりましたら、300×300で1.00%勾配のコンクリート断面を仮定して値を入力します。その状態で、入力ボックス下欄に数式の結果が返されるのを確認してください。
    マクロの作り方を説明3
  6. 確認後OKをクリックすると、アクティブセルにマニングの関数式が入力されます。引数の入力で、数値の入力以外にセルの参照も可能です。
    マクロの作り方を説明3

ダウンロード

マニングの平均流速公式がコーディングされた矩形断面流量計算書(ノンプロテクト版)を公開しますのでご利用ください。著作権フリー、改変自由とします。

ソフトウエア・各種計算書・テンプレートのダウンロード