[]
        
(Showing Draft Content)

What-If 分析

What-If 分析は、1 つ以上の入力値の変更が数式の結果にどのように影響するかを評価するためのモデリング手法です。セルを手動で変更して再計算を繰り返す代わりに、What-If 分析を使用すると、さまざまなシナリオを体系的に検証し、前提条件の違いによって結果がどのように変化するかを確認できます。SpreadJSでは、What-If 分析を実行するために、次の 2 つのアプローチを提供しています。

  • データテーブル分析(SJS.TABLEワークシート関数を使用)

  • ゴールシーク分析(GC.Spread.Sheets.CalcEngine.goalSeekメソッドを使用)

どちらもシナリオベースの分析をサポートしますが、目的や動作が異なります。

データテーブル分析(SJS.TABLE)

SJS.TABLE は、複数の入力の組み合わせに対して結果セルまたは範囲を評価し、収集した結果を動的配列として返します。標準のワークシート数式として実装されているため、次の特性があります。

  • 通常のワークシート再計算の対象になります

  • 編集やコピーができ、ほかの関数内にネストできます

  • 結果を隣接セルに自動的にスピル(展開)します

また、SJS.TABLE には次の特性があります。

  • 動的配列とインライン配列をサポートします

  • 1 つの数式で複数の入力変数を扱うことができます

  • シート間参照と名前付き範囲をサポートします

データテーブル分析は、事前に定義した入力値セットに対する結果を比較する用途に適しています。

ゴールシーク分析

goalSeek は、数式が目標値に到達するまで、変化させるセルの値を調整する命令型の計算メソッドです。SJS.TABLE と異なり、ゴールシークには次の特性があります。

  • 変化させるセルを直接変更します

  • 内部で数値解法アルゴリズムを使用します

  • boolean または Promise<boolean> を返します

  • ワークシート数式ではなく CalcEngine API を通じて動作します

ゴールシークは、特定の支払額になる金利を求めるなど、目標となる結果から必要な入力値を逆算する用途に適しています。

比較

項目

データ テーブル(SJS.TABLE

ゴール シーク(goalSeek

種類

ワークシート数式

CalcEngine API メソッド

実行モデル

宣言型

命令型

主な目的

複数の入力値の組み合わせを評価する

目標結果に対応する入力値を求める

戻り値

動的配列

boolean または Promise<boolean>

ワークシートセルの変更

いいえ

はい

関連トピック

トピック

説明

SJS.TABLE 関数

構文、パラメータ、および一般的な使用パターン

入力と結果のルール

出力サイズと入力の対応動作に関する詳細なルール

パフォーマンスと計算

再計算の制御と進捗状況の確認

Excel 互換性

インポートとエクスポートの動作、および互換性の制限

ゴールシーク

API リファレンスと求解時の動作

SpreadJS デザイナ で What-If 分析を使用する

SpreadJS デザイナでは、What-If 分析ツールを[What-If 分析]メニューから利用できます。

  • ゴールシーク

  • データテーブル

image

SpreadJS デザイナ のインターフェイスと設定手順の詳細については、What-If 分析を参照してください。