(57)【要約】  【課題】  文字列により表現された表を表計算ソフトウェアにより処理可能な表に適切に変換すること。  【解決手段】  順序づけられた複数の文字列により表現される表を収集する文字列収集部１１と、複数の文字列の各々から数値を表現する数値部分を抽出する数値抽出部１３と、複数列番号と複数行番号とに対応する複数セルに数値部分を割り当てる割当部１５とを備えている。複数セルのうちの第１文字列から抽出された第１数値部分が割り当てられる第１数値セルの列番号は、第１文字列に隣接する第２文字列から第２数値部分が抽出され、かつ、第１数値部分が配置される第１文字列の中の位置と第２数値部分が配置される第２文字列の中の位置とが重なるときに、複数セルのうちの第２数値部分が割り当てられる第２数値セルの列番号と一致する。  【選択図】  図３
2006139512.tif 000002
【特許請求の範囲】
【請求項１】
順序づけられた複数の文字列により表現される表を収集する文字列収集部と、
前記複数の文字列の各々から数値を表現する数値部分を抽出する数値抽出部と、
複数列番号と複数行番号とに対応する複数セルに前記数値部分を割り当てる割当部とを具備し、
前記複数セルのうちの第１文字列から抽出された第１数値部分が割り当てられる第１数値セルの列番号は、前記第１文字列に隣接する第２文字列から第２数値部分が抽出され、かつ、前記第１数値部分が配置される前記第１文字列の中の位置と前記第２数値部分が配置される前記第２文字列の中の位置とが重なるときに、前記複数セルのうちの前記第２数値部分が割り当てられる第２数値セルの列番号と一致する
表計算装置。
【請求項２】
請求項１において、
前記複数の文字列の各々のうちの前記数値部分を除く非数値部分から所定の区切り文字で挟まれる項目名部分を抽出する項目名抽出部を更に具備し、
前記項目名部分のうちの項目名文字列から抽出される抽出項目名部分が配置される前記項目名文字列の中の位置は、前記数値部分のうちの前記項目名文字列と異なる数値文字列から抽出される対応数値部分が配置される前記数値文字列の中の位置と概ね一致し、
前記割当部は、前記複数セルに前記項目名部分を更に割り当て、
前記複数セルのうちの前記抽出項目名部分が割り当てられる項目名セルの列番号は、前記複数セルのうちの前記対応数値部分が割り当てられる数値セルの列番号と一致する
表計算装置。
【請求項３】
請求項２において、
前記項目名抽出部は、前記非数値部分から前記項目名部分を除く文字列部分を更に抽出し、
前記割当部は、
前記複数の文字列のうちの第１割当文字列から抽出文字列部分が抽出されるときに、前記第１割当文字列の先頭から前記抽出文字列部分の先頭までの文字数に基づいて算出される列番号に対応するセルに前記抽出文字列部分を割り当て、
前記複数の文字列のうちの第２割当文字列から抽出数値部分が抽出されるときに、前記第２割当文字列の先頭から前記抽出数値部分の末尾までの文字数に基づいて算出される列番号に対応するセルに前記抽出数値部分を割り当てる
表計算装置。
【請求項４】
請求項１〜請求項３のいずれかにおいて、
前記割当部は、前記複数の文字列の１つの文字列のうちの第１部分が第１セルに割り当てられるときに、前記１つの文字列のうちの前記第１部分より末尾側に配置される第２部分を前記第１セルの列番号より大きい列番号の第２セルに割り当てる
表計算装置。
【請求項５】
請求項１〜請求項４のいずれかにおいて、
前記複数セルにより表現される第１シートと第２シートとを収集するシート収集部と、
条件を収集する条件収集部と、
前記第１シートから第１比較対象セルを抽出し、前記第２シートから前記第１比較対象セルに列番号と行番号とが一致する第２比較対象セルとの組を抽出する対応セル抽出部と、
前記第１比較対象セルと前記第２比較対象セルとを比較して比較結果を算出する比較結果算出部と、
前記比較結果が前記条件を満たすときに前記第１比較対象セルと前記第２比較対象セルとの組を第１表示形式でレポートに記入し、前記比較結果が前記条件を満たさないときに前記組を前記第１表示形式と異なる第２表示形式で前記レポートに記入するマーキング部
とを具備する表計算装置。
【請求項６】
請求項５において、
検索項目名を収集する項目名収集部と、
前記組のうちから前記検索項目名に対応する組を抽出して他のレポートに記入する対応情報抽出部
とを具備する表計算装置。
【請求項７】
請求項１〜請求項４のいずれかにおいて、
前記複数セルにより表現される第１シートと第２シートとを収集するシート収集部と、
検索項目名を収集する項目名収集部と、
前記第１シートのうちの前記検索項目名に対応する第１情報と前記第２シートのうちの前記検索項目名に対応する第２情報とをレポートに記入する対応情報抽出部
とを具備する表計算装置。
【請求項８】
順序づけられた複数の文字列により表現される表を収集するステップと、
前記複数の文字列の各々から数値を表現する数値部分を抽出するステップと、
複数列番号と複数行番号とに対応する複数セルに前記数値部分を割り当てるステップとを具備し、
前記複数セルのうちの第１文字列から抽出された第１数値部分が割り当てられる第１数値セルの列番号は、前記第１文字列に隣接する第２文字列から第２数値部分が抽出され、かつ、前記第１数値部分が配置される前記第１文字列の中の位置と前記第２数値部分が配置される前記第２文字列の中の位置とが重なるときに、前記複数セルのうちの前記第２数値部分が割り当てられる第２数値セルの列番号と一致する
表計算方法。
【請求項９】
請求項７において、
前記複数の文字列の各々のうちの前記数値部分を除く非数値部分から所定の区切り文字で挟まれる項目名部分を抽出するステップと、
前記複数セルに前記項目名部分を更に割り当てるステップとを更に具備し、
前記項目名部分のうちの項目名文字列から抽出される抽出項目名部分が配置される前記項目名文字列の中の位置は、前記数値部分のうちの前記項目名文字列と異なる数値文字列から抽出される対応数値部分が配置される前記数値文字列の中の位置と概ね一致し、
前記複数セルのうちの前記抽出項目名部分が割り当てられる項目名セルの列番号は、前記複数セルのうちの前記対応数値部分が割り当てられる数値セルの列番号と一致する
表計算方法。
【請求項１０】
請求項９において、
前記非数値部分から前記項目名部分を除く文字列部分を抽出するステップを更に具備し、
前記複数の文字列のうちの第１割当文字列から抽出文字列部分が抽出されるときに、前記抽出文字列部分は、前記第１割当文字列の先頭から前記抽出文字列部分の先頭までの文字数に基づいて算出される列番号に対応するセルに割り当てられ、
前記複数の文字列のうちの第２割当文字列から抽出数値部分が抽出されるときに、前記抽出数値部分は、前記第２割当文字列の先頭から前記抽出数値部分の末尾までの文字数に基づいて算出される列番号に対応するセルに割り当てられる
表計算方法。
【請求項１１】
請求項８〜請求項１０のいずれかにおいて、
前記複数の文字列の１つの文字列のうちの第１部分が第１セルに割り当てられるときに、前記１つの文字列のうちの前記第１部分より末尾側に配置される第２部分は、前記第１セルの列番号より大きい列番号の第２セルに割り当てられる
表計算方法。
【請求項１２】
請求項８〜請求項１１のいずれかにおいて、
前記複数セルにより表現される第１シートと第２シートとを収集するステップと、
条件を収集するステップと、
前記第１シートから第１比較対象セルを抽出し、前記第２シートから前記第１比較対象セルに列番号と行番号とが一致する第２比較対象セルとの組を抽出するステップと、
前記第１比較対象セルと前記第２比較対象セルとを比較して比較結果を算出するステップと、
前記比較結果が前記条件を満たすときに前記第１比較対象セルと前記第２比較対象セルとの組を第１表示形式でレポートに記入し、前記比較結果が前記条件を満たさないときに前記組を前記第１表示形式と異なる第２表示形式で前記レポートに記入するステップ
とを具備する表計算方法。
【請求項１３】
請求項１２において、
検索項目名を収集するステップと、
前記組のうちから前記検索項目名に対応する組を抽出して他のレポートに記入するステップ
とを具備する表計算方法。
【請求項１４】
請求項８〜請求項１１のいずれかにおいて、
前記複数セルにより表現される第１シートと第２シートとを収集するステップと、
検索項目名を収集するステップと、
前記第１シートのうちの前記検索項目名に対応する第１情報と前記第２シートのうちの前記検索項目名に対応する第２情報とをレポートに記入するステップ
とを具備する表計算方法。
【請求項１５】
順序づけられた複数の文字列により表現される表を収集するステップと、
前記複数の文字列の各々から数値を表現する数値部分を抽出するステップと、
複数列番号と複数行番号とに対応する複数セルに前記数値部分を割り当てるステップとを具備し、
前記複数セルのうちの第１文字列から抽出された第１数値部分が割り当てられる第１数値セルの列番号は、前記第１文字列に隣接する第２文字列から第２数値部分が抽出され、かつ、前記第１数値部分が配置される前記第１文字列の中の位置と前記第２数値部分が配置される前記第２文字列の中の位置とが重なるときに、前記複数セルのうちの前記第２数値部分が割り当てられる第２数値セルの列番号と一致する
表計算プログラム。
【請求項１６】
請求項１５において、
前記複数の文字列の各々のうちの前記数値部分を除く非数値部分から所定の区切り文字で挟まれる項目名部分を抽出するステップと、
前記複数セルに前記項目名部分を更に割り当てるステップとを更に具備し、
前記項目名部分のうちの項目名文字列から抽出される抽出項目名部分が配置される前記項目名文字列の中の位置は、前記数値部分のうちの前記項目名文字列と異なる数値文字列から抽出される対応数値部分が配置される前記数値文字列の中の位置と概ね一致し、
前記複数セルのうちの前記抽出項目名部分が割り当てられる項目名セルの列番号は、前記複数セルのうちの前記対応数値部分が割り当てられる数値セルの列番号と一致する
表計算プログラム。
【請求項１７】
請求項１６において、
前記非数値部分から前記項目名部分を除く文字列部分を抽出するステップを更に具備し、
前記複数の文字列のうちの第１割当文字列から抽出文字列部分が抽出されるときに、前記抽出文字列部分は、前記第１割当文字列の先頭から前記抽出文字列部分の先頭までの文字数に基づいて算出される列番号に対応するセルに割り当てられ、
前記複数の文字列のうちの第２割当文字列から抽出数値部分が抽出されるときに、前記抽出数値部分は、前記第２割当文字列の先頭から前記抽出数値部分の末尾までの文字数に基づいて算出される列番号に対応するセルに割り当てられる
表計算プログラム。
【請求項１８】
請求項１５〜請求項１７のいずれかにおいて、
前記複数の文字列の１つの文字列のうちの第１部分が第１セルに割り当てられるときに、前記１つの文字列のうちの前記第１部分より末尾側に配置される第２部分は、前記第１セルの列番号より大きい列番号の第２セルに割り当てられる
表計算プログラム。
【請求項１９】
請求項１５〜請求項１８のいずれかにおいて、
前記複数セルにより表現される第１シートと第２シートとを収集するステップと、
条件を収集するステップと、
前記第１シートから第１比較対象セルを抽出し、前記第２シートから前記第１比較対象セルに列番号と行番号とが一致する第２比較対象セルとの組を抽出するステップと、
前記第１比較対象セルと前記第２比較対象セルとを比較して比較結果を算出するステップと、
前記比較結果が前記条件を満たすときに前記第１比較対象セルと前記第２比較対象セルとの組を第１表示形式でレポートに記入し、前記比較結果が前記条件を満たさないときに前記組を前記第１表示形式と異なる第２表示形式で前記レポートに記入するステップ
とを具備する表計算プログラム。
【請求項２０】
請求項１５において、
検索項目名を収集するステップと、
前記組のうちから前記検索項目名に対応する組を抽出して他のレポートに記入するステップ
とを具備する表計算プログラム。
【請求項２１】
請求項１５〜請求項１８のいずれかにおいて、
前記複数セルにより表現される第１シートと第２シートとを収集するステップと、
検索項目名を収集するステップと、
前記第１シートのうちの前記検索項目名に対応する第１情報と前記第２シートのうちの前記検索項目名に対応する第２情報とをレポートに記入するステップ
とを具備する表計算プログラム。
【請求項２２】
請求項１５〜請求項２１のいずれかに記載の表計算プログラムと、
前記複数セルに割り当てられる情報を統計処理する表計算ソフトウェア本体
とを具備する表計算ソフトウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表計算装置及び表計算方法に関し、特に、表に記入された情報を統計処理するときに利用される表計算装置及び表計算方法に関する。
【背景技術】
【０００２】
情報処理装置を用いられた技術計算が実行されている。図１２は、公知の技術計算装置を示している。その技術計算装置１０１は、図示されていないＣＰＵと記憶装置と表示装置と入力装置とを備える情報処理装置である。技術計算装置１０１としては、ワークステーションが例示される。技術計算装置１０１は、プリンタ１０２を備えている。プリンタ１０２は、技術計算装置１０１により生成されるシートを紙に印字する。
【０００３】
技術計算装置１０１は、コンピュータプログラムである技術計算ソフトウェアがインストールされている。技術計算装置１０１は、その技術計算ソフトウェアを用いて、入力された情報に基づいて、技術計算し、その計算結果を示すシートを生成する。その技術計算としては、ある条件の下である製品が運転されるときのその製品（排ガスボイラ）の挙動の算出が例示される。技術計算装置１０１は、その技術計算ソフトウェアを用いて、さらに、そのシートがプリンタにより紙に印字されるように、そのプリンタに出力するコードを生成する。プリンタ１０２は、技術計算装置１０１により生成されたシートを紙に印字する。ユーザは、その紙に印字されたシートを閲覧して計算結果を知ることができる。
【０００４】
図１３は、技術計算装置１０１により生成されるシートを示している。そのシート１４１は、複数の表１４２−１〜１４２−ｎ（ｎ＝２，３，４，…）を含んでいる。各表１４２−ｉ（ｉ＝１，２，３，…，ｎ）は、技術計算の計算結果である複数の情報が分類整理されており、関連する複数の情報が縦または横に揃うように並べられている。シート１４１は、順序づけられた複数の文字列１４３から形成されている。複数の文字列１４３の各々は、シート１４１を形成する各行に対応している。すなわち、シート１４１の各行には、複数の文字列１４３のうちの１つの文字列のみが配置されている。横に揃う複数の情報は、複数の文字列１４３のうちの１つの文字列により表現されている。
【０００５】
技術計算は、一般的に、様々な条件での下の製品の挙動を算出する。このため、その紙に印字されるシートは、たくさん生成され、市場販売される汎用の表計算ソフトウェアを用いて統計処理されることが望まれている。すなわち、文字列により表現された表を表計算ソフトウェアにより処理可能な表に適切に変換することが望まれている。
【０００６】
その技術計算ソフトウェアを記述するプログラム言語は、時代とともによりよいものにバージョンアップされる。その技術計算ソフトウェアは、バージョンアップされた新しいプログラム言語で記述された新しい技術計算ソフトウェアにコンバージョン（改訂）されることが望まれている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の課題は、文字列により表現された表を汎用の表計算ソフトウェアにより処理可能な表に適切に変換する表計算装置及び表計算方法を提供することにある。
【課題を解決するための手段】
【０００８】
以下に、発明を実施するための最良の形態・実施例で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための最良の形態・実施例の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【０００９】
本発明による表計算装置（１）は、順序づけられた複数の文字列により表現される表（４１）を収集する文字列収集部（１１）と、複数の文字列の各々から数値を表現する数値部分を抽出する数値抽出部（１３）と、複数列番号と複数行番号とに対応する複数セルに数値部分を割り当てる割当部（１５）とを備えている。複数セルのうちの第１文字列から抽出された第１数値部分が割り当てられる第１数値セルの列番号は、第１文字列に隣接する第２文字列から第２数値部分が抽出され、かつ、第１数値部分が配置される第１文字列の中の位置と第２数値部分が配置される第２文字列の中の位置とが重なるときに、複数セルのうちの第２数値部分が割り当てられる第２数値セルの列番号と一致する。第１数値セルの行番号は、第１文字列の順序に対応している。第２数値セルの行番号は、第２文字列の順序に対応している。
【００１０】
本発明による表計算装置（１）は、複数の文字列の各々のうちの数値部分を除く非数値部分から所定の区切り文字で挟まれる項目名部分を抽出する項目名抽出部（１４）を更に備えている。項目名部分のうちの項目名文字列から抽出される抽出項目名部分が配置される項目名文字列の中の位置は、数値部分のうちの項目名文字列と異なる数値文字列から抽出される対応数値部分が配置される数値文字列の中の位置と概ね一致している。割当部（１５）は、複数セルに項目名部分を更に割り当てる。複数セルのうちの抽出項目名部分が割り当てられる項目名セルの列番号は、複数セルのうちの対応数値部分が割り当てられる数値セルの列番号と一致していることが好ましい。
【００１１】
項目名抽出部（１４）は、非数値部分から項目名部分を除く文字列部分を更に抽出する。割当部（１５）は、複数の文字列のうちの第１割当文字列から抽出文字列部分が抽出されるときに、第１割当文字列の先頭から抽出文字列部分の先頭までの文字数に基づいて算出される列番号に対応するセルに抽出文字列部分を割り当てる。割当部（１５）は、複数の文字列のうちの第２割当文字列から抽出数値部分が抽出されるときに、第２割当文字列の先頭から抽出数値部分の末尾までの文字数に基づいて算出される列番号に対応するセルに抽出数値部分を割り当てる。このように割り当てられた複数のセルから形成されるシートは、元の表に概ね一致し、ユーザに見易く好ましい。
【００１２】
割当部（１５）は、複数の文字列の１つの文字列のうちの第１部分が第１セルに割り当てられるときに、１つの文字列のうちの第１部分より末尾側に配置される第２部分を第１セルの列番号より大きい列番号の第２セルに割り当てる。このとき、複数のセルから形成されるシートは、１つのセルに複数の情報が割り当てられないで、元の表に示されている情報を全て示すことができ、好ましい。
【００１３】
本発明による表計算装置（１）は、複数セルにより表現される第１シートと第２シートとを収集するシート収集部（２１）と、条件を収集する条件収集部（２２）と、第１シートから第１比較対象セルを抽出して第２シートから第１比較対象セルに列番号と行番号とが一致する第２比較対象セルとの組を抽出する対応セル抽出部（２３）と、第１比較対象セルと第２比較対象セルとを比較して比較結果を算出する比較結果算出部（２４）と、比較結果が条件を満たすときに第１比較対象セルと第２比較対象セルとの組を第１表示形式でレポートに記入し、比較結果が条件を満たさないときに組を第１表示形式と異なる第２表示形式でレポートに記入するマーキング部（２５）とを備えていることが好ましい。
【００１４】
本発明による表計算装置（１）は、検索項目名を収集する項目名収集部（３１）と、組のうちから検索項目名に対応する組を抽出して他のレポートに記入する対応情報抽出部（３２）とを備えていることが好ましい。
【００１５】
本発明による表計算装置（１）は、複数セルにより表現される第１シートと第２シートとを収集するシート収集部（２１）と、検索項目名を収集する項目名収集部（３１）と、第１シートのうちの検索項目名に対応する第１情報と第２シートのうちの検索項目名に対応する第２情報とをレポートに記入する対応情報抽出部（３２）とを備えていることが好ましい。
【００１６】
本発明による表計算方法は、順序づけられた複数の文字列により表現される表（４１）を収集するステップ（Ｓ１）と、複数の文字列の各々から数値を表現する数値部分を抽出するステップ（Ｓ３）と、複数列番号と複数行番号とに対応する複数セルに数値部分を割り当てるステップ（Ｓ５）とを備えている。複数セルのうちの第１文字列から抽出された第１数値部分が割り当てられる第１数値セルの列番号は、第１文字列に隣接する第２文字列から第２数値部分が抽出され、かつ、第１数値部分が配置される第１文字列の中の位置と第２数値部分が配置される第２文字列の中の位置とが重なるときに、複数セルのうちの第２数値部分が割り当てられる第２数値セルの列番号と一致している。第１数値セルの行番号は、第１文字列の順序に対応している。第２数値セルの行番号は、第２文字列の順序に対応している。
【００１７】
本発明による表計算方法は、複数の文字列の各々のうちの数値部分を除く非数値部分から所定の区切り文字で挟まれる項目名部分を抽出するステップ（Ｓ４）と、複数セルに項目名部分を更に割り当てるステップ（Ｓ５）とを更に備えている。項目名部分のうちの項目名文字列から抽出される抽出項目名部分が配置される項目名文字列の中の位置は、数値部分のうちの項目名文字列と異なる数値文字列から抽出される対応数値部分が配置される数値文字列の中の位置と概ね一致している。複数セルのうちの抽出項目名部分が割り当てられる項目名セルの列番号は、複数セルのうちの対応数値部分が割り当てられる数値セルの列番号と一致していることが好ましい。
【００１８】
本発明による表計算方法は、非数値部分から項目名部分を除く文字列部分を抽出するステップ（Ｓ４）を更に備えている。複数の文字列のうちの第１割当文字列から抽出文字列部分が抽出されるときに、その抽出文字列部分は、第１割当文字列の先頭から抽出文字列部分の先頭までの文字数に基づいて算出される列番号に対応するセルに割り当てられる。複数の文字列のうちの第２割当文字列から抽出数値部分が抽出されるときに、その抽出数値部分は、第２割当文字列の先頭から抽出数値部分の末尾までの文字数に基づいて算出される列番号に対応するセルに割り当てられる。第１数値セルの行番号は、第１文字列の順序に対応している。第２数値セルの行番号は、第２文字列の順序に対応している。
【００１９】
複数の文字列の１つの文字列のうちの第１部分が第１セルに割り当てられるときに、１つの文字列のうちの第１部分より末尾側に配置される第２部分は、第１セルの列番号より大きい列番号の第２セルに割り当てられる。このとき、複数のセルから形成されるシートは、１つのセルに複数の情報が割り当てられないで、元の表に示されている情報を全て示すことができ、好ましい。
【００２０】
本発明による表計算方法は、複数セルにより表現される第１シートと第２シートとを収集するステップ（Ｓ１１）と、条件を収集するステップ（Ｓ１２）と、第１シートから第１比較対象セルを抽出し、第２シートから第１比較対象セルに列番号と行番号とが一致する第２比較対象セルとの組を抽出するステップ（Ｓ１３）と、第１比較対象セルと第２比較対象セルとを比較して比較結果を算出するステップ（Ｓ１４）と、比較結果が条件を満たすときに第１比較対象セルと第２比較対象セルとの組を第１表示形式でレポートに記入し、比較結果が条件を満たさないときに組を第１表示形式と異なる第２表示形式でレポートに記入するステップ（Ｓ１５）とを備えていることが好ましい。
【００２１】
本発明による表計算方法は、検索項目名を収集するステップ（Ｓ２１）と、抽出された組のうちから検索項目名に対応する組を抽出して他のレポートに記入するステップ（Ｓ２２、Ｓ２３）とを備えていることが好ましい。
【００２２】
本発明による表計算方法は、複数セルにより表現される第１シートと第２シートとを収集するステップ（Ｓ１１）と、検索項目名を収集するステップ（Ｓ２１）と、第１シートのうちの検索項目名に対応する第１情報と第２シートのうちの検索項目名に対応する第２情報とをレポートに記入するステップ（Ｓ２２、Ｓ２３）とを備えていることが好ましい。
【００２３】
本発明による表計算プログラムは、コンピュータである表計算装置（１）により実行されるコンピュータプログラムであり、そのコンピュータプログラムの部分として、順序づけられた複数の文字列により表現される表（４１）を収集するステップと、複数の文字列の各々から数値を表現する数値部分を抽出するステップと、複数列番号と複数行番号とに対応する複数セルに数値部分を割り当てるステップとを備えている。複数セルのうちの第１文字列から抽出された第１数値部分が割り当てられる第１数値セルの列番号は、第１文字列に隣接する第２文字列から第２数値部分が抽出され、かつ、第１数値部分が配置される第１文字列の中の位置と第２数値部分が配置される第２文字列の中の位置とが重なるときに、複数セルのうちの第２数値部分が割り当てられる第２数値セルの列番号と一致している。第１数値セルの行番号は、第１文字列の順序に対応している。第２数値セルの行番号は、第２文字列の順序に対応している。
【００２４】
本発明による表計算プログラムは、複数の文字列の各々のうちの数値部分を除く非数値部分から所定の区切り文字で挟まれる項目名部分を抽出するステップと、複数セルに項目名部分を更に割り当てるステップとを更に備えている。項目名部分のうちの項目名文字列から抽出される抽出項目名部分が配置される項目名文字列の中の位置は、数値部分のうちの項目名文字列と異なる数値文字列から抽出される対応数値部分が配置される数値文字列の中の位置と概ね一致している。複数セルのうちの抽出項目名部分が割り当てられる項目名セルの列番号は、複数セルのうちの対応数値部分が割り当てられる数値セルの列番号と一致していることが好ましい。
【００２５】
本発明による表計算プログラムは、非数値部分から項目名部分を除く文字列部分を抽出するステップを更に備えている。複数の文字列のうちの第１割当文字列から抽出文字列部分が抽出されるときに、その抽出文字列部分は、第１割当文字列の先頭から抽出文字列部分の先頭までの文字数に基づいて算出される列番号に対応するセルに割り当てられる。複数の文字列のうちの第２割当文字列から抽出数値部分が抽出されるときに、その抽出数値部分は、第２割当文字列の先頭から抽出数値部分の末尾までの文字数に基づいて算出される列番号に対応するセルに割り当てられる。第１数値セルの行番号は、第１文字列の順序に対応している。第２数値セルの行番号は、第２文字列の順序に対応している。
【００２６】
複数の文字列の１つの文字列のうちの第１部分が第１セルに割り当てられるときに、１つの文字列のうちの第１部分より末尾側に配置される第２部分は、第１セルの列番号より大きい列番号の第２セルに割り当てられる。このとき、複数のセルから形成されるシートは、１つのセルに複数の情報が割り当てられないで、元の表に示されている情報を全て示すことができ、好ましい。
【００２７】
本発明による表計算プログラムは、複数セルにより表現される第１シートと第２シートとを収集するステップと、条件を収集するステップと、第１シートから第１比較対象セルを抽出し、第２シートから第１比較対象セルに列番号と行番号とが一致する第２比較対象セルとの組を抽出するステップと、第１比較対象セルと第２比較対象セルとを比較して比較結果を算出するステップと、比較結果が条件を満たすときに第１比較対象セルと第２比較対象セルとの組を第１表示形式でレポートに記入し、比較結果が条件を満たさないときに組を第１表示形式と異なる第２表示形式でレポートに記入するステップとを備えていることが好ましい。
【００２８】
本発明による表計算プログラムは、検索項目名を収集するステップと、組のうちから検索項目名に対応する組を抽出して他のレポートに記入するステップとを備えていることが好ましい。
【００２９】
本発明による表計算プログラムは、複数セルにより表現される第１シートと第２シートとを収集するステップと、検索項目名を収集するステップと、第１シートのうちの検索項目名に対応する第１情報と第２シートのうちの検索項目名に対応する第２情報とをレポートに記入するステップとを備えていることが好ましい。
【００３０】
本発明による表計算ソフトウェアは、本発明による表計算プログラムと、複数セルに割り当てられる情報を統計処理する表計算ソフトウェア本体とを備えていることが好ましい。
【発明の効果】
【００３１】
本発明による表計算装置及び表計算方法は、文字列により表現された表を表計算ソフトウェアにより処理可能な表に適切に変換することができる。
【発明を実施するための最良の形態】
【００３２】
図面を参照して、本発明による表計算装置の実施の形態を記載する。その表計算装置１は、図１に示されているように、技術計算装置２とともに設けられている。表計算装置１は、図示されていないＣＰＵと記憶装置と表示装置と入力装置とを備える情報処理装置（コンピュータ）である。表計算装置１としては、パーソナルコンピュータが例示される。技術計算装置２は、図示されていないＣＰＵと記憶装置と表示装置と入力装置とを備える情報処理装置である。技術計算装置２としては、ワークステーションが例示される。
【００３３】
表計算装置１は、コンピュータプログラムである変換部３と表計算ソフトウェア４と第１レポート作成部５と第２レポート作成部６とがインストールされている。表計算ソフトウェア４は、複数行複数列に格子状に配列された複数のセルに情報（文字列または数値）がそれぞれ割り当てられるシートを作成し、その情報を統計処理するときに利用される。表計算ソフトウェア４は、パソコンまたはオフコン用のアプリケーションプログラムとして市場販売され、財務管理、販売管理、技術計算などに広く利用されている。表計算ソフトウェア４としては、「ＭｉｃｒｏｓｏｆｔＥｘｃｅｌ」（登録商標）が例示される。
【００３４】
変換部３は、技術計算装置２により生成されたシートを、表計算ソフトウェア４により表計算可能な形式で表現されたシートに変換する。第１レポート作成部５は、変換部３により生成された複数のシートを比較し、その比較結果を示す第１レポートを作成する。その第１レポートは、複数行複数列に格子状に配列された複数のセルに情報がそれぞれ割り当てられて表現され、すなわち、表計算ソフトウェア４により表計算可能な形式により表現されている。第２レポート作成部６は、変換部３により生成された複数のシートの特定部分を比較した比較結果を示す第２レポートを作成する。その第２レポートは、複数行複数列に格子状に配列された複数のセルに情報がそれぞれ割り当てられて表現され、すなわち、表計算ソフトウェア４により表計算可能な形式により表現されている。
【００３５】
変換部３と第１レポート作成部５と第２レポート作成部６とは、表計算ソフトウェア４を本体とする表計算ソフトウェアとして市場販売される。なお、変換部３と第１レポート作成部５と第２レポート作成部６とは、表計算ソフトウェア４と別個に表計算ソフトウェア４のアドインソフトウェアとして市場販売されることもできる。
【００３６】
技術計算装置２は、コンピュータプログラムである技術計算ソフトウェア７と文字列表生成部８とがインストールされている。技術計算ソフトウェア７は、入力された情報に基づいて、技術計算し、その計算結果を示すシートを生成する。その技術計算としては、ある条件の下である製品が運転されるときのその製品（排ガスボイラ）の挙動の算出が例示される。技術計算ソフトウェア７は、さらに、そのシートがプリンタにより紙に印字されるように、そのプリンタに出力するコードを生成する。
【００３７】
文字列表生成部８は、技術計算ソフトウェア７により生成されたコードに基づいて、プリンターにより紙に印字されるシートを複数の文字列により表現し、その複数の文字列をシート名に対応付けてファイルとして記憶装置に記録する。なお、文字列表生成部８は、その複数の文字列を記録媒体に記録することもできる。文字列表生成部８は、表計算装置１と技術計算装置２とが通信回線で接続されているときに、その複数の文字列を表計算装置１に送信することもできる。
【００３８】
図２は、技術計算装置２により生成されるシートを示している。そのシート４１は、複数の表４２−１〜４２−ｎ（ｎ＝２，３，４，…）を含んでいる。各表４２−ｉ（ｉ＝１，２，３，…，ｎ）は、技術計算の計算結果である複数の情報が分類整理されており、関連する複数の情報が縦または横に揃うように並べられている。シート４１は、順序づけられた複数の文字列４３から形成されている。複数の文字列４３の各々は、シート４１を形成する各行に対応している。すなわち、シート４１の各行には、複数の文字列４３のうちの１つの文字列のみが配置されている。横に揃う複数の情報は、複数の文字列４３のうちの１つの文字列により表現されている。
【００３９】
図３は、変換部３を示している。変換部３は、文字列収集部１１と設定情報収集部１２と数値抽出部１３と項目名抽出部１４と割当部１５と表生成部１６とを備えている。文字列収集部１１は、表４１を形成する複数の文字列を収集する。すなわち、文字列収集部１１は、シート名が入力される入力欄を表示装置に表示し、入力装置によりその入力欄に記入されたシート名を収集する。文字列収集部１１は、次いで、そのシート名に対応するファイルが記録媒体に記録されているときに、その記録媒体からそのファイルを読み込んで複数の文字列を収集する。文字列収集部１１は、表計算装置１と技術計算装置２とが通信回線で接続されているときに、その通信回線を介してその複数の文字列を技術計算装置２から収集する。
【００４０】
設定情報収集部１２は、１セル当たりの文字数と操作指示用列数とが入力される入力欄を表示装置に表示し、入力装置によりその入力欄に記入された１セル当たりの文字数と操作指示用列数とを収集する。
【００４１】
数値抽出部１３は、文字列収集部１１により収集された複数の文字列の各々から数値を表現している数値部分を抽出する。数値抽出部１３は、さらに、その文字列の各々から数値部分を除く非数値部分を抽出する。すなわち、数値抽出部１３は、その複数の文字列の各々を数値部分と非数値部分とに分離する。その数値部分は、所定の文字から形成され、左側に区切り文字と隣接している。その所定の文字は、数字「０」〜「９」、小数点「．」、符号「＋」「−」、文字「Ｅ」「Ｄ」から形成されている。その区切り文字は、空白「  」、スラッシュ「／」から形成されている。その数値部分は、右側に区切り文字以外の文字と隣接し、または、右側に符号「＋」「−」と隣接している。その数値部分は、小数点「．」または文字「Ｅ」「Ｄ」を２個以上含んでいない。その数値部分は、先頭が「０」のときに、２番目の文字が小数点「．」である。その数値部分は、先頭が「−０」のときに、３番目の文字が小数点「．」である。その数値部分は、文字「Ｅ」「Ｄ」を含んでいるときに、その文字「Ｅ」「Ｄ」の右側に符号「＋」「−」が配置され、その右側に２桁の数字が配置されている。数値抽出部１３は、さらに、ある文字列から数値部分を抽出したときに、その文字列の中のその数値部分が配置される位置を算出する。その位置は、その文字列の先頭からその数値部分の先頭までの文字数と、その文字列の先頭からその数値部分の末尾までの文字数とから表現される。
【００４２】
項目名抽出部１４は、数値抽出部１３により抽出された非数値部分のうちから項目名を表現している項目名部分を抽出する。さらに、項目名抽出部１４は、その非数値部分のうちから項目名部分を除く文字列部分を抽出する。すなわち、項目名抽出部１４は、その非数値部分を項目名部分と文字列部分とに分離する。その文字列部分は、区切り文字以外の文字を少なくとも含んでいる。その項目名部分は、両側を区切り文字に挟まれている。その項目名部分は、その項目名部分が抽出された文字列と異なる文字列から抽出された数値部分の位置と概ね一致している。その項目名部分が抽出された文字列は、その数値部分が抽出された文字列より順序が前であり、その数値部分が抽出された文字列との間に順序付けられた文字列の個数が予め設定された所定の個数（たとえば、３個）より小さい。
【００４３】
項目名抽出部１４は、ある文字列から項目名部分を抽出したときに、その文字列の中のその項目名部分が配置される位置を算出する。その位置は、その文字列の先頭からその項目名部分の先頭までの文字数と、その文字列の先頭からその項目名部分の末尾までの文字数とから表現される。項目名抽出部１４は、ある文字列から文字列部分を抽出したときに、その文字列の中のその文字列部分が配置される位置を算出する。その位置は、その文字列の先頭からその文字列部分の先頭までの文字数と、その文字列の先頭からその文字列部分の末尾までの文字数とから表現される。
【００４４】
割当部１５は、数値抽出部１３により抽出された数値部分を複数行複数列に配列された複数のセルのうちの１つのセルに割り当て、項目名抽出部１４により抽出された項目名部分をその複数のセルのうちのいくつかのセルに割り当て、項目名抽出部１４により抽出された文字列部分をその複数のセルのうちのいくつかのセルに割り当てる。割当部１５は、まず、その数値部分と項目名部分と文字列部分とが割り当てられるセルの行番号をそれぞれ算出する。すなわち、割当部１５は、文字列収集部１１により収集された複数の文字列のうちのその部分が抽出された文字列の順序をその行番号として算出する。次いで、割当部１５は、その部分が割り当てられるセルの列番号を算出する。
【００４５】
割当部１５は、数値部分をセルに割り当てるときに、まず、その数値部分の左側に隣接する部分が割り当てられるセルの列番号を検出し、その列番号に１を加算した第１値を算出する。割当部１５は、その数値部分の左側に他の部分が隣接していないときに、操作指示用列数に１を加算した第１値を算出する。
割当部１５は、次いで、文字列の先頭からその数値部分の末尾までの文字数ｎと操作指示用列数ｌと１セルの文字数ｍとを用いて、次式：
Ｍ＝ｌ＋１＋（ｎ−１）÷ｍ
により表現される第２値Ｍを算出する。
【００４６】
割当部１５は、次いで、文字列収集部１１により収集された複数の文字列のうちのその数値部分を含む文字列の前後に隣接する文字列を参照して、その隣接する２つの文字列から抽出される数値部分のうちから、セルに割り当てようとする数値部分と位置が重なる数値部分が割り当てられるセルの列番号を検出する。
割当部１５は、その検出された列番号が第１値と第２値との最大値より大きいときに、その列番号に対応するセルにその数値部分を割り当てる。割当部１５は、その検出された列番号が第１値と第２値との最大値より小さいときに、その最大値を列番号として算出し、その算出された列番号に対応するセルにその数値部分を割り当てる。割当部１５は、その検出された列番号が第１値と第２値との最大値より小さいときに、さらに、その検出された数値部分が割り当てられるセルの列番号を再計算する。
【００４７】
割当部１５は、項目名部分をセルに割り当てるときに、まず、その項目名部分の左側に隣接する部分が割り当てられるセルの列番号を検出し、その列番号に１を加算した第１値を算出する。割当部１５は、その項目名部分の左側に他の部分が隣接していないときに、操作指示用列数に１を加算した第１値を算出する。
割当部１５は、次いで、文字列の先頭からその項目名部分の先頭までの文字数ｎと操作指示用列数ｌと１セルの文字数ｍとを用いて、次式：
Ｍ＝ｌ＋１＋（ｎ−１）÷ｍ
により表現される第２値Ｍを算出する。
【００４８】
割当部１５は、文字列収集部１１により収集された複数の文字列のうちのその項目名部分を含む文字列の後に配置される文字列を参照して、その文字列から抽出される数値部分のうちからその項目名部分と位置が重なる数値部分が割り当てられるセルの列番号を検出する。割当部１５は、その検出された列番号が第１値と第２値との最大値より大きいときに、その検出された列番号を項目名部分を割り当てるセルの列番号として算出する。割当部１５は、その検出された列番号が第１値と第２値との最大値より小さいときに、その最大値を列番号として算出する。割当部１５は、その検出された列番号が第１値と第２値との最大値より小さいときに、さらに、その検出された数値部分が割り当てられるセルの列番号を再計算する。
【００４９】
割当部１５は、その項目名部分を算出された列番号のセルに割り当てる。割当部１５は、その項目名部分が１セル当たりの文字数より大きいときに、さらに、その算出された列番号より右側のその項目名部分の文字数分の複数のセルを割り当て済と設定する。なお、割当部１５は、その項目名部分が１セル当たりの文字数より大きいときに、その項目名部分を１セル当たりの文字数毎に分割し、その分割された文字列を算出された列番号以降の複数のセルにそれぞれ割り当てることもできる。
【００５０】
割当部１５は、文字列部分をセルに割り当てるときに、まず、その文字列部分の左側に隣接する部分が割り当てられるセルの列番号を検出し、その列番号に１を加算した第１値を算出する。割当部１５は、その文字列部分の左側に他の部分が隣接していないときに、操作指示用列数に１を加算した第１値を算出する。
割当部１５は、次いで、文字列の先頭からその文字列部分の先頭までの文字数ｎと操作指示用列数ｌと１セルの文字数ｍとを用いて、次式：
Ｍ＝ｌ＋１＋（ｎ−１）÷ｍ
により表現される第２値Ｍを算出する。
割当部１５は、第１値と第２値との最大値を列番号として算出する。
【００５１】
割当部１５は、その文字列部分を算出された列番号のセルに割り当てる。割当部１５は、その文字列部分が１セル当たりの文字数より大きいときに、さらに、その算出された列番号より右側のその文字列部分の文字数分の複数のセルを割り当て済と設定する。なお、割当部１５は、その文字列部分が１セル当たりの文字数より大きいときに、その文字列部分を１セル当たりの文字数毎に分割し、その分割された文字列を算出された列番号以降の複数のセルにそれぞれ割り当てることもできる。
【００５２】
表生成部１６は、割当部１５により情報が割り当てられた複数のセルにより表現されるシートに基づいてＣＳＶ形式により表現するシートを生成する。そのシートは、各セルに割り当てられる情報をカンマ「，」で区切った文字列の列を示している。表生成部１６は、さらに、そのシートをシート名に対応付けて記憶装置に記録する。
【００５３】
図４は、第１レポート作成部５を示している。第１レポート作成部５は、シート収集部２１と条件収集部２２と対応セル抽出部２３と比較結果算出部２４とマーキング部２５とを備えている。
【００５４】
シート収集部２１は、変換部３により生成された２つのシートを収集する。その２つのシートは、旧シートと新シートとから形成されている。すなわち、シート収集部２１は、旧シートの旧シート名と新シートの新シート名とが入力される入力欄を表示装置に表示し、入力装置によりその入力欄に記入された旧シート名と新シート名とを収集する。シート収集部２１は、その旧シート名に対応するシートとその新シート名に対応するシートとを記憶装置から読み出す。シート収集部２１は、さらに、収集されたシートをＣＳＶ形式により表現されるシートから複数のセルにより表現されるシートに形式変換する。このとき、シート収集部２１は、収集されたシートを表示装置に表示するときに、フォントが１種類だけ用いられるように設定し、文字サイズが１種類だけ用いられるように設定する。そのフォントは、全角の文字が表示される幅が一定であり、かつ、全角の文字が表示される幅が半角の文字が表示される幅の２倍であることが好ましい。このようなフォントとしては、「ＭＳゴシック」が例示される。
【００５５】
シート収集部２１は、さらに、収集されたシートを表示装置に表示するときに、そのシートの各セルに割り当てられた情報が他のセルに割り当てられた他の情報により隠れないように、シートの各列番号のセルのセル幅を算出する。その情報としては、項目名抽出部１４により抽出された項目名部分と文字列部分とが例示される。すなわち、シート収集部２１は、列番号のセルに割り当てられた文字列のうちの文字数が最大の文字列が収まるようにセル幅を調整する。
【００５６】
条件収集部２２は、誤差が入力される入力欄を表示装置に表示し、入力装置によりその入力欄に記入された誤差を収集する。
【００５７】
対応セル抽出部２３は、その新シートのセルのうちから旧シートの各セルに対応するセルを抽出する。その対応する２つのセルは、そのセルの行の他のセルに割り当てられる文字列に基づいて対応する行か否かが判断される。その２つのセルは、列番号が一致しているが、行番号が必ずしも一致していない。対応セル抽出部２３は、さらに、その対応付けられた２つのセルの情報を複数行複数列に格子状に配列された複数のセルにより表現される第１レポートに記入する。すなわち、対応セル抽出部２３は、まず、旧シートの全てのセルを第１レポートに記入する。このとき、第１レポートのうちの旧シートの各セルの情報が記入されているセルの列番号は、その旧シートのセルの列番号と一致している。新シートのセルが記入されているセルの列番号は、対応する旧シートのセルが記入されるセルの列番号と一致し、行番号がその旧シートのセルが記入されているセルの行番号に１を加算した値である。すなわち、新シートのセルは、対応する旧シートのセルが記入されているセルの下に配置されるセルに記入されている。
【００５８】
比較結果算出部２４は、対応セル抽出部２３により対応付けられた２つのセルをそれぞれ比較する。すなわち、比較結果算出部２４は、その２つのセルに割り当てられた情報が数値であるときに、旧シートのセルに割り当てられた旧数値と新シートのセルに割り当てられた新数値との差を算出し、その差を新シートその新数値で割った差の割合を算出する。比較結果算出部２４は、さらに、算出された差と差の割合を第１レポートの所定のセルに記入する。すなわち、その算出された差が記入されたセルは、列番号が対応する旧シートのセルが記入されるセルの列番号と一致し、行番号がその旧シートのセルが記入されているセルの行番号に２を加算した値である。その算出された差の割合が記入されたセルは、列番号が対応する旧シートのセルが記入されるセルの列番号と一致し、行番号がその旧シートのセルが記入されているセルの行番号に３を加算した値である。すなわち、算出された差と差の割合とは、対応する旧シートのセルと新シートのセルとが記入されているセルの下に配置されるセルに記入されている。
【００５９】
マーキング部２５は、比較結果算出部２４により算出された比較結果が条件収集部２２により収集された条件を満たすかどうかを判別する。マーキング部２５は、さらに、第１レポートのうちのその条件を満たす比較結果に対応する旧シートのセルと新シートのセルとその比較結果とが記載されているセルの表示形式（たとえば、表示色）を変更する。
【００６０】
図５は、第２レポート作成部６を示している。第２レポート作成部６は、シート収集部３０と項目名収集部３１と対象情報抽出部３２とを備えている。
【００６１】
シート収集部３０は、既述のシート収集部２１と同様に動作する。すなわち、シート収集部３０は、変換部３により生成された２つのシートを収集する。その２つのシートは、旧シートと新シートとから形成されている。すなわち、シート収集部３０は、旧シートの旧シート名と新シートの新シート名とが入力される入力欄を表示装置に表示し、入力装置によりその入力欄に記入された旧シート名と新シート名とを収集する。シート収集部３０は、その旧シート名に対応するシートとその新シート名に対応するシートとを記憶装置から読み出す。シート収集部３０は、さらに、収集されたシートをＣＳＶ形式により表現されるシートから複数のセルにより表現されるシートに形式変換する。このとき、シート収集部３０は、収集されたシートを表示装置に表示するときに、フォントが１種類だけ用いられるように設定し、文字サイズが１種類だけ用いられるように設定する。そのフォントは、全角の文字が表示される幅が一定であり、かつ、全角の文字が表示される幅が半角の文字が表示される幅の２倍であることが好ましい。このようなフォントとしては、「ＭＳゴシック」が例示される。
【００６２】
シート収集部３０は、さらに、収集されたシートを表示装置に表示するときに、そのシートの各セルに割り当てられた情報が他のセルに割り当てられた他の情報により隠れないように、シートの各列番号のセルのセル幅を算出する。その情報としては、項目名抽出部１４により抽出された項目名部分と文字列部分とが例示される。すなわち、シート収集部３０は、列番号のセルに割り当てられた文字列のうちの文字数が最大の文字列が収まるようにセル幅を調整する。
【００６３】
項目名収集部３１は、新シートあるいは旧シートを表示装置に表示して、比較対象の項目名とその項目名に対応する数値が配置されるセルを選択してマーカーを付けることをユーザに促す。項目名収集部３１は、入力装置からそのマーカーが付いた項目名と数値のセルとを収集し、その項目名のセルと数値のセルとに基づいて相対位置を算出する。その相対位置は、収集される項目名が割り当てられるセルを基点として、その項目名に対応する数値が割り当てられるセルの位置を相対的に示している。
【００６４】
対象情報抽出部３２は、項目名収集部３１により収集された相対位置に基づいて、シート収集部２１により収集された旧シートから項目名収集部３１により収集された項目名に対応する旧数値を抽出し、シート収集部２１により収集された新シートからその項目名に対応する新数値を抽出する。対象情報抽出部３２は、その旧数値と新数値との差を算出し、その差を新数値で割った差の割合を算出する。対象情報抽出部３２は、その項目名とその旧数値と新数値とその差とその差の割合とをシートの所定のセルに並べて記入して、第２レポートを生成する。
【００６５】
なお、対象情報抽出部３２は、比較対象の旧シートあるいは新シートからその相対位置を取得する代わりに、過去に第２レポートを作成するときに用いられた項目名と相対位置とに基づいて旧数値と新数値とを抽出することもできる。このとき、対象情報抽出部３２は、第２レポートを作成する毎に、項目名のセルと数値のセルとにマーカーが付いたシートをシート名に対応付けて記憶装置に記録する。項目名収集部３１は、そのシート名の一覧を表示装置に表示して、その一覧のうちのユーザによる入力装置の操作により選択されたシート名に対応するシートを記録装置から収集する。項目名収集部３１は、次いで、選択されたシートからマーカーが付いた項目名と数値のセルとを収集し、その項目名のセルと数値のセルとに基づいて相対位置を算出する。このときに選択されるシートは、比較対照の２つのシートと同一項目名を持つシートである必要がある。対象情報抽出部３２は、選択されたシートから生成された項目名と相対位置とに基づいて、比較対照の２つのシートから旧数値と新数値とを抽出し、その差とその差の割合とを計算する。対象情報抽出部３２は、その項目名とその旧数値と新数値とその差とその差の割合とをシートの所定のセルに並べて記入して、第２レポートを生成する。このとき、ユーザは、比較対象の項目名とその項目名に対応する数値が配置される部分セルにマーカーをつける必要がなく、入力が容易である。
【００６６】
本発明による表計算方法の実施の形態は、表計算装置１により実行され、技術計算装置２により生成されたシートを表計算ソフトウェア４により処理可能なシートに変換する動作と、第１レポートを作成する動作と、第２レポートを作成する動作とを備えている。
【００６７】
図６は、技術計算装置２により生成されたシートを表計算ソフトウェア４により処理可能なシートに変換する動作を示している。表計算装置１は、シート４１を形成する複数の文字列を収集する（ステップＳ１）。すなわち、表計算装置１は、まず、シート名が入力される入力欄を表示装置に表示し、入力装置によりその入力欄に記入されたシート名を収集する。表計算装置１は、収集されたシート名に対応するファイルが記録媒体に記録されているときに、その記録媒体からそのファイルを読み込んで複数の文字列を収集する。表計算装置１は、表計算装置１と技術計算装置２とが通信回線で接続されているときに、その通信回線を介してその複数の文字列を技術計算装置２から収集する。
【００６８】
表計算装置１は、１セル当たりの文字数と操作指示用列数とが入力される入力欄を表示装置に表示し、入力装置によりその入力欄に記入された１セル当たりの文字数と操作指示用列数とを収集する（ステップＳ２）。
【００６９】
表計算装置１は、収集された複数の文字列の各々から数値を表現している数値部分を抽出する（ステップＳ３）。表計算装置１は、さらに、その文字列の各々から数値部分を除く非数値部分を抽出する。すなわち、表計算装置１は、その複数の文字列の各々を数値部分と非数値部分とに分離する。その数値部分は、数字、小数点、符号、文字「Ｅ」「Ｄ」から形成され、左側に区切り文字と隣接している。その数値部分は、右側に区切り文字以外の文字と隣接し、または、右側に符号と隣接している。その数値部分は、小数点または文字「Ｅ」「Ｄ」を２個以上含んでいない。その数値部分は、先頭が「０」のときに、２番目の文字が小数点である。その数値部分は、先頭が「−０」のときに、３番目の文字が小数点「．」である。その数値部分は、文字「Ｅ」「Ｄ」を含んでいるときに、その文字「Ｅ」「Ｄ」の右側に符号「＋」「−」が配置され、その右側に２桁の数字が配置されている。表計算装置１は、さらに、ある文字列から数値部分を抽出したときに、その文字列の中のその数値部分が配置される位置を算出する。その位置は、その文字列の先頭からその数値部分の先頭までの文字数と、その文字列の先頭からその数値部分の末尾までの文字数とから表現される。
【００７０】
表計算装置１は、抽出された非数値部分のうちから項目名を表現している項目名部分を抽出する（ステップＳ４）。さらに、表計算装置１は、その非数値部分のうちから項目名部分を除く文字列部分を抽出する。すなわち、表計算装置１は、その非数値部分を項目名部分と文字列部分とに分離する。その文字列部分は、区切り文字以外の文字を少なくとも含んでいる。その項目名部分は、両側を区切り文字に挟まれている。その項目名部分は、その項目名部分が抽出された文字列と異なる文字列から抽出された数値部分の位置と概ね一致している。その項目名部分が抽出された文字列は、その数値部分が抽出された文字列より順序が前であり、その数値部分が抽出された文字列との間に順序付けられた文字列の個数が予め設定された所定の個数（たとえば、３個）より小さい。
【００７１】
表計算装置１は、ある文字列から項目名部分を抽出したときに、その文字列の中のその項目名部分が配置される位置を算出する。その位置は、その文字列の先頭からその項目名部分の先頭までの文字数と、その文字列の先頭からその項目名部分の末尾までの文字数とから表現される。表計算装置１は、ある文字列から文字列部分を抽出したときに、その文字列の中のその文字列部分が配置される位置を算出する。その位置は、その文字列の先頭からその文字列部分の先頭までの文字数と、その文字列の先頭からその文字列部分の末尾までの文字数とから表現される。
【００７２】
表計算装置１は、抽出された数値部分を複数行複数列に配列された複数のセルのうちの１つのセルに割り当て、抽出された項目名部分をその複数のセルのうちのいくつかのセルに割り当て、抽出された文字列部分をその複数のセルのうちのいくつかのセルに割り当てる（ステップＳ５）。表計算装置１は、まず、文字列から抽出された各部分が割り当てられるセルの行番号をそれぞれ算出する。すなわち、表計算装置１は、その部分が抽出された文字列の順序をその行番号として算出する。次いで、表計算装置１は、その部分が割り当てられるセルの列番号を算出する。
【００７３】
表計算装置１は、数値部分をセルに割り当てるときに、まず、その数値部分の左側に隣接する部分が割り当てられるセルの列番号を検出し、その列番号に１を加算した第１値を算出する。表計算装置１は、その数値部分の左側に他の部分が隣接していないときに、操作指示用列数に１を加算した第１値を算出する。
表計算装置１は、次いで、文字列の先頭からその数値部分の末尾までの文字数ｎと操作指示用列数ｌと１セルの文字数ｍとを用いて、次式：
Ｍ＝ｌ＋１＋（ｎ−１）÷ｍ
により表現される第２値Ｍを算出する。
【００７４】
表計算装置１は、次いで、ステップＳ１で収集された複数の文字列のうちのその数値部分を含む文字列の前後に隣接する文字列を参照して、その隣接する２つの文字列から抽出される数値部分のうちから、セルに割り当てようとする数値部分と位置が重なる数値部分が割り当てられるセルの列番号を検出する。
表計算装置１は、その検出された列番号が第１値と第２値との最大値より大きいときに、その列番号に対応するセルにその数値部分を割り当てる。表計算装置１は、その検出された列番号が第１値と第２値との最大値より小さいときに、その最大値を列番号として算出し、その算出された列番号に対応するセルにその数値部分を割り当てる。表計算装置１は、その検出された列番号が第１値と第２値との最大値より小さいときに、さらに、その検出された数値部分が割り当てられるセルの列番号を再計算する。
【００７５】
表計算装置１は、項目名部分をセルに割り当てるときに、まず、その項目名部分の左側に隣接する部分が割り当てられるセルの列番号を検出し、その列番号に１を加算した第１値を算出する。表計算装置１は、その項目名部分の左側に他の部分が隣接していないときに、操作指示用列数に１を加算した第１値を算出する。
表計算装置１は、次いで、文字列の先頭からその項目名部分の先頭までの文字数ｎと操作指示用列数ｌと１セルの文字数ｍとを用いて、次式：
Ｍ＝ｌ＋１＋（ｎ−１）÷ｍ
により表現される第２値Ｍを算出する。
【００７６】
表計算装置１は、ステップＳ１で収集された複数の文字列のうちのその項目名部分を含む文字列の後に配置される文字列を参照して、その文字列から抽出される数値部分のうちからその項目名部分と位置が重なる数値部分が割り当てられるセルの列番号を検出する。表計算装置１は、その検出された列番号が第１値と第２値との最大値より大きいときに、その検出された列番号を項目名部分を割り当てるセルの列番号として算出する。表計算装置１は、その検出された列番号が第１値と第２値との最大値より小さいときに、その最大値を列番号として算出する。表計算装置１は、その検出された列番号が第１値と第２値との最大値より小さいときに、さらに、その検出された数値部分が割り当てられるセルの列番号を再計算する。
【００７７】
表計算装置１は、その項目名部分が１セル当たりの文字数以下であるときに、その項目名部分を算出された列番号のセルに割り当てる。表計算装置１は、その項目名部分が１セル当たりの文字数より大きいときに、その項目名部分を１セル当たりの文字数毎に分割し、その分割された文字列を算出された列番号以降の複数のセルにそれぞれ割り当てる。
【００７８】
表計算装置１は、文字列部分をセルに割り当てるときに、まず、その文字列部分の左側に隣接する部分が割り当てられるセルの列番号を検出し、その列番号に１を加算した第１値を算出する。表計算装置１は、その文字列部分の左側に他の部分が隣接していないときに、操作指示用列数に１を加算した第１値を算出する。
表計算装置１は、次いで、文字列の先頭からその文字列部分の先頭までの文字数ｎと操作指示用列数ｌと１セルの文字数ｍとを用いて、次式：
Ｍ＝ｌ＋１＋（ｎ−１）÷ｍ
により表現される第２値Ｍを算出する。
表計算装置１は、第１値と第２値との最大値を列番号として算出する。
【００７９】
表計算装置１は、その文字列部分が１セル当たりの文字数以下であるときに、その文字列部分を算出された列番号のセルに割り当てる。表計算装置１は、その文字列部分が１セル当たりの文字数より大きいときに、その文字列部分を１セル当たりの文字数毎に分割し、その分割された文字列を算出された列番号以降の複数のセルにそれぞれ割り当てる。
【００８０】
表計算装置１は、ステップＳ５で情報が割り当てられた複数のセルにより表現されるシートに基づいてＣＳＶ形式により表現するシートを生成する（ステップＳ６）。そのシートは、各セルに割り当てられる情報をカンマ「，」で区切った文字列の列を示している。表計算装置１は、さらに、そのシートをシート名に対応付けて記憶装置に記録する。
【００８１】
なお、ステップＳ５では、表計算装置１は、ステップＳ４で抽出された項目名部分をその複数のセルのうちの１つのセルに割り当て、抽出された文字列部分をその複数のセルのうちの１つのセルに割り当てることもできる。このとき、表計算装置１は、その項目名部分が１セル当たりの文字数より大きい場合であっても、その項目名部分を算出された列番号のセルに割り当てる。表計算装置１は、その文字列部分が１セル当たりの文字数より大きいときに、その文字列部分を算出された列番号のセルに割り当てる。
【００８２】
図７は、第１レポートを作成する動作を示している。表計算装置１は、既述の技術計算装置２により生成されたシートを表計算ソフトウェア４により処理可能なシートに変換する動作により生成された旧シートと新シートとを収集する（ステップＳ１１）。すなわち、表計算装置１は、旧シートの旧シート名と新シートの新シート名とが入力される入力欄を表示装置に表示し、入力装置によりその入力欄に記入された旧シート名と新シート名とを収集する。表計算装置１は、その旧シート名に対応するシートとその新シート名に対応するシートとを記憶装置から読み出す。表計算装置１は、さらに、収集されたシートをＣＳＶ形式により表現されるシートから複数のセルにより表現されるシートに形式変換する。このとき、表計算装置１は、収集されたシートを表示装置に表示するときに、全角の文字が表示される幅が一定であり、かつ、全角の文字が表示される幅が半角の文字が表示される幅の２倍であるフォントが用いられるように設定する。表計算装置１は、さらに、収集されたシートに記載される文字が互いに等しいサイズで表示されるように、文字サイズを設定する。
【００８３】
表計算装置１は、さらに、収集されたシートを表示装置に表示するときに、そのシートの各セルに割り当てられた情報が他のセルに割り当てられた他の情報により隠れないように、シートの各列番号のセルのセル幅を算出する。その情報としては、ステップＳ４で抽出された項目名部分と文字列部分とが例示される。すなわち、表計算装置１は、列番号のセルに割り当てられた文字列のうちの文字数が最大の文字列が収まるようにセル幅を調整する。または、表計算装置１は、抽出された項目名部分と文字列部分とを分割しないで１つのセルに割り当てるときに、そのセルに割り当てられた文字列が他のセルに割り当てられた文字列により隠れないように、そのセルの列番号以降の複数のセルのうちのいくつかのセルのセル幅を大きくする。
【００８４】
表計算装置１は、誤差が入力される入力欄を表示装置に表示し、入力装置によりその入力欄に記入された誤差を収集する（ステップＳ１２）。
【００８５】
表計算装置１は、その新シートのセルのうちから旧シートの各セルに対応するセルを抽出する。その対応する２つのセルは、列番号と行番号とが一致している。表計算装置１は、さらに、その対応付けられた２つのセルの情報を複数行複数列に格子状に配列された複数のセルにより表現される第１レポートに記入する（ステップＳ１３）。すなわち、表計算装置１は、まず、旧シートの全てのセルを第１レポートに記入する。このとき、第１レポートのうちの旧シートの各セルの情報が記入されているセルの列番号は、その旧シートのセルの列番号と一致している。新シートのセルが記入されているセルの列番号は、対応する旧シートのセルが記入されるセルの列番号と一致し、行番号がその旧シートのセルが記入されているセルの行番号に１を加算した値である。すなわち、新シートのセルは、対応する旧シートのセルが記入されているセルの下に配置されるセルに記入されている。
【００８６】
表計算装置１は、その対応付けられた２つのセルをそれぞれ比較する。すなわち、表計算装置１は、その２つのセルに割り当てられた情報が数値であるときに、その２つのセルにそれぞれ割り当てられた２つの数値の差を算出し、その差を新シートのセルに割り当てられた数値で割った差の割合を算出する。表計算装置１は、さらに、算出された差と差の割合を第１レポートの所定のセルに記入する（ステップＳ１４）。すなわち、その算出された差が記入されたセルは、列番号が対応する旧シートのセルが記入されるセルの列番号と一致し、行番号がその旧シートのセルが記入されているセルの行番号に２を加算した値である。その算出された差の割合が記入されたセルは、列番号が対応する旧シートのセルが記入されるセルの列番号と一致し、行番号がその旧シートのセルが記入されているセルの行番号に３を加算した値である。すなわち、算出された差と差の割合は、対応する旧シートのセルと新シートのセルとが記入されているセルの下に配置されるセルに記入されている。
【００８７】
表計算装置１は、その算出された比較結果が収集された条件を満たすかどうかを判別する。表計算装置１は、さらに、第１レポートのうちのその条件を満たす比較結果に対応する旧シートのセルと新シートのセルとその比較結果とが記載されているセルの表示形式（たとえば、表示色）を変更する（ステップＳ１５）。
【００８８】
図８は、第２レポートを作成する動作を示している。表計算装置１は、まず、項目名とその項目名に対応する情報が配置される相対位置とが入力される入力欄を表示装置に表示し、入力装置によりその入力欄に記入された項目名と相対位置とを収集する（ステップＳ２１）。表計算装置１は、収集された相対位置に基づいて、ステップＳ１１で収集された旧シートからステップＳ２１で収集された項目名に対応する旧数値を抽出し、ステップＳ１１で収集された新シートからその項目名に対応する新数値を抽出する（ステップＳ２２）。表計算装置１は、その旧数値と新数値との差を算出し、その差を新数値で割った差の割合を算出する。表計算装置１は、その項目名とその旧数値と新数値とその差とその差の割合とをシートの所定のセルに並べて記入して、第２レポートを生成する（ステップＳ２３）。
【００８９】
なお、表計算装置１は、既述の第１レポートを作成する動作により生成された第１レポートに基づいて第２レポートを作成することもできる。このとき、表計算装置１は、まず、項目名が入力される入力欄を表示装置に表示し、入力装置によりその入力欄に記入された項目名を収集する。次いで、表計算装置１は、第１レポートからその項目名が割り当てられているセルを検出する。表計算装置１は、検出されたセルの列番号が等しいセルに割り当てられる旧シートのセルと新シートのセルとその比較結果とを抽出する。表計算装置１は、さらに、抽出された情報を第２レポートに記入する。このとき、表計算装置１は、項目名のみが入力される入力欄を表示装置に表示し、入力装置によりその入力欄に記入された項目名のみを収集するだけでよく好ましい。
【００９０】
図９は、図２のシート４１を表計算ソフトウェア４により処理可能なシートに変換する動作により生成されるシートを示している。そのシート５１は、複数行複数列に格子状に配列された複数のセルから形成され、その複数のセルは、シート４１に記入された情報（文字列または数値）がそれぞれ割り当てられている。シート５１は、シート４１において左端からの距離が等しい位置に配置されている数値が列番号の等しい複数のセル５２に割り当てられている。シート５１は、数値「３２．６」がシート４１において数値「３２．６」が配置されている位置に概ね一致する位置に配置される５４に割り当てられている。
【００９１】
シート５１は、ステップＳ５で表計算装置１が抽出された項目名部分または文字列部分をその複数のセルのうちの１つのセルに割り当てるときに、一続きの文字列「＊＊  ＷＡＳＴＥ  ＧＡＳ  ＣＯＮＤＩＴＩＯＮＳ  ＊＊」が途中に区切り文字を含んでいるにもかかわらずに、１つのセル５３にそのまま割り当てられる。
【００９２】
図１０は、図２のシート４１を公知の表計算ソフトウェアにより変換されるシートを示している。そのシート６１は、「ＭｉｃｒｏｓｏｆｔＥｘｃｅｌ」（登録商標）により、シート４１を「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」として、複数のセルに割り当てられたシートである。シート６１は、シート４１において左端からの距離が等しい位置に配置されている数値が列番号の等しい複数のセル６２に割り当てられていない。シート６１は、文字列「３２．６Ｃ」が左端のセル６４に割り当てられてシート４１において数値「３２．６」が配置されている位置と大きく離れた位置に配置される５４に割り当てられている。シート６１では、さらに、シート４１において数値「３２．６」を示していることに対して、文字列「３２．６Ｃ」としてセル６４に割り当てられている。シート６１は、一続きの文字列「＊＊  ＷＡＳＴＥ  ＧＡＳ  ＣＯＮＤＩＴＩＯＮＳ  ＊＊」が途中に区切り文字を含んでいることにより、複数のセル６３に分割されて割り当てられている。
【００９３】
図１１は、図２のシート４１を公知の表計算ソフトウェアにより変換されるシートを示している。そのシート７１は、「ＭｉｃｒｏｓｏｆｔＥｘｃｅｌ」（登録商標）により、シート４１を「スペースによって右または左に揃えられた固定長フィールドのデータ」として、複数のセルに割り当てられたシートである。シート７１は、数値を示す文字列が途中で区切られて、複数のセル７５、７６に割り当てられることがある。シート７１は、さらに、シート４１が示す複数の表４２−１〜４２−ｎのうちの図２に図示されていない表に基づいて導出されるフィールド長を用いてシート４１の情報を複数のセルに割り当てられている。このため、シート７１は、一続きの単語「ＤＥＳＩＧＮ」「ＨＥＩＧＨＴ」「ＣＯＭＰＯＳＩＴＩＯＮＳ」が途中で区切られて、複数のセル７２、７３、７４に割り当てられることがある。
【産業上の利用可能性】
【００９４】
本発明による表計算装置及び表計算方法は、技術計算結果の比較に利用される。このとき、技術計算装置２は、まず、様々な条件での下の製品の挙動を算出し、その計算結果をそれぞれ示す多数のシートを生成する。表計算装置１は、図６に示される技術計算装置２により生成されたシートを表計算ソフトウェア４により処理可能なシートに変換する動作を実行して、その多数のシートを表計算ソフトウェア４により処理可能な多数のシートにそれぞれ変換する。このとき、ユーザは、その多数のシートがそれぞれ印字された多数の紙を用いて計算結果を処理するより速く、その計算結果を統計処理することができる。
【００９５】
本発明による表計算装置及び表計算方法は、ソフトウェアのコンバージョンの検証に利用される。このとき、技術計算ソフトウェア７は、旧バージョンのプログラム言語により記載された旧技術計算ソフトウェアと新バージョンのプログラム言語により記載された新技術計算ソフトウェアとを含んでいる。技術計算装置２は、まず、その旧技術計算ソフトウェアを用いて製品の挙動を算出し、その計算結果をそれぞれ示す旧計算結果シートを生成する。技術計算装置２は、次いで、その新技術計算ソフトウェアを用いて製品の挙動を算出し、その計算結果をそれぞれ示す新計算結果シートを生成する。表計算装置１は、図６に示される技術計算装置２により生成されたシートを表計算ソフトウェア４により処理可能なシートに変換する動作を実行して、その旧計算結果シートを表計算ソフトウェア４により処理可能な旧シートに変換し、その新計算結果シートを表計算ソフトウェア４により処理可能な新シートに変換する。
【００９６】
表計算装置１は、さらに、図７に示される第１レポートを作成する動作を実行して、その旧シートと新シートとを比較して対応する２つの数値のうちの差の割合が０．１％以上である数値がマーキングされる第１レポートを作成する。その差の割合の閾値としては、０．１％以外の数値を適用することもでき、たとえば、０．００００５％を適用することもできる。
【００９７】
新技術計算ソフトウェアは、その旧シートと新シートとの間に差の割合が０．１％以上である数値が存在しないときに、旧技術計算ソフトウェアから適切にコンバージョンが実行されたものとみなされ、以降に旧技術計算ソフトウェアの代わりに新技術計算ソフトウェアが用いられて技術計算が実行される。
【００９８】
新技術計算ソフトウェアは、その旧シートと新シートとの間に差の割合が０．１％以上である数値が存在するときに、旧技術計算ソフトウェアから適切にコンバージョンが実行されなかったものみなされ、廃棄される。このとき、その新技術計算ソフトウェアは、利用されないで、旧技術計算ソフトウェアは、以前と同様に用いられて技術計算が実行される。
【００９９】
または、旧技術計算ソフトウェアは、その旧シートと新シートとの間に差の割合が０．１％以上である数値が存在するときに、適切にコンバージョンが実行されたものとみなされるまで、繰り返してコンバージョンと検証とが実行される。適切にコンバージョンが実行された新技術計算ソフトウェア作成されたときに、以降に、その新技術計算ソフトウェアが用いられて技術計算が実行される。本発明による表計算装置及び表計算方法によれば、ソフトウェアのコンバージョンを容易に検証することができる。
【図面の簡単な説明】
【０１００】
【図１】図１は、本発明による表計算装置の実施の形態を示すブロック図である。
【図２】図２は、技術計算装置により生成されたシートを示す図である。
【図３】図３は、変換部を示すブロック図である。
【図４】図４は、第１レポート作成部を示すブロック図である。
【図５】図５は、第２レポート作成部を示すブロック図である。
【図６】図６は、技術計算装置により生成されたシートを表計算ソフトウェアにより処理可能なシートに変換する動作を示すフローチャートである。
【図７】図７は、第１レポートを作成する動作を示すフローチャートである。
【図８】図８は、第２レポートを作成する動作を示すフローチャートである。
【図９】図９は、本発明による表計算装置により生成されたシートを示す図である。
【図１０】図１０は、公知の表計算ソフトウェアにより生成されたシートを示す図である。
【図１１】図１１は、公知の表計算ソフトウェアにより生成された他のシートを示す図である。
【図１２】図１２は、公知の技術計算装置を示すブロック図である。
【図１３】図１３は、公知の技術計算装置により生成されたシートを示す図である。
【符号の説明】
【０１０１】
１  ：表計算装置
２  ：技術計算装置
３  ：変換部
４  ：表計算ソフトウェア
５  ：第１レポート作成部
６  ：第２レポート作成部
７  ：技術計算ソフトウェア
８  ：文字列生成部
１１：文字列収集部
１２：設定情報収集部
１３：数値抽出部
１４：項目名抽出部
１５：割当部
１６：表生成部
２１：シート収集部
２２：条件収集部
２３：対応セル抽出部
２４：比較結果算出部
２５：マーキング部
３１：項目名収集部
３２：対象情報抽出部
４１：シート
４２−１〜４２−ｎ：表
４３：文字列
５１：シート
５２〜５４：セル
６１：シート
６２〜６４：セル
７１：シート
７２〜７６：セル
【図１】
2006139512.tif 000003
【図２】
2006139512.tif 000004
【図３】
2006139512.tif 000005
【図４】
2006139512.tif 000006
【図５】
2006139512.tif 000007
【図６】
2006139512.tif 000008
【図７】
2006139512.tif 000009
【図８】
2006139512.tif 000010
【図９】
2006139512.tif 000011
【図１０】
2006139512.tif 000012
【図１１】
2006139512.tif 000013
【図１２】
2006139512.tif 000014
【図１３】
2006139512.tif 000015