(57)【特許請求の範囲】
【請求項１】
複数のセルにそれぞれ数値計画シミュレーションの指標となる数値及び数式が含まれた、１以上のスプレッドシートを含むファイルを読み込み、
前記ファイルから１つのスプレッドシートを選択し、
前記選択されたスプレッドシート内のセルをスキャンし、
前記スキャンされたセルの内容の識別することを、前記ファイルから選択可能なスプレッドシートがなくなるまで繰り返すことで、前記１以上のスプレッドシート内の全てのセルを網羅的にスキャンするように
構成され、
前記セルの内容を識別することにおいて、前記セルの内容が数値であり、かつ該数値が計算に用いられている場合には、仮説データセルと識別して前記数値を記憶し、
前記セルの内容が数式であり、かつ該数式が更なる計算に用いられていない場合には、計算結果セルと識別して前記数式を記憶し、
前記セルの内容が数式であり、かつ該数式が更なる計算に用いられている場合には、計算セルと識別して前記数式を記憶し、
前記数値及び前記数式は、前記仮説データセル、前記計算結果セル及び前記計算セルのいずれかに識別された情報と、それらの間の参照関係に基づいて関連付けて、データセットとして、前記数値及び前記数式を示す名前と共にデータベースに記憶され、
前記データベースに記憶されたデータセットに含まれる前記数値及び前記数式の名前に基づいて、前記数値計画シミュレーションのゴールとなる１以上の指標の名前を、ユーザーにゴールを選択させるための選択画面に、１以上の候補名として一覧表示し、
前記１以上の候補名から１つの候補名がゴールとして選択された場合に、前記データベースから前記選択されたゴールに対応する計算結果セルが含まれるデータセットを抽出し、前記抽出されたデータセットに含まれる１以上の仮説データセル又は計算セルを仮説として読み出して、前記仮説の値を調節するスライドバーとともに、前記読み出された１以上の仮説を、仮説調整画面に一覧表示し、
前記数値及び前記数式に基づいて数値計画シミュレーションを実行することを特徴とするシミュレーションシステム。
【請求項２】
前記スプレッドシート内のセルのスキャン処理に基づいて、スキャンしたスプレッドシート数、セル数、仮説データ数、計算セル数及び計算結果セル数のうち少なくとも１つの数をカウントし、カウント数を逐次表示することを特徴とする請求項１に記載のシミュレーションシステム。
【請求項３】
前記データベースに記憶されたデータセットに含まれる前記数値及び前記数式からなる計算構造をツリー状に図式化して表示することを特徴とする請求項１又は２に記載のシミュレーションシステム。
【請求項４】
前記数値計画シミュレーションは、継続して試行され、
前記１以上の仮説の値は、それぞれ前記スライドバーの移動に応じて変更され、
変更された仮説の値を、継続して試行されている前記数値計画シミュレーションに入力として与えることで、リアルタイムにその結果を得ることを特徴とする請求項１から３のいずれか１項に記載のシミュレーションシステム。
【請求項５】
前記１以上の仮説のうち１つの仮説が選択された場合に、一覧表示において前記選択された仮説の項目と該項目の直下にある仮説の項目との間に、前記選択された仮説に関する関連情報を示す詳細情報表示画面を挿入して表示することを特徴とする請求項１から４のいずれか１項に記載のシミュレーションシステム。
【請求項６】
シミュレーションシステムによって実行されるシミュレーション方法において、
複数のセルにそれぞれ数値計画シミュレーションの指標となる数値及び数式が含まれた、１以上のスプレッドシートを含むファイルを読み込む読込ステップと
前記ファイルから１つのスプレッドシートを選択する選択ステップと、
前記選択されたスプレッドシート内のセルをスキャンするスキャンステップと、
前記スキャンされたセルの内容の識別する識別ステップと
を含み、
前記ファイルから選択可能なスプレッドシートがなくなるまで、前記選択ステップ、前記スキャンステップ及び前記識別ステップを繰り返すことで、前記１以上のスプレッドシート内の全てのセルを網羅的にスキャンし、
前記識別ステップは、前記セルの内容が数値であり、かつ該数値が計算に用いられている場合には、仮説データセルと識別して前記数値を記憶し、
前記セルの内容が数式であり、かつ該数式が更なる計算に用いられていない場合には、計算結果セルと識別して前記数式を記憶し、
前記セルの内容が数式であり、かつ該数式が更なる計算に用いられている場合には、計算セルと識別して前記数式を記憶することを行い、
前記数値及び前記数式は、前記仮説データセル、前記計算結果セル及び前記計算セルのいずれかに識別された情報と、それらの間の参照関係に基づいて関連付けて、データセットとして、前記数値及び前記数式を示す名前と共にデータベースに記憶され、
前記データベースに記憶されたデータセットに含まれる前記数値及び前記数式の名前に基づいて、前記数値計画シミュレーションのゴールとなる１以上の指標の名前を、ユーザーにゴールを選択させるための選択画面に、１以上の候補名として一覧表示し、
前記１以上の候補名から１つの候補名がゴールとして選択された場合に、前記データベースから前記選択されたゴールに対応する計算結果セルが含まれるデータセットを抽出し、前記抽出されたデータセットに含まれる１以上の仮説データセル又は計算セルを仮説として読み出して、前記仮説の値を調節するスライドバーとともに、前記読み出された１以上の仮説を、仮説調整画面に一覧表示し、
前記数値及び前記数式に基づいて数値計画シミュレーションを実行することを特徴とするシミュレーション方法。
【請求項７】
コンピュータに、
複数のセルにそれぞれ数値計画シミュレーションの指標となる数値及び数式が含まれた、１以上のスプレッドシートを含むファイルを読み込む読込ステップと
前記ファイルから１つのスプレッドシートを選択する選択ステップと、
前記選択されたスプレッドシート内のセルをスキャンするスキャンステップと、
前記スキャンされたセルの内容の識別する識別ステップと
を実行させ、
前記ファイルから選択可能なスプレッドシートがなくなるまで、前記選択ステップ、前記スキャンステップ及び前記識別ステップを繰り返し実行することで、前記１以上のスプレッドシート内の全てのセルを網羅的にスキャンし、
前記識別ステップにおいて、前記セルの内容が数値であり、かつ該数値が計算に用いられている場合には、仮説データセルと識別して前記数値を記憶し、
前記セルの内容が数式であり、かつ該数式が更なる計算に用いられていない場合には、計算結果セルと識別して前記数式を記憶し、
前記セルの内容が数式であり、かつ該数式が更なる計算に用いられている場合には、計算セルと識別して前記数式を記憶すること
を実行させ、
前記数値及び前記数式を、前記仮説データセル、前記計算結果セル及び前記計算セルのいずれかに識別された情報と、それらの間の参照関係に基づいて関連付けて、データセットとして、前記数値及び前記数式を示す名前と共にデータベースに記憶し、
前記データベースに記憶されたデータセットに含まれる前記数値及び前記数式の名前に基づいて、前記数値計画シミュレーションのゴールとなる１以上の指標の名前を、ユーザーにゴールを選択させるための選択画面に、１以上の候補名として一覧表示し、
前記１以上の候補名から１つの候補名がゴールとして選択された場合に、前記データベースから前記選択されたゴールに対応する計算結果セルが含まれるデータセットを抽出し、前記抽出されたデータセットに含まれる１以上の仮説データセル又は計算セルを仮説として読み出して、前記仮説の値を調節するスライドバーとともに、前記読み出された１以上の仮説を、仮説調整画面に一覧表示し、
前記数値及び前記数式に基づいて数値計画シミュレーションを実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スプレッドシート形式で入力された数値及び数式等に基づいて、数値計画シミュレーションを行い経営判断等の意思決定を支援するシミュレーションシステム、シミュ―レーション方法及びシミュレーションプログラムに関する。
【背景技術】
【０００２】
数値計画シミュレーション（例えば、投資計画等の経営シミュレーション）を実行する従来のシステムには、汎用の表計算ソフトウェア（例えば、マイクロソフト社のＥｘｃｅｌ等）を使用して、数値及び数式等を表形式のスプレッドシートに入力し、当該スプレッドシートに基づいて、数値計画シミュレーションを行うものがある。
【０００３】
例えば、特開２００３−６７５５０号公報（特許文献１）に記載の経営シミュレーションシステム等は、スプレッドシートのセルに対応付けられたデータあるいは計算式に基づいて経営指標あるいは経営要素となる数値を算出し、経営シミュレーションのための特殊なソフトウェアなどを用いることなく、汎用的な表計算ソフトウェアを用いて簡便に数値計画ミュレーションを行うものである。また、定量分析・シミュレーションを活用した意思決定をＥｘｃｅｌベースで実現した数値計画シミュレーションに関する数値計画シミュレーションシステムも既に存在する（非特許文献１参照）。
【０００４】
このような数値計画シミュレーションにおいて、将来この計画がどのような条件下どのように変化するかをシミュレートすることは、計画の実現性の判定、実施方法の確定及び計画実施の可否の決定、更には計画実行後のフォローのためにも非常に重要である。数値計画シミュレーションを実行する準備段階として、ユーザーは計画立案の際、リスク要因である諸仮説データにそれぞれの変動幅や他の条件を自ら検討し、手作業で入力するという工程が不可欠である。
【０００５】
数値計画シミュレーションに必要な売上、製造原価、純利益等の数値及び数式は、一般に、企業等の通常業務においてスプレッドシート形式（又は表形式）でデータベース等に蓄積されているものであるから、数値計画シミュレーションの際の手作業による入力の負担は、予めスプレッドシート形式で蓄積されている各種仮説データに必要な数値や数式等を用いることで軽減することができる（例えば、特開２００３−６７５５０号公報（特許文献１）参照）。また、企業等においては、汎用の表計算ソフトウェアを用いて、簡便なシミュレーションが行われていることもあり、その際に使用したスプレッドシートを再利用することで、数値計画シミュレーションの際の手作業による入力の負担を軽減することもできる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−６７５５０号公報
【非特許文献】
【０００７】
【非特許文献１】「Enterprise Business Simulation Solution Guide」、インテグラート株式会社、２０１３年１１月１９日、［平成２６年  ９月  ９日検索］、インターネット（URL:http://ds.integratto.co.jp/download/files/data/EBS_SolutionGuide.pdf）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の数値計画のシミュレーションでは、あらゆる計画に適用できるスプレッドシート形式のデータ入力テンプレートをあらかじめ準備することは、事実上不可能であるため、異なる計画の内容に応じて、スプレッドシートに入力されるデータの数、及びスプレッドシートにおけるデータの入力場所（入力セルの位置）は、計画ごとに異なることになる。そのため、数値計画シミュレーションシステムは、多種多様な形式のデータを含むスプレッドシートに対応しなければならない。
【０００９】
また、スプレッドシートには、数値計画シミュレーションに直接的に関係しないデータも多く含まれている場合があり、そのような多くのデータから、数値計画シミュレーションの際に、ユーザー等がリスク要因である諸仮説データの設定に必要なデータ、すなわち、数値及び数式等の指標を手作業で選定することは効率的ではない。さらに、必要な数値及び数式等の選定作業には、数値間の関連性や数式の意味等の専門的な知識を要するため、一般的なユーザーが選定作業を行うことは非常に困難である。このような選定作業の困難さは、諸仮説データの設定に漏れを生じ、数値計画シミュレーションの精度を低下させる一因ともなり得る。
【００１０】
そこで、ユーザーの諸仮説データの設定の手間を省き、例えば、ユーザーが事前に作成したＥｘｃｅｌのスプレッドシート上の事業計画の諸仮説データに何ら手を加えることなく、そのままクリックするだけで（又は「ワンクリック」で）１以上のスプレッドシートを含むブック全体が自動的に読み込まれ、仮説データも自動設定され、ユーザーは即時に感度分析やリスク分析までシミュレーションを実行できる数値計画シミュレーションを実現する必要がある。
【００１１】
このような課題を解決するために、スプレッドシートにおける数値及び数式等の参照関係等の関連性に基づいて、数値計画シミュレーションに必要な数値及び数式等を抽出し、抽出した数値及び数式に基づいて、数値計画シミュレーションを実行するように構成されたシミュレーションシステム、シミュ―レーション方法及びシミュレーションプログラムを提供する。
【課題を解決するための手段】
【００１２】
本発明に係るシミュレーションシステムの１つの実施形態として、
複数のセルにそれぞれ数値計画シミュレーションの指標となる数値及び数式が含まれた、１以上のスプレッドシートを含むファイルを読み込み、
前記ファイルから１つのスプレッドシートを選択し、
前記選択されたスプレッドシート内のセルをスキャンし、
前記スキャンされたセルの内容の識別することを、前記ファイルから選択可能なスプレッドシートがなくなるまで繰り返すことで、前記１以上のスプレッドシート内の全てのセルを網羅的にスキャンするように構成され、
前記セルの内容を識別することにおいて、前記セルの内容が数値であり、かつ該数値が計算に用いられている場合には、仮説データセルと識別して前記数値を記憶し、
前記セルの内容が数式であり、かつ該数式が更なる計算に用いられていない場合には、計算結果セルと識別して前記数式を記憶し、
前記セルの内容が数式であり、かつ該数式が更なる計算に用いられている場合には、計算セルと識別して前記数式を記憶し、
前記数値及び前記数式は、前記仮説データセル、前記計算結果セル及び前記計算セルのいずれかに識別された情報と、それらの間の参照関係に基づいて関連付けて、データセットとして、前記数値及び前記数式を示す名前と共にデータベースに記憶され、前記データベースに記憶されたデータセットに含まれる前記数値及び前記数式の名前に基づいて、前記数値計画シミュレーションのゴールとなる１以上の指標の名前を、ユーザーにゴールを選択させるための選択画面に、１以上の候補名として一覧表示し、
前記１以上の候補名から１つの候補名がゴールとして選択された場合に、前記データベースから前記選択されたゴールに対応する計算結果セルが含まれるデータセットを抽出し、前記抽出されたデータセットに含まれる１以上の仮説データセル又は計算セルを仮説として読み出して、前記仮説の値を調節するスライドバーとともに、前記読み出された１以上の仮説を、仮説調整画面に一覧表示し、
前記数値及び前記数式に基づいて数値計画シミュレーションを実行することを特徴とする。
【００１３】
本発明に係るシミュレーションシステムの１つの実施形態として、前記シミュレーションシステムは、前記スプレッドシート内のセルのスキャン処理に基づいて、スキャンしたスプレッドシート数、セル数、仮説データ数、計算セル数及び計算結果セル数のうち少なくとも１つの数をカウントし、カウント数を逐次表示することを特徴とする。
【００１４】
本発明に係るシミュレーションシステムの１つの実施形態として、前記シミュレーションシステムは、前記データベースに記憶されたデータセットに含まれる前記数値及び前記数式からなる計算構造をツリー状に図式化して表示することを特徴とする。
【００１５】
本発明に係るシミュレーションシステムの１つの実施形態として、前記シミュレーションシステムは、前記データベースに記憶されたデータセットに含まれる前記数値及び前記数式の名前に基づいて、前記数値計画シミュレーションのゴールとなる１以上の指標の名前を、ユーザーにゴールを選択させるための選択画面に、１以上の候補名として一覧表示することを特徴とする。
【００１６】
本発明に係るシミュレーションシステムの１つの実施形態として、前記シミュレーションシステムは、前記１以上の候補名から１つの候補名がゴールとして選択された場合に、前記データベースから前記選択されたゴールに対応する計算結果セルが含まれるデータセットを抽出し、前記抽出されたデータセットに含まれる１以上の仮説データセル又は計算セルを仮説として読み出して、前記仮説の値を調節するスライドバーとともに、前記読み出された１以上の仮説を、仮説調整画面に一覧表示することを特徴とする。
【００１７】
本発明に係るシミュレーションシステムの１つの実施形態として、前記数値計画シミュレーションは、継続して試行され、前記１以上の仮説の値は、それぞれ前記スライドバーの移動に応じて変更され、変更された仮説の値を、継続して試行されている前記数値計画シミュレーションに入力として与えることで、リアルタイムにその結果を得ることを特徴とする。
【００１８】
本発明に係るシミュレーションシステムの１つの実施形態として、前記シミュレーションシステムは、前記１以上の仮説のうち１つの仮説が選択された場合に、一覧表示において前記選択された仮説の項目と該項目の直下にある仮説の項目との間に、前記選択された仮説に関する関連情報を示す詳細情報表示画面を挿入して表示することを特徴とする。
【発明の効果】
【００１９】
本発明に係る数値計画シミュレーションシステムは、スプレッドシート内のセルを網羅的にスキャンして、数式の計算に用いられる数値及び数式を識別しているので、スプレッドシートにおける数値や数式等のデータの数やデータの入力場所に依存することなく、多種多様な形式のデータを含むスプレッドシートに対応することができる。
【００２０】
また、本発明に係る数値計画シミュレーションシステムは、スプレッドシート内のセルを順次スキャンすることにより、数値計画シミュレーションに必要な指標となる数値及び数式を全て識別することが可能であるので、数値計画シミュレーションの際に、リスク要因である諸仮説データの設定漏れをなくすことができる。これにより、数値計画シミュレーションの精度の低下を防ぐことができる。
【００２１】
さらに、ユーザーの諸仮説データの設定の手間を省き、ユーザーが事前に作成したＥｘｃｅｌのスプレッドシート上の事業計画の諸仮説データに何ら手を加えることなく、そのままクリックするだけで（又は「ワンクリック」で）、１以上のスプレッドシートを含むブック全体が自動的に読み込まれ、仮説データも自動設定され、ユーザーは即時に感度分析やリスク分析までシミュレーションを実行することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係る数値計画シミュレーションを実現するシステム構成の一例を示す図である。
【図２】数値計画シミュレーションシステムの端末に表示される入力画面を示す図である。
【図３】読み込んだファイルの内容を確認するための確認画面を示す図である。
【図４】ファイルに含まれる複数のスプレッドシートをスキャンした結果を表示するスキャン結果表示画面を示す図である。
【図５】スプレッドシート内のセルをスキャンし、数値計画シミュレーションに利用可能な数値及び数式をすべて識別して記憶する処理の流れを示すフローチャートである。
【図６】スプレッドシート内のセルをスキャンし、分析したい指標に関連する数値及び数式を個別に識別して記憶する処理の流れを示すフローチャートである。
【図７】数値及び数式からなる計算構造をツリー状に表現したものを示す図である。
【図８】数値計画シミュレーションのゴール（目標）を選択する選択画面を示す図である。
【図９】選択されたゴール（目標）を構成する仮説（入力値）を調整する仮説調整画面を示す図である。
【図１０】仮説（入力値）に関する情報を表示する詳細情報表示画面を示す図である。
【図１１】予め設定された値で変動幅を設定した仮説（入力値）に基づいて感度分析を行った結果を表示するトルネードチャート表示画面を示す図である。
【図１２】仮説（入力値）に基づいてリスク分析を行った結果を表示するシミュレーション結果表示画面を示す図である。
【発明を実施するための形態】
【００２３】
以下に図面を参照して、本発明の一実施形態について説明する。なお、実施の形態を説明するための全ての図において、同一部分には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２４】
図１は、本発明の一実施形態に係る数値計画シミュレーションを実現するシステム構成の一例を示す図である。図１に示す一実施形態に係る数値計画シミュレーションシステムは、数値計画シミュレーションを行うユーザーが操作する端末１と、該端末１とネットワーク３を介して接続されたサーバ２から構成される。端末１は、Ｗｅｂブラウザ等に表示された入力画面から、１以上のスプレッドシートを含むファイルをサーバ２にアップロードして、サーバ２がスプレッドシート内のセルに含まれる数値及び数式等のうち、数値計画シミュレーションに必要な数値及び数式を抽出して、感度分析やリスク分析等に基づく数値計画シミュレーションを実行する。端末１は、サーバ２から数値計画シミュレーションの結果を、ネットワーク３を介して受け取り、Ｗｅｂブラウザ等に表示することができる。
【００２５】
端末１及びサーバ２は、プロセッサ、メモリ、ハードディスク等の一般的なコンピュータのハードウェア資源を備えている。例えば、端末１は、サーバ２との間の通信を制御するネットワークインタフェースと、数値計画シミュレーションの処理を行うプログラムを格納したメモリと、当該プログラムを実行することで数値計画シミュレーションを実現する手段として機能するプロセッサと、数値計画シミュレーションの中の中間データ及び数値結果シミュレーションの後の結果データ等の各種データを格納するハードディスク等の記憶手段と、数値計画シミュレーションに必要な各種入力（データ）を入力する入力手段と、数値計画シミュレーションにおける中間結果及び最終結果等の各種データを表示する表示手段などから構成される。サーバ２についても、端末１と同様のコンピュータのハードウェア資源を備えるものである。
【００２６】
図１に示す数値計画シミュレーションシステムの一実施形態では、端末１が、数値計画シミュレーションシステムの入出力処理を主に行うプログラムを実行し、サーバ２が数値計画シミュレーションの主要な処理を行うプログラムを実行する。例えば、端末１は、例えば、サーバ２にアップロードするファイル名や数値計画シミュレーションに必要な仮説等の入力データをサーバ２に送信し、サーバ２から処理結果等の出力データを受信して、当該出力データをＷｅｂブラウザ等の表示画面に表示する処理を行う。サーバ２は、インターネット、公衆回線及び専用回線等のネットワーク３を介して、端末１から受信した入力データに基づいて数値計画シミュレーションを実行する。
【００２７】
このように、数値計画シミュレーションシステムにおける端末１とサーバ２は、それぞれの役割を果たすために機能しているが、別の実施形態として、数値計画シミュレーションシステムのすべての処理を端末１又はサーバ２で実行することも可能である。例えば、端末１において、ネットワーク３を介さずにスタンドアローンで、数値計画シミュレーションを実現できるように構成されたプログラムを実行することで、端末１のみによって数値計画シミュレーションシステムを実現することができる。サーバ２についても、同様にスタンドアローンで数値計画シミュレーションシステムを実現できる。
【００２８】
図２は、本発明の一実施形態に係る数値計画シミュレーションシステムに表示される入力画面を示す図である。入力画面は、例えば、端末１のモニタ等の表示手段に、Ｗｅｂブラウザを介して表示することができる。端末１を操作するユーザーは、Ｗｅｂブラウザを用いて、数値計画シミュレーションシステムのアドレス（ＵＲＬ）を指定することで、端末１上に図２に示すような入力画面を表示することができる。図１に示す実施形態では、サーバ２にアクセスするためのアドレス（ＵＲＬ）を指定することで、端末１のＷｅｂブラウザ上に、図２に示すような入力画面を表示させることができる。端末１がスタンドアローンで数値計画シミュレーションシステムとして動作する別の実施形態では、ユーザーは端末１の当該システムにアクセスするためのアドレス（ＵＲＬ）を指定する。
【００２９】
入力画面の入力欄１００には、ユーザーによって、Ｅｘｃｅｌ等の表計算ソフトのスプレッドシートを含むファイルの位置（パス）と共にファイル名が入力される。端末１は、入力されたファイル名に基づいて指定されたファイルにアクセスし、ファイルの内容を読み込み、サーバ２にネットワーク３を介してアップロードを行うことができる。端末１が単独で数値計画シミュレーションシステムである別の実施形態では、端末１はアップロードを行わずに、指定されたファイルの内容を単に読み込む。
【００３０】
前進矢印１０は、マウス等の入力手段でクリックされた際に、次の画面に遷移するためのボタンとして機能する。ユーザーは、入力欄１００に絶対パス形式でファイル名を指定し、前進矢印１０をマウス等の入力手段でクリックすると、そのクリックに応じて、端末１は、ファイルの内容をユーザーに確認させるために、図３に示すような確認画面をＷｅｂブラウザ上に表示することができる。なお、端末１は、図３に示すような確認画面を表示しつつ、バックグラウンドでアップロードを実行してもよい。
【００３１】
図３は、本発明の一実施形態に係る数値計画シミュレーションシステムにおいて、読み込まれたファイルの内容を確認するための確認画面を示す図である。端末１のモニタ等の表示手段によって、Ｗｅｂブラウザを介して表示される確認画面には、読み込んだファイルに含まれるスプレッドシートが示される。これにより、ユーザーは図２に示した入力画面で指定したファイルの内容を確認することができる。
【００３２】
後進矢印１１は、マウス等の入力手段でクリックされた際に、前の画面に戻るためのボタンとして機能する。つまり、ユーザーは、確認画面に表示されたファイルの内容が望ましいものではないような場合に、後進矢印１１をクリックすることで、端末１のＷｅｂブラウザ上に表示された図３に示す確認画面から図２に示す入力画面に戻り、ファイル名の入力をやり直すことができる。端末１は、ユーザーから新たなファイル名の入力を受け取り、ファイルに含まれるスプレッドシートの読み込みを行う。
【００３３】
ユーザーは、図３に示す確認画面における前進矢印１０を、マウス等の入力手段でクリックすると、そのクリックに応じて、端末１はサーバ２にファイルをアップロードし、サーバ２はアップロードされたファイルに含まれるスプレッドシートのスキャンを行うことができる。さらに、端末１は図４に示すスキャン結果画面をＷｅｂブラウザ上に表示する。なお、端末１が単独で数値計画シミュレーションシステムである別の実施形態では、サーバ２側で行う処理をすべて、端末１側で行うことになる。
【００３４】
図４は、ファイルに含まれる複数のスプレッドシートをスキャンした結果を表示するスキャン結果表示画面を示す図である。スキャン結果表示画面における結果表示欄１０２には、例えば、ファイル名、シート数、セル数、入力セル数（仮説データセル）、計算セル数、計算結果セル数といったスキャン結果が表示される。端末１は、サーバ２からスキャン結果を受け取り、その結果をＷｅｂブラウザ上に表示する。サーバ２は、スキャンした結果を端末１に逐次送信し、端末１はその結果を受け取り、その結果に応じて結果表示欄１０２の各種項目をリアルタイムに更新することができる。例えば、端末１は、サーバ２においてスキャンされたセル数をカウントするように、スキャン結果表示画面の結果表示欄１０２を更新することができる。これにより、ユーザーは、ファイルのスキャン状況を確認することができる。
【００３５】
ユーザーは、図４に示す確認画面における前進矢印１０を、マウス等の入力手段でクリックすると、そのクリックに応じて、端末１は図８に示す選択画面をＷｅｂブラウザ上に表示する。
【００３６】
図５は、スプレッドシート内のセルをスキャンし、数値計画シミュレーションに利用可能な数値及び数式をすべて認識して記憶する処理の流れを示すフローチャートである。図１に一実施形態の数値計画シミュレーションシステムでは、サーバ２のプロセッサによって数値計画シミュレーションのプログラムが実行され、サーバ２が図５に示される処理を行うことができる。なお、別の実施形態として、端末１が単独で数値計画シミュレーションシステムとして機能する場合には、端末１が図５に示される処理を実行する。
【００３７】
例えば、Ｅｘｃｅｌでは、ブック形式のファイル（以下、単に「ブック」という。）に１以上のスプレッドシートを含んでいる。図５に示される処理は、ブックに含まれるスプレッドシートを１つ選択し、選択されたスプレッドシート内のセルをスキャンし、スキャンされたセルの内容の識別することを、ブックから選択可能なスプレッドシートがなくなるまで繰り返すことで、ブックに含まれる１以上のスプレッドシート内の全てのセルを網羅的にスキャンするものである。
【００３８】
ステップＳ１では、スプレッドシートにおけるスキャン開始位置、例えば、左上端のセルからスキャンを開始する。セルのスキャンは、具体的にはセルの内容である数値、数式、文字、空白等のデータを読み込む。
【００３９】
ステップＳ２では、セルの内容が空白ではないか否かを判断する。セルの内容が空白でないならば（Ｓ２：はい）、ステップＳ３に進み、空白であるならば（Ｓ２：いいえ）、ステップＳ７に進む。ステップＳ７では、セルの内容を空白セルと認識して、スキャンを終了する。
【００４０】
ステップＳ３では、セルの内容が数字であるか否かを判断する。セルの内容が数字であるならば（Ｓ３：はい）、ステップＳ４に進み、数字ではなく単に文字であるならば（Ｓ３：いいえ）、ステップＳ８に進む。ステップＳ８では、セルの内容を文字セルと認識して、スキャンを終了する。
【００４１】
ステップＳ４では、セルの内容が数式であるか数値であるかを判断する。セルの内容が数式であるならば（Ｓ４：はい）、ステップＳ５に進み、数式ではなく数値であるならば（Ｓ４：いいえ）、ステップＳ９に進む。
【００４２】
ステップＳ５では、数式と判断されたセルの内容が更なる計算に用いられているか否かを判断する。その数式が別の数式に参照されているならば（Ｓ５：はい）、ステップＳ６に進み、計算セルと認識してスキャンを終了する。その数式が別の数式に参照されていないならば（Ｓ５：いいえ）、ステップＳ９に進み、計算結果セルと認識してスキャンを終了する。
【００４３】
ステップＳ９では、数値と判断されたセルの内容が計算に用いられているか否かを判断する。その数値が数式に参照されているならば（Ｓ９：はい）、ステップＳ１０に進み、仮説データセルと認識してスキャンを終了する。その数値が数式に参照されていないならば（Ｓ９：いいえ）、ステップＳ１１に進み、独立した数値セルと認識してスキャンを終了する。
【００４４】
ステップＳ１３では、１つのセルの内容の判断終了（セルのスキャン終了）後、スプレッドシートにおいて次のセル（例えば、スキャン終了したセルの右にあるセル）があるか否かを判断する（この判断の際に、当該スプレッドシートにおいて次にスキャン可能なセルがない場合に、ブックから選択可能な別のスプレッドシートあれば、別のスプレッドシートを選択し、選択されたスプレッドシートのスキャン開始位置（例えば、左上端）のセルを次にスキャン可能なセルと判断する）。次にスキャン可能なセルがあれば（Ｓ１３：はい）、ステップＳ１４に進み、次のセルのスキャンを開始する。スキャン可能なセルがなければ（Ｓ１３：いいえ）、ステップＳ１５に進み、認識された仮説データセル、計算結果セル及び計算セルを、それらに対応する数値及び数式の参照関係に基づいて関連付けて、仮説データのデータセットとして、それら数値及び数式を表す名前と共に、数値計画シミュレーションシステムのデータベース（例えば、サーバ２が備える記憶手段）に記憶される。
【００４５】
例えば、認識された仮説データセルを、当該仮説データセルと参照関係を有する計算セル及び計算結果セルと関連づけたデータセットする。次に、それら仮説データセル、計算セル及び計算結果セルの近傍（例えば、スプレッドシートにおける表の上端又は左端などの端）に位置する文字セル又は数式の関数名を、それぞれのセルの名前として自動的に関連づけるか、それら文字セル又は数式の関数名を、仮説データセル、計算セル及び計算結果セルの名前の候補としてユーザーに提示して、ユーザーによって仮説データセル、計算セル及び計算結果セルの名前として関連づけさせる。最後に、名前と関連づけた仮説データセル、計算セル及び計算結果セルを含むデータセットをデータベースに記憶する。データベースに記憶されたデータセットは、該データセットに含まれるセルの名前により検索可能となる。なお、スプレッドシートの名前、セルの位置などの情報も合わせて、データベースに記憶することもできる。ステップＳ１５においてデータベースへの記憶が終了すると、スプレッドシート内のセルをスキャンする処理を終了する。
【００４６】
図６は、スプレッドシート内のセルをスキャンし、分析したい指標に関連する数値及び数式を個別に識別して記憶する処理の流れを示すフローチャートである。図１に示される１つの実施形態の数値計画シミュレーションシステムでは、サーバ２のプロセッサによって数値計画シミュレーションのプログラムが実行され、サーバ２が図５に示される処理を行うことができる。なお、別の実施形態として、端末１が単独で数値計画シミュレーションシステムとして機能する場合には、端末１が図６に示される処理を実行する。
【００４７】
ステップＳ１’では、ユーザー入力に応じて、分析したい指標を選択し、ステップＳ２’に進む。ステップＳ２’では、選択された指標が計算されているセルをスキャンする。例えば、選択された指標に対応する関数名が含まれるセルを、ブックに含まれる１以上のスプレッドシートから検索して、当該セルと参照関係を有する数値や数式が含まれるセルをスキャンするか、選択された指標に対応する文字列が含まれるセルを、ブックに含まれる１以上のスプレッドシートから検索し、当該文字列に関連する数式や数値が含まれるセルをスキャンする。
【００４８】
ステップＳ３’では、ステップＳ２’でスキャンしたセルについて、そのセルの計算のために参照されているセルはあるか否かを判断する。言い換えると、スキャンしたセルを参照する数値又は数式を含むセルがあるか否かを判断する。ステップＳ２’でスキャンしたセルについて、そのセルを参照するセルがあるならば（Ｓ３’：はい）、ステップＳ４’に進み、参照されているセル（計算セル）へ移動し、当該セルをスキャンする。ステップＳ２’でスキャンしたセルについて、そのセルを参照するセルがなければ（Ｓ３’：いいえ）、ステップＳ６’に進み、そのセルに入力されているのは、計算式ではなく仮説データであると認識し、分析したい指標の参照構造の解析を終了する。
【００４９】
ステップＳ５’では、ステップＳ４’でスキャンしたセルについて、そのセルの計算のために参照されているセルはあるか否かを判断する。参照されているセルがあるならば（Ｓ５’：はい）、ステップＳ４’に戻り、参照されているセル（計算セル）へ移動し、当該セルをスキャンする。参照されているセルがなければ（Ｓ５’：いいえ）、ステップＳ７’に進み、ステップＳ４’でスキャンしたセルについて、そのセルを仮説データセルと認識し、分析したい指標の参照構造の解析を終了する。
【００５０】
ステップＳ８’では、最初に選択された指標とその計算（数式）に用いられたすべての仮説データ（数値）を一覧表示する。なお、それら一覧表示されたものは、データベースに記憶することもできる。そして、スプレッドシート内のセルを個別にスキャンする処理を終了する。
【００５１】
図７は、データベースに記憶された数値及び数式からなる計算構造をツリー状に表現したものを示す。本発明の１つの実施形態に係る数値計画シミュレーションシステムは、数値と数式の間の参照関係を、数値及び数式からなる計算構造として図式化することができる。つまり、ユーザーが、シミュレーションをかけたいと指定する指標に必要な計算構造全体、即ちその計算結果に関する諸仮定データ間の因果関係の全体を図式化する。例えば、図７に示すように、スプレッドシートのスキャン処理の後、データベース等に記憶された数値及び数式からなる計算構造をツリー状に表現し、例えば、端末１のＷｅｂブラウザ上に表示することもできる。これにより、ユーザーは諸仮説データ間の因果関係を容易に把握することができる。
【００５２】
図８は、数値計画シミュレーションのゴール（目標）を選択する選択画面を示す図である。キーワード入力欄１０３は、データベースに記憶されたデータセットから数値計画シミュレーションのゴール（目標）に関連するものを検索するためのキーワード等を入力させる入力欄である。検索ボタン１０４は、検索実行のために、ポインティングデバイス等の入力手段によってクリックされるボタンである。例えば、検索ボタン１０４がクリックされると、数値計画シミュレーションシステムにおけるサーバ２は、キーワード入力欄１０３に入力されたキーワードに少なくとも部分的に一致する名前を有するデータセットをデータベースから検索し、端末１のＷｅｂブラウザ上の選択画面に検索結果が一覧表示される。また、別の実施形態として、キーワード入力欄１０３及び検索ボタン１０４を表示せずに、データベースに記憶されたデータセットを、予め選択画面に一覧表示することも可能である。
【００５３】
選択画面における一覧表示は、例えば、項目１０５と項目１０６からなるリストを表示する。項目１０５には、数値計画シミュレーションのゴールとして選択可能な指標が表示され、項目１０６には、項目１０５に表示された指標の詳細情報が表示される。例えば、「ＮＰＶ」（正味現在価値）が項目１０５に表示され、スプレッドシート名として「開発企画」、スプレッドシート内の場所として「Ｄ２７３」が項目１０６に表示され、同様に、「ＩＲＲ」（内部収益率）、「投資回収期間」がそれぞれ項目１０５に相当する位置に表示され、それぞれの詳細情報「シート名：開発企画、場所Ｅ３５１」、「シート名：評価サマリー、場所：ＡＢ５」のように表示される。
【００５４】
ユーザーは、端末１のＷｅｂブラウザ上に図８のように表示された選択画面を用いて、数値計画シミュレーションのゴールとして設定する指標を選択することができる。例えば、項目１０５として表示された「ＮＰＶ」、「ＩＲＲ」及び「投資回収期間」には、それぞれ図９に示す次の画面へのリンクが貼られ、ユーザーがポインティングデバイス等の入力手段により、リンクをクリックすることで、次の画面（図９参照）に遷移させることができる。また、項目１０５に示される指標を選択してから、前進矢印１０をクリックすることにより、画面を遷移させてもよい。
【００５５】
図９は、選択されたゴール（目標）を構成する仮説（入力値）を調整する仮説調整画面を示す図であり、ユーザーが数値計画シミュレーションのゴールとして、「ＮＰＶ」を選択した場合の仮説調整画面を示す。数値計画シミュレーションシステムは、「ＮＰＶ」に関するデータセットをデータベースから読み込み、シミュレーション（例えば、非特許文献１に示されるような感度分析、リスク分析（モンテカルロシミュレーション））を実行する準備を行う。
【００５６】
図９に示される仮説調整画面において、目標値欄１０７は選択されたゴール（目標値）を表示する。仮説一覧表１０８には、目標値欄１０７に表示されたゴールを構成する仮説（入力値）を表示する。図９に示される実施例では、ゴールとする指標である「ＮＰＶ」と、その値「￥４９６」が目標値欄１０７に表示され、「ＮＰＶ」を構成する「当初市場規模」、「市場成長率（５年間）」、「ピーク時シェア」等の仮説が「入力値名」として表示される。この際に、数値計画シミュレーションシステムは、データベースからゴールとした「ＮＰＶ」に対応する計算結果セルが含まれるデータセットを検索し、検索されたデータセットに含まれる、「当初市場規模」、「市場成長率（５年間）」、「ピーク時シェア」等の仮説データセル又は計算セルを仮説（入力値）として読み出して、それらを仮説調整画面に一覧表示する処理を行う。また、仮説一覧表１０８の「現在値」の欄には、入力値の現在の値がそれぞれ表示され、「現在値スライドバー」の欄には「現在値」の欄に表示された値を調節するためのスライドバーがそれぞれ表示される。
【００５７】
ユーザーは、端末１のＷｅｂブラウザに表示された仮説調整画面において、「現在値スライドバー」欄のスライドバーを左右に移動させることで、その移動に連動して、仮説の現在値を増減させることができる。数値計画シミュレーションシステムは、仮説の現在値の増減に応じて、動的にシミュレーションを行うことができる。ユーザーは仮説一覧表１０８の「入力値名」欄の仮説の名前を、ポインティングデバイス等の入力手段でクリックすると、クリックされた仮説に関する情報を示す詳細情報表示画面（図１０）が表示される。
【００５８】
図１０は、仮説（入力値）に関する情報を表示する詳細情報表示画面を示す図である。例えば、仮説「当初市場規模」がクリックされると、仮説一覧表１０８における「当初市場規模」と該「当初市場規模」の直下の「市場成長率（５年間）」との間に、詳細情報表示画面１０９が挿入されて表示される。詳細情報表示画面１０９には、「当初市場規模」に関する情報として、ユーザーによるコメント、時系列データ、グラフ等の関連情報を表示することができる。ユーザーにより前進矢印１０がクリックされると、クリック入力に応じて、数値計画シミュレーションシステムのサーバ２は、シミュレーションを実行し、端末１のＷｅｂブラウザ上には、図１１に示すような画面が表示される。
【００５９】
図１１は、予め設定された値で変動幅を設定した仮説（入力値）に基づいて感度分析を行った結果を表示するトルネードチャート表示画面を示す図である。仮説一覧表１１０の「入力値名」欄に表示された仮説は、感度分析の結果に応じて、感度の大きい順（又は小さい順）に並び替えられて表示される。図１１に示す実施例では、「当初価格」、「単位あたり製造原価」、「価格下落率（５年間）」等を感度の大きい順に表示している。仮説一覧表の「Ｌｏｗ」欄には、仮説がとり得る最小値を表示し、「Ｈｉｇｈ」欄には仮説がとり得る最大値を表示することができる。仮説がとり得る最小値及び最大値は、例えば、現在値の−２０％及び＋２０％といったように適宜予め設定することができる。
【００６０】
このように、仮説がとり得る最小値及び最大値は適宜予め設定可能であるから、ユーザーの諸仮説データの設定の手間を省き、初期の仮説データに何ら手を加えることなく、そのままクリックするだけで、ユーザーは即時に感度分析やリスク分析までシミュレーションを実行することができる。
【００６１】
各仮説のスライドバー１１１の調節に応じて、又は、手入力あるいはスライドバーによる最小値（「Ｌｏｗ」欄に示される値）又は最大値（「Ｈｉｇｈ」欄に示される値）の調節に応じて、リアルタイムに感度分析を行い、仮説一覧表１０８の「現在値スライドバー」欄において、感度分析結果をトルネードチャートとして表示する。別の実施形態として、感度分析結果を示すトルネードチャートを別の欄又は別の画面に表示することもできる。各仮説のスライドバーのうち１つのスライドバー１１１を動かすと、それに応じて、仮説一覧表１１０の「入力値名」欄の仮説の並び替え、目標値（当該実施例ではＮＰＶの値）の変化等を、アニメーション効果を付けて表示するようにしてもよい。それぞれの仮説に対応するスライドバー１１１の変動幅は、予め設定された最小値（Ｌｏｗの値）から最大値（Ｈｉｇｈの値）までである。また、手入力又はスライドバーによって、Ｌｏｗの値及びＨｉｇｈの値のうちの少なくとも一方が調節された場合には、調節されたＬｏｗ、Ｈｉｇｈの値に応じて、スライドバー１１１の変動幅を変更することができる。
【００６２】
図１２は、仮説（入力値）に基づいてリスク分析（モンテカルロシミュレーション）を行った結果を表示するシミュレーション結果表示画面を示す図である。図１２に示すシミュレーション結果表示画面は、例えば、図１１に示すトルネードチャート表示画面における前進矢印１０がクリックされることに応じて表示される。そして、数値計画シミュレーションシステムのサーバ２は、仮説の値（入力値）に基づいて、リスク分析としてモンテカルロシミュレーションを実行する。シミュレーション結果表示画面には、確率分布がシミュレーションの実行に応じて変化するように表示される。
【００６３】
シミュレーション結果表１１２は、モンテカルロシミュレーションの結果得られた期待値等が表示される。ＮＰＶをゴール（目標値）とする実施例では、「ＮＰＶ期待値」、「期待値達成率」及び「ゼロ超え確率」が数値と共に表示される。モンテカルロシミュレーションは、常に一定の試行回数（例えば、１万回又は５万回）で継続して試行される。スライドバー１１１又は手入力で入力値、及び、Ｌｏｗの値又はＨｉｇｈの値が変更されることによって、計算結果の値が変動する。入力値が変更された場合、シミュレーション結果表１１２に示される期待値等の値も、試行の継続に伴って更新される。つまり、モンテカルロシミュレーションを連続的に運転し続けることで、スライドバー等を動かす毎にリスク分析の結果を動的に変化させることができる。
【００６４】
また、図２に示される入力画面において、入力欄１００にファイル名を指定して、前進矢印１０をクリックするだけで、ブックの１以上のスプレッドシートをすべてスキャンして、スキャンした仮説データに基づいて数値計画シミュレーションを自動的に実行し、図１１又は図１２に示すような結果を表示するように数値計画シミュレーションシステムを構成することができる。これにより、ワンクリックでシミュレーション結果を得ることができる。
【００６５】
ユーザーは、図１１及び図１２に示された感度分析、リスク分析（モンテカルロシミュレーション）等のシミュレーション結果に基づいて、将来の予測を立てて意思決定を容易に行うことができる。
【産業上の利用可能性】
【００６６】
本発明に係る数値計画シミュレーションシステム、シミュレーション方法及びシミュレーションプログラムは、民間機関や公的機関（水道事業、公共交通、その他インフラ投資など）の経営上の企画立案や意思決定を支援するための数値計画シミュレーションの分野において利用することができる。
【符号の説明】
【００６７】
１０  前進矢印
１１  後進矢印
１００  入力欄
１０２  結果表示欄
１０３  キーワード入力欄
１０４  検索ボタン
１０５  項目
１０６  項目
１０７  目標値欄
１０８  仮説一覧表
１０９  詳細情報表示画面
１１０  仮説一覧表
１１１  スライドバー
１１２  シミュレーション結果表
【要約】
【課題】従来の数値計画のシミュレーションでは、あらゆる計画に適用できるスプレッドシート形式のデータ入力テンプレートを準備することは事実上不可能であるため、数値計画シミュレーションシステムは、多種多様な形式のデータを含むスプレッドシートに対応しなければならない。
【解決手段】スプレッドシートにおける数値及び数式等の関連性に基づいて、数値計画シミュレーションに必要な数値及び数式等を抽出し、抽出した数値及び数式に基づいて、数値計画シミュレーションを実行するように構成されたシミュレーションシステム、シミュ―レーション方法及びシミュレーションプログラムを提供する。
【選択図】図９【図１】
0005758534.tif 000002
【図５】
0005758534.tif 000003
【図６】
0005758534.tif 000004
【図２】
0005758534.tif 000005
【図３】
0005758534.tif 000006
【図４】
0005758534.tif 000007
【図７】
0005758534.tif 000008
【図８】
0005758534.tif 000009
【図９】
0005758534.tif 000010
【図１０】
0005758534.tif 000011
【図１１】
0005758534.tif 000012
【図１２】
0005758534.tif 000013