Excel によるモデリング: 概要 – 機能

Stephen Hall が、プロジェクト エンジニアリングに Excel を使用する方法に関するシリーズを紹介します。 インタラクティブなワークブックをダウンロードして、シリーズの展開に合わせて実験してください

から気づくかもしれません。 経験則 Microsoft Excel とそのスクリプト言語である Visual Basic for Applications (VBA) で開発した計算を仕事に組み込むことがよくあります。 エンジニアは、MATLAB、Aspen、Python など、多くの強力なソフトウェア プラットフォームとプログラミング言語を利用できます。 私は個人的に、問題を解決できるときはいつでも Excel を使用しています。 誰のコンピュータにもインストールされているように見え、巨大なサポート コミュニティがあり、シンプルなインターフェイス (つまり、プログラミングなし) を介して入力と出力を処理し、楽しく使用できます。

今日、そして今後数か月の間に、プロジェクト エンジニアリングのコンテキストで Excel を使用するための実用的なフレームワークを提供するために、読者のコメントが殺到する危険があります。 ベスト プラクティスを強調し、例を示して説明します。 エンジニアは Excel に精通しており、ほぼ毎日使用していると思います。 あなたの多くは VBA に精通しているか、少なくともある程度は理解しています。 多くの読者は、スプレッドシートの設計と使用方法に固執しており、私の考えを受け入れないかもしれません. したがって、私は見下しと難読化の間のどこかにある道をナビゲートするので、あなたの寛大さを求めます.

シミュレーションとモデリング

この記事での「シミュレーションとモデリング」への言及は冗談です。 シリーズが発展するにつれて、やがてそこにたどり着きますが、いくつかのハウスキーピングから始めましょう. 私はシミュレーションとモデリングという用語を同じ意味で使用する傾向がありますが、強調された場合は明確に説明します。 モデリングとは、単位操作またはプロセス単位が、通常は数学的な用語で、ほとんど静的な構成で描かれる場所です。 これは、熱伝達、流体力学、混合、気液平衡、またはその他のパラメータが計算された時間のスナップショットです。 モデルには、システム曲線を作成するために必要な段階的な計算が組み込まれており、それによって遠心ポンプからの流量を予測することができます。

シミュレーションも似ているため、私はこの用語を完全に使用していますが、厳密にはシミュレーションを、バッチや数週間または数か月の経過など、時間の経過に伴う結果 (シミュレートされた時間枠) を示すモデルと見なしています。 静的な答えを与えるのではなく、シミュレーションでは、システム設計に応じて、または外的要因によってパラメーターが変化します。

私の「TankJkt」スプレッドシートは、シミュレーションの実行にも使用できるモデルの例です。 www.pipesizingsoftware.com で例を示す PDF をダウンロードできます。

ユーザーは、タンクの寸法、ジャケットとコイルのパラメーター、攪拌機のタイプとサイズなどの物理データを入力します。 また、特定の伝熱流体 (HTF) の温度やタンク内容物の特性などの化学データも入力します。 このモデルは、ユーザーが入力したミキサー速度と HTF 流量から、ジャケットとコイルからタンクと環境への熱流束を計算します。 これにより、特定の条件での温度の変化率が得られます。 このモデルは、時間の経過とともに加熱または冷却されるタンクをシミュレートするためにも使用できます。 このモデルは、指定された時間間隔でタンクの内容物を新しい入力温度に置き換え、その結果をテーブルにまとめることで、シミュレートされた加熱または冷却曲線を作成します。 タンクが 20°C で開始し、加熱速度が 1 分あたり 1°C と計算される場合、モデルは 5 分の時点でタンク温度に 25°C を入力します。 フラックスを再計算します。 速度が毎分 0.95°C であることがわかった場合、10 分の時点で 25 + 0.95(5) = 29.75°C に置き換えます。 このサイクルは、最終温度に達するまで繰り返されます。

Excel では、比例積分微分 (PID) コントローラー モデルを使用して連続廃水中和システムをシミュレートできます。 このシステムでは、廃水タンクの内容物を中和するために酸と塩基が加えられます。 図 1a を参照. ユーザーは、PID 制御パラメーターとシステムの初期条件 (中和タンクの pH、入ってくる廃水の pH と流量) を入力してモデルを構成します。 スプレッドシートは、設定値からの偏差に基づいて酸または塩基の流量を計算します。 これは大きなテーブルで行われます。 最初の行は開始条件を示し、次の行はユーザー定義の時間増分 (たとえば 1 秒) だけ進みます。 入ってくるストリームからタンク内の pH を再計算し、PID 計算を繰り返します。

中和シミュレーションは、経時的な廃水の流れの pH と流量の変化を組み込むことによって刺激を受けます。 おそらく、特に苛性放電が 10 分ごとに 30 秒間発生します。 これはテーブルに階層化され、計算でこれらの行が検出されたときにモデルが応答します。

図 1: Excel を使用して、連続的な廃水中和システムをシミュレートできます

作品の記録

Excel でモデルを作成する前に、私の経験では、すべてのブックに次の要素を含めることをお勧めします。

  • タイトル: 私は通常、そのシートの目的を示すタイトルをすべてのシートに付け、プロジェクトのタイトルを示す「ホーム」ワークシートを付けます。 読みやすくするために、タイトルを太字サイズの 18 フォントで目立たせ、列 A (幅 = 2) と行 1 を空白用に予約しています。 私の役職はセル B2 にあります。
  • 作者名: これをプロジェクトのタイトルの下に配置し、該当する場合は連絡先情報を提供してください。 名前を電子メール アドレスまたは Web ページにハイパーリンクできます。
  • 現在の日付とリビジョン番号。 リビジョン番号は、プロジェクトが使用のためにリリースされたときに更新する必要があります。必ずしも中間作業バージョンごとに更新する必要はありません。 ただし、バージョンを比較する必要がある場合や、最新のリビジョンで作業していることを知りたい場合があるため、日付を更新すると便利です。
  • その他の関連情報 プロジェクト番号、クライアント名など。
  • ワークブックとワークシートの目的: これは、モデルまたはワークシートの目的を確立し、その範囲を定義する文または段落にすることができます。 新しい機能を追加するときは、これを更新する必要があります。 私は通常、印刷ページのマージン内に収まるようにテキストをフォーマットし、テキストに複数の行を使用します。 セルを結合したり、テキストを折り返したりしないでください。後で新しい列を挿入したり、列の幅を変更したりすると、テキストが乱雑になります。

仕事の整理

モデルはしばしば巨大なプロポーションに成長します。 だからこそ、論理的で明確な組織が重要です。 あなたが唯一のユーザーになるか、モデルが広く共有されるかどうかにかかわらず、プロジェクトの構造がその使いやすさと保守性を決定します。

Excel を使用する理由の 1 つは、入力/出力キャンバス (スプレッドシート) が既にプログラムされており、構成とカスタマイズの準備が整っていることです。 Excel の書式設定ツールを使用すると、ほぼすべてのルック アンド フィールを作成できます。 この力を利用して、関連するグループに入力を配置し、グループを一連のワークフローに編成し、入力する内容とプログラムが情報をどのように使用するかを説明するコメントを提供することで、ユーザーを支援します。

Excel の 3 次元構造を使用します。 ワークブックは、ワークシート (または単にシート) で構成されています。 各シートには行と列 (2D) があり、シートのコレクションが積み重ねられてワークブック (3D) が作成されます。 シミュレーション プロジェクトには、命令、入力、データ、計算、および出力専用のシートが必要です。 印刷または表示できるシートのレイアウトを確立します。 計算シートは、必要に応じて何千もの行と列を使用できます。 おそらくそれらを印刷することは考えないでしょう。 しかし、ドキュメント、レポート、およびプレゼンテーションの入力、仮定、および出力を印刷する可能性があります。 これらの印刷可能な要素を専用のシートに分割し、それらのシートをフォーマットすることで簡単になります。

モデルに複数のワークブックを使用すると、モデルの移植性が制限されるため、通常は使用しないことをお勧めします。 すべての物理特性データのワークブックを作成し、すべてのモデルからそのワークブックを参照できます。 これは素晴らしいコンセプトであり、検討する価値があるかもしれません。 ただし、モデルを共有するには、参照先のワークブックも共有する必要があることを意味します。 外部プロパティ ワークブックへの参照は、新しいファイル パスを提供するために更新する必要がある場合があります。 参照先のワークブックが会社のサーバーの静的な場所に保持されている場合、サーバーへの VPN パスがない限り、旅行中にモデルを開くと接続が失われる可能性があります。

やることリストとストーリーを維持する

モデルを開発したり、入力を操作したりする際に、簡単にメモを取り込める楽しい VBA サブルーチンを次に示します。 に示すいずれかのセルにテキストを入力すると、 図 2 セルに添付されたメモに追加されます。 テキストがセル幅よりも長い場合、表示されるテキストは切り捨てられますが、エントリ全体はメモに保持されます。 セルにカーソルを合わせると、ノート全体が表示されます (図 3 参照).

ルーチンには次の 2 つの部分があります。

1.指定したセルが編集されたことを検知 (リスト 1 を参照)。 セルは、「コメント」という単語を含む名前を付けることで指定されます
2.添付メモを作成します (リスト 2 を参照). ワークシートのテーブルにエントリの実行中のリストを保持する 3 番目の関数を追加することもできます。 (ダウンロード可能なコンテンツを参照).

図 2: サブルーチンによって管理されるセルを指すスクリーンショット

図 3: セルにカーソルを合わせると、収集されたメモが最新のエントリから順に表示されます

Excelの専門家であること

エクセルの力は無限大です。 通常、タスクを実行するには複数の方法があります。 スプレッドシートの組み込み関数 (推奨) を使用するか、それらの関数を VBA プログラミングで補足するかに関係なく、ほぼすべてのことを実行できます。 インターネット検索を使用して、技術的な「ハウツー」の質問に対する回答を見つけてください。 この一連の記事では、モデルを構築するために使用する構造とタスクについて説明しますが、これは完全な論文ではありません。 あなたの想像力、私のインスピレーション、そしてインターネット コミュニティは、Excel の第一人者になるために必要なツールです。

リスト 1: このルーチンは各ワークシートにあります。 シート上のセルが変更されるたびに実行されます

リスト 2: ManageComments サブルーチンは、各ワークシート (「プライベート」ラベル付き) に入力することも、モジュールに配置することもできます。 ワークシートに配置する利点は、シートが別のワークブックにコピーまたは移動された場合に、ワークシートと共に移動することです。

ダウンロード可能なコンテンツ

このシリーズの展開に合わせてダウンロード、操作、編集できる Excel ワークブックを作成しました。 ワークブックのホーム シートはコンテンツ ページとして機能し、VBA の開始方法など、さらに役立つリンクが含まれています。 この Modeling Examples インタラクティブ ワークブックをダウンロードするには、https://bit.ly/ModellingWithExcel にアクセスしてください。


これは、プロジェクト エンジニアリングに Excel を使用するための実践的なガイダンスを提供するシリーズの第 1 回です。 詳細については、次のシリーズ ハブにアクセスしてください。 https://www.thechemicalengineer.com/tags/modelling-with-excel


免責事項: この記事は、ガイダンスのみを目的として提供されています。 適用前に、専門家のエンジニアリングアドバイスを求める必要があります。

Leave a Comment

Your email address will not be published. Required fields are marked *