(57)【要約】  スプレッドシートにおいてセルを処理する方法、システム及びコンピュータ・プログラム製品を提供する。第１セルに含まれる第１数式と、第２セルに含まれる第２数式であって、第１セルの出力を参照する第２数式とを自動的に統合して統合数式を生成する。統合数式を単一セルに格納する。スプレッドシートにおいてセルを処理する更なる方法、システム及びコンピュータ・プログラム製品を提供する。第１セルと、第１セルに含まれる数式によって先行セルとして参照される第２セルと、第２セルに含まれる数式またはデータとを表示し、その一方で、第１セルに含まれる数式及びその値を非表示にする。
2008516321.tif 000002
【特許請求の範囲】
【請求項１】
スプレッドシートにおいてセルを処理する方法であって、
第１セルに含まれる第１数式と、第２セルに含まれる第２数式とを自動的に統合して統合数式を生成するステップであって、前記第２数式は前記第１セルの出力を参照する、ステップと、
前記統合数式を単一セルに格納するステップと
を含む方法。
【請求項２】
前記統合数式を単一セルに格納するステップは、前記統合数式を前記単一セルに自動的に格納するステップを含む、請求項１に記載の方法。
【請求項３】
第３セルに含まれる第３数式を前記第１数式及び前記第２数式と自動的に統合して前記統合数式を生成するステップであって、前記第３セルの出力は前記第１数式及び前記第２数式の少なくとも１つによって参照される、ステップを更に含む、請求項１に記載の方法。
【請求項４】
前記第１セルをクリアするステップを更に含む、請求項１に記載の方法。
【請求項５】
前記単一セルは前記第２セルである、請求項１に記載の方法。
【請求項６】
統合のため前記第２セルを選択するユーザ入力を受信するステップを更に含む、請求項１に記載の方法。
【請求項７】
前記第２セルを選択する前記ユーザ入力に応答して、前記第２セルに先行するセルを強調表示するステップを更に含む、請求項６に記載の方法。
【請求項８】
統合のため前記第１セルを選択するユーザ入力を受信するステップを更に含む、請求項６に記載の方法。
【請求項９】
前記第１数式への入力を含む入力セルを選択するユーザ入力を受信するステップであって、前記入力セルは前記単一セルに統合されない、ステップを更に含む、請求項６に記載の方法。
【請求項１０】
前記単一セルが前記統合数式を含むことを視覚的に指示するステップを更に含む、請求項１に記載の方法。
【請求項１１】
前記第１セルが前記第２セル以外のセルによって参照されるかどうかを決定するステップと、
前記第１セルが前記第２セル以外のセルによって参照される場合には、ユーザに対する警報を生成するステップと
を更に含む、請求項１に記載の方法。
【請求項１２】
第１セルと、前記第１セルに含まれる数式によって先行セルとして参照される第２セルと、前記第２セルに含まれる数式またはデータとを表示し、その一方で、前記第１セルに含まれる前記数式及びその値を非表示にするステップを更に含む、請求項１に記載の方法。
【請求項１３】
第１セルと、前記第１セルに含まれる数式によって先行セルとして参照される第２セルと、前記第２セルに含まれる数式またはデータとを表示し、その一方で、前記第１セルに含まれる前記数式及びその値を非表示にする前記ステップは、前記第１セルの依存セルである第３セルの数式を表示し、その一方で、前記第１セルに含まれる前記数式及びその値を非表示にし、前記第２セルに含まれる前記数式またはデータを表示するステップを含む、請求項１２に記載の方法。
【請求項１４】
ユーザによる前記第３セルの選択に応答して、前記第１セルの前記非表示にされた数式を表示することを更に含む、請求項１３に記載の方法。
【請求項１５】
ユーザによる前記第３セルの選択に応答して、前記第３セルに先行するセルを強調表示するステップを更に含む、請求項１３に記載の方法。
【請求項１６】
前記第２セルを入力セルとして選択するユーザ入力を受信するステップを更に含む、請求項１２に記載の方法。
【請求項１７】
スプレッドシートにおいてセルを処理するシステムであって、
第１セルに含まれる第１数式と、第２セルに含まれる第２数式とを自動的に統合して統合数式を生成する手段であって、前記第２数式は前記第１セルの出力を参照する、手段と、
前記統合数式を単一セルに格納する手段と
を含むシステム。
【請求項１８】
デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラム製品であって、前記内部メモリは、前記コンピュータ・プログラム製品がコンピュータ上で実行されると、請求項１〜１６のいずれか一項に記載の本発明を行うために実行するソフトウェア・コード部分を含むコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、スプレッドシートに関し、特に、スプレッドシートを処理する方法、システム及びコンピュータ・プログラム製品に関する。
【背景技術】
【０００２】
電子スプレッドシートは、コンピュータ操作を可能にするように入力されたデータ及び数式を含むセルを定義する多次元格子である。数式は結果を関連付け生成する。これら数式はスプレッドシートの複数のセルにわたり、スプレッドシートのその他のセルとの相互依存関係を含むことがある。スプレッドシートは、多数のこのような占有されたセルを含むことがあり、これによって、ユーザがスプレッドシートを評価または考察することを困難にさせることがある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明の特定の実施形態は、スプレッドシートにおいてセルを処理する方法、システム及びコンピュータ・プログラム製品を提供する。本発明の実施形態によれば、第１セルに含まれる第１数式と、第２セルに含まれ、第１セルの出力を参照する第２数式とを自動的に統合して統合数式を生成する。統合数式を単一セルに格納する。
【０００４】
本発明の更なる実施形態によれば、スプレッドシートにおいてセルを処理する方法は、第１セルと、第１セルに含まれる数式によって先行セルとして参照される第２セルと、第２セルに含まれる数式またはデータとを表示し、その一方で、第１セルに含まれる数式及びその値を非表示にすることを含む。
【０００５】
本発明の実施形態を最初に方法について前述したが、本発明の更なる実施形態によれば、統合されたコンピュータ可読プログラム・コードを有するコンピュータ可読媒体を含むコンピュータ・プログラム製品であって、コンピュータ可読プログラム・コードが、前記に説明した方法のそれぞれのステップを実行するように構成されたコンピュータ可読プログラム・コードを含むコンピュータ・プログラム製品を提供する。本発明の更なる実施形態によれば、上記に説明した方法のそれぞれのステップを実行する手段を含むシステムを提供する。
【課題を解決するための手段】
【０００６】
第１側面から見ると、本発明は、スプレッドシートにおいてセルを処理する方法であって、第１セルに含まれる第１数式と、第２セルに含まれる第２数式とを自動的に統合して統合数式を生成し、第２数式は第１セルの出力を参照することと、統合数式を単一セルに格納することとを含む方法を提供する。
【０００７】
好ましくは、本発明は、統合数式を単一セルに格納することが、統合数式を単一セルに自動的に格納することを含む方法を提供する。
【０００８】
好ましくは、本発明は、第３セルに含まれる第３数式を第１数式及び第２数式と自動的に統合して統合数式を生成することを更に含む方法であって、第３セルの出力が第１数式及び第２数式の少なくとも１つによって参照される方法を提供する。
【０００９】
好ましくは、本発明は、第１セルをクリアすることを更に含む方法を提供する。
【００１０】
好ましくは、本発明は、単一セルが第２セルである方法を提供する。
【００１１】
好ましくは、本発明は、統合のため、第２セルを選択するユーザ入力を受信することを更に含む方法を提供する。
【００１２】
好ましくは、本発明は、第２セルを選択するユーザ入力に応答して、第２セルに先行するセルを強調表示することを更に含む方法を提供する。
【００１３】
好ましくは、本発明は、統合のため、第１セルを選択するユーザ入力を受信することを更に含む方法を提供する。
【００１４】
好ましくは、本発明は、第１数式への入力を含む入力セルを選択するユーザ入力を受信することを更に含む方法であって、入力セルが単一セルに統合されない方法を提供する。
【００１５】
好ましくは、本発明は、単一セルが統合数式を含むことを視覚的に指示することを更に含む方法を提供する。
【００１６】
好ましくは、本発明は、単一セルが統合数式を含むことを視覚的に指示することが、図形印を単一セル上に表示することを含む方法であって、図形印は、単一セルが統合数式を含むことを指示する方法を提供する。
【００１７】
好ましくは、本発明は、単一セルが統合数式を含むことを視覚的に指示することが、数式の名前を単一セルに表示することを含む方法であって、数式の名前は、単一セルが統合数式を含むことを指示する方法を提供する。
【００１８】
好ましくは、本発明は、数式の名前のユーザ入力を受信することを更に含む方法を提供する。
【００１９】
好ましくは、本発明は、第１セルが第２セル以外のセルによって参照されるかを決定することと、第１セルが第２セル以外のセルによって参照される場合には、ユーザにアラートを生成することとを更に含む方法を提供する。
【００２０】
好ましくは、本発明は、第１セルに含まれる第１数式と、第２セルに含まれる第２数式とを自動的に統合して統合数式を生成し、第２数式が第１セルの出力を参照することが、第１セル及び第２セルを選択するユーザ入力を受信することと、第１セル及び第２セルの数式データを獲得することと、少なくとも１つの入力セルを決定することと、統合数式を決定することとを含み、統合数式を単一セルに格納することが、統合数式の戻り値として単一セルを割り当てることを含む方法を提供する。
【００２１】
好ましくは、本発明は、単一セルが第２セルである方法であって、第１セルをクリアすることを更に含む方法を提供する。
【００２２】
好ましくは、本発明は、スプレッドシートにおいてセルを処理する方法であって、第１セルと、第１セルに含まれる数式によって先行セルとして参照される第２セルと、第２セルに含まれる数式またはデータとを表示し、その一方で、第１セルに含まれる数式及びその値を非表示にすることを更に含む方法を提供する。
【００２３】
好ましくは、本発明は、第１セルと、第１セルに含まれる数式によって先行セルとして参照される第２セルと、第２セルに含まれる数式またはデータとを表示し、その一方で、第１セルに含まれる数式及びその値を非表示にすることが、第１セルの依存セルである第３セルの数式を表示し、その一方で、第１セルに含まれる数式及びその値を非表示にし、第２セルに含まれる数式またはデータを表示することを含む方法を提供する。
【００２４】
好ましくは、本発明は、ユーザによる第３セルの選択に応答して、第１セルの非表示にされた数式を表示することを更に含む方法を提供する。
【００２５】
好ましくは、本発明は、ユーザによる第３セルの選択に応答して、第３セルに先行するセルを強調表示することを更に含む方法を提供する。
【００２６】
好ましくは、本発明は、第２セルを入力セルとして選択するユーザ入力を受信することを更に含む方法を提供する。
【００２７】
好ましくは、本発明は、第１セルが、非表示にされた数式を含むことを視覚的に指示することを更に含む方法を提供する。
【００２８】
好ましくは、本発明は、第１セルが、非表示にされた数式を含むことを視覚的に指示することが、図形印を第１セル上に表示することを含む方法であって、図形印は、第１セルが、非表示にされた数式を含むことを指示する方法を提供する。
【００２９】
好ましくは、本発明は、第１セルが、非表示にされた数式を含むことを視覚的に指示することが、図形印を、第１セルに依存する第３セル上に表示することを含む方法であって、図形印は、第３セルに先行するセルが、非表示にされた数式を含むことを指示する方法を提供する。
【００３０】
好ましくは、本発明は、第１セルが、非表示にされた数式を含むことを視覚的に指示することが、数式の名前を、第１セルに依存する第３セル上に表示することを含む方法であって、数式の名前は、第３セルに先行するセルが、非表示にされた数式を含むことを指示する方法を提供する。
【００３１】
第２側面から見ると、本発明は、スプレッドシートにおいてセルを処理するシステムであって、第１セルに含まれる第１数式と、第２セルに含まれる第２数式とを自動的に統合して統合数式を生成し、第２数式が第１セルの出力を参照する手段と、統合数式を単一セルに格納する手段とを含むシステムを提供する。
【００３２】
第３側面から見ると、本発明は、スプレッドシートにおいてセルを処理するシステムであって、第１セルと、第１セルに含まれる数式によって参照される先行セルである第２セルと、第２セルに含まれる数式またはデータとを表示し、その一方で、第１セルに含まれる数式及びその値を非表示にする手段を含むシステムを提供する。
【００３３】
第４側面から見ると、本発明は、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラム製品であって、内部メモリは、コンピュータ・プログラム製品がコンピュータ上で実行されると、上述した本発明を行うために実行するソフトウェア・コード部分を含むコンピュータ・プログラム製品を提供する。
【発明を実施するための最良の形態】
【００３４】
次に、添付図面を参照して、これ以降、本発明を更に詳細に説明する。添付図面は、本発明の例示的な実施形態を表す。しかし、多くの異なる形態で本発明を統合することができ、本発明が、本明細書で説明した実施形態に限定されるものと解釈されるべきではない。むしろ、本開示が完璧かつ完全なものとなり、発明の範囲を当業者に充分に伝わるように、これらの実施形態が提供される。図中、同一の符号は同様の要素を示す。本明細書で用いられるように、用語「及び／または」は、関連のリストされた項目の１つまたはそれ以上のあらゆる組み合わせを含み、「／」として省略することができる。
【００３５】
本明細書で用いられる用語は、特定の実施形態だけを記述するためのものであって、本発明を限定するものではない。単数複数について明確に記載のないものは１つ以上とする。更に、当然のことながら、本明細書で用いられる用語「含む」は、記述された機能、整数、ステップ、動作、要素及び／またはコンポーネントの存在を指定するが、１つ以上のその他の機能、整数、ステップ、動作、要素、コンポーネント及び／またはそれらのグループの存在または追加を排除しない。
【００３６】
本明細書で用いられる（技術用語及び科学用語を含む）すべての用語は、特別の定義がない限り、本発明が属する技術分野における当業者によって一般に理解される意味と同じ意味を有する。更に、当然のことながら、一般に用いられる辞書に定義されるような用語は、関連技術の文脈にある意味と一致する意味を有すると解釈されるべきであって、本明細書で明確に定義されない限り、理想的または過度に形式的に解釈されない。
【００３７】
本明細書で用いられるように、「依存関係ツリー」または「依存関係チェーン」は、所定のルート・セルに直接または間接的に依存する（ルート・セルの「依存」と称する）、または、所定のルート・セルが直接または間接的に依存する（ルート・セルの「先行」と称する）セルまたはセルに含まれた情報（すなわち、データ及び／または（複数の）数式）を意味する。依存関係ツリーは、１つ以上の枝を有することができる。「枝セル」は依存関係ツリーにおけるセルであって、枝セルを依存セルまたは先行セルとすることができる。
【００３８】
本明細書で用いられるように、「リーフ・セル」は、ルート・セルの依存関係ツリーの枝において最後または終端のセルであるセルを意味する（すなわち、リーフ・セルは、スプレッドシートにおけるその他のいかなるセルにも依存しない）。リーフ・セルは枝セルの一種である。
【００３９】
本明細書で特別な開示がない限り、ユーザは、コンピュータ・アプリケーションへの入力を選択する既知及び従来の技術を含む任意の適切な手段または方法によってセル、オプション、機能またはその他の要素または関数を選択することができる。例えば、カーソルをセルまたはボックス上に配置し、マウス・ボタンをクリックし、セルまたはボックスへタブを操作し、「エンター」キーを押圧することなどによってセルまたはボックスを選択することができる。
【００４０】
当業者は明らかなように、本発明を、方法、データ処理システム及び／またはコンピュータ・プログラム製品として具体化することができる。従って、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、または、ソフトウェア側面及びハードウェア側面を組み合わせた実施形態の形をとることができる。更に、本発明は、コンピュータ使用可能プログラム・コードを内部で統合させたコンピュータ使用可能ストレージ媒体上でコンピュータ・プログラム製品の形をとることができる。ハード・ディスク、ＣＤ‐ＲＯＭ、光ストレージ装置、インターネットまたはイントラネットをサポートするような伝送媒体、または、磁気ストレージ装置を含む任意の適切なコンピュータ可読媒体を用いることができる。
【００４１】
本発明の動作を行うコンピュータ・プログラム・コードを、ＪＡＶＡ７、スモールトーク（Ｓｍａｌｌｔａｌｋ）またはＣ＋＋のようなオブジェクト指向プログラミング言語で書くことができる。しかし、本発明の動作を行うコンピュータ・プログラム・コードを、「Ｃ」プログラミング言語のような従来のプロシージャー型プログラミング言語、または、ＶｉｓｕａｌＢａｓｉｃのような視覚型プログラミング環境でも書くことができる。
【００４２】
プログラム・コードの全体をユーザのコンピュータ上で実行することができ、プログラム・コードの一部を独立型ソフトウェア・パッケージとしてユーザのコンピュータ上で実行することができ、プログラム・コードの一部をユーザのコンピュータ上で実行し、一部を遠隔コンピュータ上で実行することができ、または、プログラム・コードの全体を遠隔コンピュータ上で実行することができる。後者の場合では、ローカル・エリア・ネットワーク（ＬＡＮ）または、広域ネットワーク（ＷＡＮ）を介して遠隔コンピュータをユーザのコンピュータに接続することができる。または、外部のコンピュータとの接続を（例えば、インターネット・サービス・プロバイダを用いるインターネットを介して）行うことができる。
【００４３】
本発明の実施形態による方法、システム及び／またはコンピュータ・プログラム製品のフローチャート図及び／またはブロック図を参照して以下で本発明の一部を説明する。当然のことながら、図の各ブロック及びブロックの組み合わせをコンピュータ・プログラム命令によって実装することができる。これらコンピュータ・プログラム命令を汎用コンピュータ、特殊目的コンピュータまたはその他のプログラム可能データ処理装置のプロセッサに供給して、コンピュータまたはその他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、１つまたは複数のブロックに指定された機能／動作を実装する手段を生成するようにマシンを生成することができる。
【００４４】
また、これらコンピュータ・プログラム命令を、特別に機能するようにコンピュータまたはその他のプログラム可能データ処理装置に命令することができるコンピュータ可読メモリに格納し、これによって、コンピュータ可読メモリに格納された命令が、１つまたは複数のブロックに指定された機能／動作を実装する命令手段を含む製品を生成することができる。
【００４５】
また、コンピュータ・プログラム命令をコンピュータまたはその他のプログラム可能データ処理装置にロードして、コンピュータまたはその他のプログラム可能装置上で実行する命令が、１つまたは複数のブロックに指定された機能／動作を実装するステップを行うように、コンピュータまたはその他のプログラム可能装置上で実行すべき一連の動作ステップにコンピュータ実装プロセスを生成させることができる。
【００４６】
次に、図１〜１１を参照して本発明の実施形態を説明する。本明細書で記述するように、本発明の実施形態はスプレッドシートの複数のセルを単一セルに統合する。このようにして、スプレッドシート内の有益なスペース（すなわち、セル）を解放することができ、スプレッドシートの複雑性を減少させることができる。
【００４７】
図１〜１１のフローチャート及びブロック図は、本発明の様々な実施形態によるシステム、方法及びコンピュータ・プログラム製品の実現可能な実装の構造、機能及び動作を示している。この点について、フローチャートまたはブロック図の各ブロックは、指定された（複数の）論理機能を実装する１つ以上の実行可能命令を含むコードのモジュール、セグメントまたは部分を表すことができる。また、ここで留意すべきは、幾つかの代替の実施形態において、ブロック内に述べられた機能は、図面に述べられた順序から外れて生じることができるということである。例えば、連続して示された２つのブロックを、実際には、ほぼ同時に実行することができる。または、時には、ブロックを、含まれた機能に応じて逆の順序で実行することがある。また、当然のことながら、ブロック図及び／またはフローチャート図の各ブロック、並びに、ブロック図及び／またはフローチャート図のブロックの組み合わせを、指定された機能または動作を実行する特殊目的ハードウェア・ベース・システムによって、または、特殊目的ハードウェア及びコンピュータ命令の組み合わせによって実装することができる。
【００４８】
次に、図１を参照して、本発明の幾つかの実施形態によるシステムでの使用に適するデータ処理システムのブロック図を説明する。図１で示されるように、データ処理システム３０の例示的な実施形態は、プロセッサ３８と通信するキーボードまたはキーパッドのような（複数の）入力装置３２、表示装置３４及びメモリ３６を代表的に含む。データ処理システム３０は、この場合もプロセッサ３８と通信するスピーカ４４及び（複数の）Ｉ／Ｏデータ・ポート４６を更に含むことができる。データ処理システム３０と別のコンピュータ・システムまたはネットワークとの間で情報を転送するためにＩ／Ｏデータ・ポート４６を用いることができる。これらのコンポーネントを、本明細書で記述された動作を行うように構成することができる多くの従来のデータ処理システムで用いられるような従来のコンポーネントとすることができる。
【００４９】
図２は、本発明の実施形態によるシステム、方法及び／またはコンピュータ・プログラム製品を示すデータ処理システムのブロック図である。プロセッサ３８は、アドレス／データ・バス４８を介してメモリ３６と通信する。プロセッサ３８を、マイクロプロセッサのような市販または特注の任意のプロセッサとすることができる。メモリ３６は、データ処理システム３０の機能を実装するように用いられたソフトウェア及びデータを含むメモリ装置の全体的な階層を表現するものである。メモリ３６は、キャッシュ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ、ＳＲＡＭ及び／またはＤＲＡＭを含むことができ、しかし、これらの種類の装置に限定されない。
【００５０】
図２に示すように、メモリ３６は、データ処理システム３０で用いられる幾つかのカテゴリのソフトウェア及びデータ、すなわち、オペレーティング・システム５２、アプリケーション・プログラム５４、入力／出力（Ｉ／Ｏ）装置ドライバ５８及びデータ６７を含むことができる。当業者は明らかなように、オペレーティング・システム５２を、インターナショナル・ビジネス・マシーンズ・コーポレーションのＯＳ／２（登録商標）、ＡＩＸ（登録商標）またはＳｙｓｔｅｍ３９０（登録商標）、マイクロソフト・コーポレーションのＷｉｎｄｏｗｓ９５（登録商標）、Ｗｉｎｄｏｗｓ９８（登録商標）、Ｗｉｎｄｏｗｓ２０００（登録商標）またはＷｉｎｄｏｗｓＸＰ（登録商標）、Ｕｎｉｘ（登録商標）またはＬｉｎｕｘ（登録商標）のような、データ処理システムと用いるのに適する任意のオペレーティング・システムとすることができる。Ｉ／Ｏ装置ドライバ５８は、（複数の）Ｉ／Ｏデータ・ポート４６のような装置及び特定のメモリ３６のコンポーネントと通信するためにオペレーティング・システム５２を介してアプリケーション・プログラム５４によってアクセスされるソフトウェア・ルーチンを代表的に含む。アプリケーション・プログラム５４は、データ処理システム３０の様々な機能を実装する例示的なプログラムである。最後に、データ６７は、アプリケーション・プログラム５４、オペレーティング・システム５２、Ｉ／Ｏ装置ドライバ５８、及び、メモリ３６に存在しうるその他のソフトウェア・プログラムによって用いられる静的及び動的データを表す。
【００５１】
図２に更に示すように、アプリケーション・プログラム５４は、複数セル統合モジュール６０及び少なくとも１つのスプレッドシート・アプリケーション６２を含むことができる。
【００５２】
図２に示す実施形態で表されているように、メモリ３６のデータ部分６７は、数式データ６４及び参照データ６６を含むことができる。
【００５３】
アプリケーション・プログラムやデータなどの間の特定分割に関して本発明の実施形態を図２に示したが、本発明は図２の構成に限定されると解釈されるべきではなく、本明細書で記述された動作を行うことができるいかなる構成をも含むものとする。
【００５４】
スプレッドシート及びそれらの動作は当業者にとって既知であるので、本明細書では、これらを詳細に説明しない。スプレッドシートは、それぞれのセルと関連する２次元配列のデータ構造としてコンピュータ・プログラムで代表的に表される。各データ構造は、特に、セルのデータまたは数式、このセルに依存するセル（依存セルと称する）へのポインタのリンク・リスト、及び、このセルが依存するセル（先行または参照セルと称する）へのポインタのリンク・リストを含む。数式は、実行すべき１つ以上の数学演算と、（複数の）数学演算に必要とされる値用のセル参照またはソースとを含む。数式は、セル参照だけを含むことができる。概念的には、ポインタは、参照セルをルート・セルと称することができ、ツリーの枝を終端する依存セル及び先行セルをリーフ・セルと称することができる依存関係ツリーを形成する。ツリー内のセルをレベルによって、すなわち、枝セルと所定のルート・セルとの間のステップの数によって特徴付けることができる。
【００５５】
セルの数式で記入されたセルがあるかを決定するため、セルを評価するようにスプレッドシート・アプリケーションを構成することができる。アプリケーションは、１つまたは複数の記入されたセルなどを同様に評価して、スプレッドシートのすべてのセルまたは選択されたセル間の依存及び／または先行相互関係をマッピングすることができる。このような評価を任意の適切な方法で行うことができる。使用中、数式のセル参照の値を取り出し、数式によって定義された数学演算を実行することによってセルの数式の解を自動的に計算するようにスプレッドシートを動作することができる。スプレッドシートのセル間の依存関係チェーンを評価し更新するシステム及び方法は、当業者にとって周知である。例えば、適切な方法は、米国特許第６４６００５９号に記載されている。本明細書では、この米国特許明細書を全体として援用する。
【００５６】
図３及び図４は、本発明の特定の実施形態による方法、システム及びプログラム製品を示すフローチャートである。当然のことながら、フローチャートの各ステップとフローチャート図のステップの組み合わせとをコンピュータ・プログラム命令によって実装することができる。これらコンピュータ・プログラム命令をコンピュータまたはその他のプログラム可能データ処理装置にロードして、コンピュータまたはその他のプログラム可能装置上で実行する命令が、フローチャートの（複数の）ステップに指定された機能を実装する手段を生成するようにマシンを生成することができる。また、これらのコンピュータ・プログラム命令を、特別に機能するようにコンピュータまたはその他のプログラム可能装置に命令することができるコンピュータ可読メモリに記憶し、これによって、コンピュータ可読メモリに格納された命令が、フローチャートの（複数の）ステップに指定された機能を実装する命令手段を含む製品を生成することができる。また、コンピュータ・プログラム命令をコンピュータまたはその他のプログラム可能装置にロードして、コンピュータまたはその他のプログラム可能装置上で実行する命令が、フローチャートの（複数の）ステップに指定された機能を実装するステップを行うように、コンピュータまたはその他のプログラム可能装置上で実行すべき一連の動作ステップにコンピュータ実装プロセスを生成させることができる。
【００５７】
従って、フローチャート図のステップは、指定された機能を実行する手段の組み合わせと、指定された機能を実行するステップの組み合わせと、指定された機能を実行するプログラム命令手段とをサポートする。また、当然のことながら、フローチャート図の各ステップ、及びフローチャート図のステップの組み合わせを、指定された機能またはステップを実行する特殊目的ハードウェア・ベース・システムによって、または、特殊目的ハードウェア及びコンピュータ命令の組み合わせによって実装することができる。
【００５８】
図３のフローチャートに関して、スプレッドシートを処理する本発明の実施形態による動作を示す。このような動作では、第１セルに含まれる第１数式を第２セルの第２数式と自動的に統合して統合数式を生成する（ブロック２０２）。第２数式は第１セルを参照する。統合数式を単一セルに格納する（ブロック２０４）。「自動的に」とは、ユーザが統合数式を単一セルに手動で打ち込むことや、ペーストすることなどを必要とすることなしに数式の統合が実行されることを意味する。むしろ、複数セル統合モジュール６０によって第１及び第２数式の統合は自動的に達成される。自動的にという用語には、ユーザによる統合機能の起動を含むことができる。幾つかの実施形態によれば、ユーザからの更なる入力を必要とすることなしに統合数式を単一セルに自動的に格納する。本発明の更なる側面及び本発明の実施形態を以下に説明する。
【００５９】
次に、図４のフローチャートと、図５〜１１に示す例示的なスプレッドシート１００とを参照して本発明の特定の実施形態を説明する。
【００６０】
例えば、スプレッドシート１００は、表示装置３４上に表示された（すなわち、「オン・スクリーン状態」にある）列Ａ〜Ｅ及び行１〜９を有する。スプレッドシート１００は、表示装置上に表示されていない（すなわち、「オフ・スクリーン状態」にある）追加の列及び／または行を含むことができるが、これらを、表示装置のスプレッドシートを移動することによって（例えば、スクロールすることによって）表示装置上に表示することができる。
【００６１】
当業者は容易に明らかなように、列Ａ〜Ｅ及び行１〜９の各々は、セルＡ１，Ａ２，Ｂ１，Ｂ２などを定義する。図示のように、少なくとも特定のセルは、セルに含まれまたは格納された数式またはデータ値を有する。図５〜９及び図１１に示すように、スプレッドシート１００は、デバッグ作業などに好ましいように数式自体を表示するモードにある。しかし、スプレッドシートが、数式から生じた値を所定の位置にまたは、数式に追加して表示するモードである場合にも本発明の様々な側面を用いることができる。図１０に示すように、スプレッドシート１００は、生じた値を表示するモードである。
【００６２】
図５に示すように最初に構成されているスプレッドシート１００の場合、例えば、ユーザは、複数セル統合モジュール６０のセル統合機能を用いてユーザが統合したいスプレッドシート１００のセルを最初に選択することができる（図４のブロック２１０）。任意の適切な方法によってセル統合機能を使用可能にし、セルを選択することができる。例えば、セル統合機能を、スプレッドシート１００に隣接して表示されたツール・バー上にオプションとしてリストし、そのメニューをプル・ダウンし、ポップアップ・メニューをマウスの右をクリックすることなどができる。図６に示すように、ユーザがセルＣ６上でマウスの右をクリックし、これに応答して、複数セル統合モジュール６０は（枠１１０によって示すように）セルＣ６上のフォーカスをロックし、ポップアップ・メニュー１１２を表示した。ユーザはセルＣ６の選択を確認し、ポップアップ・メニュー１１２から「セルを統合する」を選択することによってセルの統合をリクエストする。
【００６３】
これに応答して、複数セル統合モジュール６０は、選択したセルＣ６の数式データ及び参照データを数式データ・モジュール６４及び参照データ・モジュール６６から獲得する（ブロック２１２）。このデータを用いて、複数セル統合モジュール６０はセルＣ６の先行ツリーを決定し、先行ツリーの（複数の）リーフ・セル及び中間枝セル（すなわち、ルート・セルと（複数の）リーフ・セルとの間のセル）を識別する。図７のスプレッドシート１００では、先行ツリーは、セルＣ６の数式によって参照されるセルＡ１と、セルＡ１の数式によって参照されるセルＢ２と、この場合もセルＡ１の数式によって参照されるセルＢ４と、セルＢ４の数式によって参照されるセルＡ７とを含む。
【００６４】
複数セル統合モジュール６０は、選択したルート・セルＣ６の先行ツリーのセルを視覚的に指示する。図７に示すスプレッドシート１００では、先行セルＡ１，Ａ７，Ｂ２，Ｂ４は、図示のように陰影付けまたは強調表示することによって視覚的に指示されている。当然のことながら、先行セルを視覚的に指示または区別するいかなる適切な技術をも用いることができる。また、視覚的な指示はリーフ・セル（セルＡ７，Ｂ２）と中間枝セル（セルＡ１，Ｂ４）とを区別することができる。
【００６５】
数式及び参照データを用いて、複数セル統合モジュール６０は、セルＣ６の先行ツリー内に存在しないがセルＣ６の依存ツリーの中間枝セルを参照するいかなるセルをも識別することもできる。例えば、図７のスプレッドシートでは、セルＤ２は、セルＢ４を参照する数式「＝Ｂ４」を含む。セルＢ４は、セルＣ６の先行ツリーの中間枝セルである。複数セル統合モジュール６０は、セルＤ２がセルＣ６の中間枝セルを参照することをユーザに通知するために強調表示枠（図７）のようなアラートを生成することができる。陰影付けやポップアップ・メッセージ・ボックスなどのような、ユーザに通知するいかなる適切な技術をも用いることができる。ユーザへのこの通知は、リクエストされたセル統合が使用不可能なその他のセルの数式を参照することによって別のセルでエラーを生じるおそれがあることをユーザに警告する作用をすることができる。
【００６６】
複数セル統合モジュール６０は出力セルとしてルート・セルＣ６を指定し、複数セル統合モジュール６０は、適切な入力セルを識別し、統合数式を決定するために数式及び参照データを用いてセルＣ６の先行ツリーを分析する（ブロック２１６）。リーフ・セルＡ７，Ｂ２を入力セルとして指定する。セルＣ６の数式と、セルＣ６によって直接または間接的に参照される中間枝セルの数式とを展開して、セルＣ６の数式を、指定された入力セルだけへのセル参照を含む統合数式に変換する。参照されたセルの数式で、依存セルにある数式への参照を簡単に置換することによって前記の変換を達成することができる。例えば、「Ｂ４」を「Ａ７＋１０」で置換することによってＡ１の数式を展開し、次に、「Ａ１」を「Ｂ２＋（Ａ７＋１０）」で置換することによってＣ６の数式を展開する。従って、統合数式は「＝［Ｂ２＋（Ａ７＋１０）＊１０］」となり、入力に必要とされるのは、セルＢ２，Ａ７に位置する値だけである。
【００６７】
本例の統合数式はルート・セルＣ６から直接の単一の枝だけを含むが、当然のことながら、セル数式の更なる大規模及び／または複雑なセットまたはグループをも本発明に従って統合することができる。例えば、複数セル統合モジュール６０は、先行ツリー内の複数の数式によって参照されるセルなどに適応することができる。複数セル統合モジュール６０は、図７に示すようにスプレッドシート１００を覆って、またはこれに隣接してダイアログ・ボックス１２４を生成する。次に、ユーザは所望の名前１２７をダイアログ・ボックス１２４のフィールド１２６に入力することができ、ボタン１２８を選択することによって名前を発信することができる（図８）。当然のことながら、ユーザから入力を受信するその他の適切な機構でダイアログ・ボックス１２４を置き換えまたは補足することができる。あるいはまた、複数セル統合モジュール６０は、統合数式の名前を初期設定に従って自動的に付けることができる。
【００６８】
数式の名前を発信することは、統合のためのセルＡ１，Ｂ４，Ｃ６のユーザ選択を確認する作用をする。次に、複数セル統合モジュール６０はスプレッドシート１００を更新して、指定した出力セルを統合数式の戻り値として割り当て（ブロック２１８）、入力セル以外のその他の選択されたセルをクリアする（ブロック２２０）。図９に示すように、複数セル統合モジュール６０は統合数式「ｆｏｒｍｕｌａ１」及び入力「（Ｂ２，Ａ７）」をセルＣ６に格納する。すなわち、セルＣ６に含まれた元の数式は統合数式と置き換えられる。スプレッドシートが、図９に示す数式表示モードにある場合、数式自体よりもむしろ統合数式の名前がセルＣ６に表示される。しかし、幾つかの実施形態によれば、入力リストなしに数式の名前または数式自体を自動的に表示することができる。または、ユーザにオプションを提供して数式の名前だけを、または、名前及び入力を、または数式を表示することができる。複数セル統合モジュール６０は、セルＣ６が統合数式を含むことを任意のその他の適切な技術を用いて指示することができる。例えば、セルＣ６を、指示的な色付けまたは陰影付けや、枠などで構成することができる。
【００６９】
複数セル統合モジュール６０は、統合数式に組み込まれた中間枝セルに含まれる数式をもクリアする。従って、図９に示すように、セルＡ１，Ｂ４はクリアされている。この結果として、セルＡ１，Ｂ４は解放され、更なる用途または削除のために利用可能である。入力セルＡ７，Ｂ２は維持されている。
【００７０】
スプレッドシート１００は、図１０に示す結果モードで表示される場合、統合数式の結果を通常通りにセルＣ６に表示することができる。図１０では、セルＤ２の数式の参照（すなわち、セルＢ４）が現在空のセルであるので、セルＤ２は「ＲＥＦ  ＥＲＲＯＲ！」を示す。
【００７１】
複数セル統合モジュール６０は、統合数式の入力セルを識別してユーザを支援する入力強調表示機能を任意に行うことができる。例えば、図１１を参照すると、出力セルＣ６は選択され、強調表示機能は適切なメニューから選択されている。複数セル統合モジュール６０は、入力セルＡ７，Ｂ２を強調表示することによって応答する。
【００７２】
また、複数セル統合モジュール６０は、統合数式からセルを選択的に排除することができる。中間枝セルを含むことができる入力セルとして選択されたセルを指定するオプションをユーザに提供することができる。例えば、ユーザは、セルＢ４を入力セルとして指定することができる。この場合、統合数式は「＝［Ｂ２＋Ｂ４］＊１０」となる。このアプローチは、指定した入力セル（例えば、セルＢ４）の数式を別のセル（例えば、Ｄ２）による参照のためにアクティブ状態に保持することが望ましい場合に有益である。
【００７３】
また、複数セル統合モジュール６０によって、ユーザは、統合手続きにおいて評価するセルのすべてを個々に直接選択することができる。例えば、ユーザは、入力セル及び中間セルが決定されるルート・セルを選択するよりもむしろ、入力セル、出力セル及び中間セルの各々を直接選択することができる。
【００７４】
上述の例では、統合数式が割り当てられる出力セルとしてルート・セルＣ６を自動的に指定したが、複数セル統合モジュール６０によって、ユーザは、統合数式を格納するスプレッドシートＢの異なるセルを選択することができる。
【００７５】
本発明の代替の実施形態によれば、複数セル統合モジュール６０は、統合数式を決定しなくてもよい。このような代替の実施形態によれば、図１２のフローチャートに関して、第１セルに含まれる数式及びその値を非表示にするが、第１セルと、第１セルに含まれる数式によって先行セルとして参照される第２セルと、第２セルに含まれる数式またはデータとを表示する（ブロック２３０）。特に、複数セル統合モジュール６０は、前述のように入力セル、出力セル及び中間枝セルを決定し、次に、それぞれのセルにおいて入力セル及び出力セルの数式及びデータを表示するが、中間セルを非表示にすることができる。すなわち、前述の実施形態において統合数式に組み込まれクリアされた中間数式は、代わりとしてセル内に保持され非表示にされる。「非表示にされる」とは、数式自体及びその結果または値のどちらもセル内に表示されないことを意味する。スプレッドシートの外見は簡易化されるが、スプレッドシート１００の基礎構造は変わらない。
【００７６】
すぐ上で述べた本発明の代替の実施形態は、中間セルの値がセルＤ２のようなその他のセルによって必要とされる、または必要とされることがある場合に好ましい。前述した追加の機能の１つ以上を、適切な変更を加えて同様に用いることができる。例えば、複数セル統合モジュール６０は、上述したように、入力セルを強調表示する機能を行うことができるが、中間セル（例えば、セルＡ１，Ｂ４）も強調表示され、それらの非表示にされた数式が図１３に示すように表示される。中間の非表示にされた数式のセルを、異なる色、陰影、枠などによって、このモードにある入力セルと区別することができる。数式が非表示にされている場合、非表示にされた数式を含むセルを（例えば、色、陰影、枠などによって）視覚的に指示することもできる。スプレッドシート１００において非表示にされたセルの存在は、出力セルＣ６内に数式の名前または特別な印によって一般に示される。
【００７７】
本開示の利点を考えると、本発明の意図及び範囲から逸脱することなく当業者によって多くの変更及び修正を行うことができる。従って、当然のことながら、図示の実施形態は、例示の目的のためにだけ説明されたものであって、上記の請求項によって定義された本発明を限定するものと解釈すべきではない。従って、上記の請求項は、記載された要素の組み合わせだけでなく、ほとんど同じ機能をほとんど同じように実行してほとんど同じ結果を獲得する等価な要素のすべてを含むと解釈されるべきである。従って、請求項は、特に図示し上述したもの、概念的に等価なもの、及び、本発明の基本的な概念を組み入れるものを含むと理解されるべきである。
【図面の簡単な説明】
【００７８】
【図１】本発明の幾つかの実施形態による使用に適するデータ処理システムのブロック図である。
【図２】本発明の幾つかの実施形態によるスプレッドシートを処理するシステムの詳細なブロック図である。
【図３】本発明の幾つかの実施形態によるスプレッドシートを処理する動作を示すフローチャートである。
【図４】本発明の幾つかの実施形態によるスプレッドシートを処理する動作を示す更なるフローチャートである。
【図５】本発明の幾つかの実施形態によるスプレッドシートを示す図である。
【図６】本発明の実施形態に従ってスプレッドシートのセルＣ６が選択され、メニュー・ボックスが生成されたことを除いて、図５に示すのと同じスプレッドシートを示す図である。
【図７】本発明の実施形態に従って統合セル機能が起動され、ダイアログ・ボックスが生成されたことを除いて、図６に示すのと同じスプレッドシートを示す図である。
【図８】本発明の実施形態に従って数式の名前がダイアログ・ボックスに入力されたことを除いて、図７に示すのと同じスプレッドシートを示す図である。
【図９】本発明の実施形態に従って統合セル機能が実行されたことを除いて、図８に示すのと同じスプレッドシートを示す図である。
【図１０】本発明の実施形態に従ってスプレッドシートが値表示モードにあることを除いて、図９に示すのと同じスプレッドシートを示す図である。
【図１１】セルＣ６とセルＣ６の入力セルとが強調表示されていることを除いて、図９に示すのと同じスプレッドシートを示す図である。
【図１２】本発明の更なる実施形態によるスプレッドシートを処理する動作を示すフローチャートである。
【図１３】本発明の代替の実施形態による統合セル機能が実行され、セルＣ６が選択され、セルＣ６に依存するセルが強調表示され、非表示にされた数式がセルＡ１，Ｂ４に表示されたことを除いて、図９に示すのと同じスプレッドシートを示す図である。
【図１】
2008516321.tif 000003
【図２】
2008516321.tif 000004
【図３】
2008516321.tif 000005
【図４】
2008516321.tif 000006
【図５】
2008516321.tif 000007
【図６】
2008516321.tif 000008
【図７】
2008516321.tif 000009
【図８】
2008516321.tif 000010
【図９】
2008516321.tif 000011
【図１０】
2008516321.tif 000012
【図１１】
2008516321.tif 000013
【図１２】
2008516321.tif 000014
【図１３】
2008516321.tif 000015
【国際調査報告】
2008516321.tif 000016