(57)【要約】【課題】スプレッドシートアプリケーション、カルキュレータアプリケーション、会計アプリケーション、ビジネスアプリケーションまたはバンキングアプリケーションの数式を自動的に完成させるためのシステムおよび方法を提供すること。【解決手段】本発明の一態様は、数式セルデータを自動的に完成させるためのコンピュータ実装方法である。このコンピュータ実装方法は、数式セルデータのユーザ入力に応答してオートコンプリートプロセスを実証し、このユーザ入力に基づいてオートコンプリートオプションを集約するためのステップを含んでいる。本発明の他の態様は、このユーザ入力がトリガであるときに、オートコンプリートオプションの動的リストを表示するステップを含んでいる。【選択図】図１０
2006172445.tif 000002
【特許請求の範囲】
【請求項１】
数式セルデータを自動的に完成させるためのコンピュータ実装方法であって、
数式セルデータのユーザ入力に応答してオートコンプリートプロセスを実証するステップと、
前記ユーザ入力に基づいてオートコンプリートオプションを集約するステップと、
前記ユーザ入力がトリガであるときに、オートコンプリートオプションの動的リストを表示するステップと
を含むことを特徴とするコンピュータ実装方法。
【請求項２】
前記オートコンプリートプロセスを実証する前に、前記オートコンプリートプロセスを動作させるステップをさらに含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項３】
前記オートコンプリートプロセスを動作させるステップは、キャラクタを数式セルに入力することにより、前記オートコンプリートプロセスを動作させるステップをさらに含むことを特徴とする請求項２に記載のコンピュータ実装方法。
【請求項４】
前記数式セルデータは、スプレッドシートデータを含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項５】
オートコンプリートオプションを集約するステップは、コンポーネントを集約するステップをさらに含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項６】
コンポーネントは、スプレッドシート関数依存性、定義名依存性、リスト、ピボット依存性、ユーザ定義関数依存性、列挙引数依存性、シートデータオブジェクト依存性、および日付オブジェクト依存性のうちの少なくとも１つを含むことを特徴とする請求項５に記載のコンピュータ実装方法。
【請求項７】
前記動的リストから選択されるオートコンプリートオプションに関連するティップスを表示するステップをさらに含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項８】
トリガは、セル参照、数字、スペース、算術演算子およびキャラクタ演算子のうちのどの１つも含まないことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項９】
前記ユーザ入力がトリガでないときに、オートコンプリートオプションの前記動的リストを隠すステップをさらに含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項１０】
第２のユーザ入力がトリガであるときに、オートコンプリートオプションの前記動的リストを表示するステップをさらに含むことを特徴とする請求項９に記載のコンピュータ実装方法。
【請求項１１】
オートコンプリートオプションの動的リストを表示するステップは、前記トリガがコンポーネントに関与しないときに、オートコンプリートオプションのフィルタがかけられていない動的リストを表示するステップをさらに含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項１２】
第２のユーザ入力がコンポーネントに関与するときに、オートコンプリートオプションの前記フィルタがかけられていない動的リストにフィルタをかけるステップをさらに含むことを特徴とする請求項１１に記載のコンピュータ実装方法。
【請求項１３】
オートコンプリートオプションの動的リストを表示するステップは、前記トリガがコンポーネントに関与するときに、オートコンプリートオプションのフィルタがかけられた動的リストを表示するステップをさらに含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項１４】
第２のユーザ入力がコンポーネントに関与するときに、２度目についてのオートコンプリートオプションの前記フィルタがかけられたリストにフィルタをかけるステップをさらに含むことを特徴とする請求項１３に記載のコンピュータ実装方法。
【請求項１５】
その上にデータ構造を記憶しているコンピュータ読取り可能媒体であって、
ユーザ入力について適合された第１のデータフィールドと、
前記第１のデータフィールドを自動的に完成させるためのオートコンプリートオプションの集合体を含む第２のデータフィールドと、
ユーザ入力がコンポーネントに関与するときに、前記ユーザ入力が、前記第２のデータフィールドのコンポーネントおよびフィルタがかけられたリストに関与しない場合に、前記第２のデータフィールドのフィルタがかけられていないリストを含む第３のデータフィールドと
を含むことを特徴とするコンピュータ読取り可能媒体。
【請求項１６】
前記第１のデータフィールドは、スプレッドシートセルであることを特徴とする請求項１５に記載のコンピュータ読取り可能媒体。
【請求項１７】
前記第２のデータフィールドは、スプレッドシート関数、定義名、リスト、ピボット、ユーザ定義関数、列挙引数、シートデータオブジェクトおよび日付オブジェクトのうちの少なくとも１つを含むことを特徴とする請求項１５に記載のコンピュータ読取り可能媒体。
【請求項１８】
選択されたオートコンプリートオプションに関する情報を含む第４のデータフィールドをさらに含むことを特徴とする請求項１５に記載のコンピュータ読取り可能媒体。
【請求項１９】
前記情報は、前記選択されたオートコンプリートオプションに関するティップスを含むことを特徴とする請求項１８に記載のコンピュータ読取り可能媒体。
【請求項２０】
ディスプレイおよびユーザインターフェース選択デバイスを含むグラフィックユーザインターフェースを有するコンピュータシステムにおいて、前記ディスプレイ上に動的リストを提供し、前記ディスプレイ上の動的リストから選択する方法であって、
数式セルへのユーザ入力に応答してオートコンプリートプロセスを実証するステップと、
前記ユーザ入力に基づいてオートコンプリートオプションを集約するステップと、
前記ユーザ入力が、前記オートコンプリートオプションに関連し、前記ユーザ入力がコンポーネントに関与するときに、オートコンプリートオプションのフィルタがかけられた動的リストを表示するステップと、
前記ユーザ入力が、前記オートコンプリートオプションに関連しており、前記ユーザ入力がコンポーネントに関与していないときに、オートコンプリートオプションのフィルタがかけられていない動的リストを表示するステップと、
前記ユーザ入力が、前記オートコンプリートオプションに関連していないときに、リストが表示されないようにするために前記オートコンプリートプロセスを隠すステップと
を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にスプレッドシート、カルキュレータアプリケーション、会計アプリケーション、ビジネスアプリケーション、バンキングアプリケーションなどの数式データを自動的に完成させるためのシステムおよび方法に関する。
【背景技術】
【０００２】
スプレッドシート、カルキュレータアプリケーション（ｃａｌｃｕｌａｔｏｒ  ａｐｐｌｉｃａｔｉｏｎ）、会計アプリケーション、ビジネスアプリケーション、またはバンキングアプリケーション（ｂａｎｋｉｎｇ  ａｐｐｌｉｃａｔｉｏｎ）のセルにより、ユーザは、数式を構築することができるようになる。これらの数式は、他のセル、数式、リスト、ユーザ定義関数などに対する参照を含むことができる。ユーザは、複雑な数式を構築し、広範なデータを解析することができるので、スプレッドシート中における関数および参照の使用は、スプレッドシートを強力なツールにしている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
現在のスプレッドシートプログラムにおいては、数式を構築するためのヘルプを獲得することと、この数式それ自体を構築することの間に大きなギャップがあるので、セルの数式を構築することは簡単なタスクではない。一般的に、ユーザは、数式名を思い出し、数式をどのようにしてスペルでつづるかを思い出し、引数（ａｒｇｕｍｅｎｔ）中で使用する適切な値を思い出すことが必要になる。かかる要件は、数式を構築するプロセスを減速させ、しばしばユーザが、ユーザのタスクを正常に完了することができないようにしてしまう。
【０００４】
ユーザには、スプレッドシート中で数式を構築するために数式および参照を記憶している必要があることもある。かかる記憶には、数式名を記憶すること、引数を記憶すること、またはこの数式中に含むべきオブジェクトを記憶することを含むこともある。ユーザがこれらのエレメントを記憶していない場合には、このユーザは、このセルを離れ、この数式を構築する際にヘルプを求めてどこかへ行く必要がある。簡潔に言えば、ユーザは、構築しようとしている数式のすべての態様を記憶にとどめ、理解する必要がある。
【０００５】
数式表現は、しばしば複雑な数式シンタックス、複数の引数、および複数のパラメータを含んでいる。数式表現はまた、各ネスト関数が複数のパラメータを必要とする複数のネスト関数を１つの数式内に含んでもいる。かかる数式表現は、記憶をますます困難にし、またタイプエラーの機会を増大させる。
【０００６】
関数ウィザードは、さらに数式表現を構築するプロセスを妨害してきた。関数ウィザードは、このユーザをこのスプレッドシートのコンテキストの外に離脱させてしまう。ユーザを数式表現から引き離すことにより、思考過程が中断されることもあり、数式構築の一般的な速度が減速されてしまう。
【課題を解決するための手段】
【０００７】
本発明は、一般にスプレッドシート、カルキュレータアプリケーション、会計アプリケーション、ビジネスアプリケーション、バンキングアプリケーションなどの数式データを自動的に完成させるためのシステムおよび方法に関する。本発明の一態様は、スプレッドシート数式を自動的に完成させるためのコンピュータ実装方法である。このコンピュータ実装方法は、数式セルデータのユーザ入力に応答してオートコンプリートプロセス（ａｕｔｏｃｏｍｐｌｅｔｅ  ｐｒｏｃｅｓｓ）を実証するステップを含んでいる。このユーザ入力が、オートコンプリート機能のトリガである場合には、このユーザ入力に基づいてオートコンプリートオプション（ａｕｔｏｃｏｍｐｌｅｔｅ  ｏｐｔｉｏｎ）を集約し、オートコンプリートオプションの動的リストを表示するステップも含まれる。
【０００８】
本発明の他の態様は、コンピュータ実行可能命令を有するコンピュータ読取り可能媒体である。これらのコンピュータ実行可能命令は、集約されたオートコンプリートオプションのストア（ｓｔｏｒｅ）にアクセスし、ユーザ入力をこのストアと比較するステップを含んでいる。これらの命令はまた、このユーザ入力に関連するオートコンプリートオプションの動的リストを表示し、オートコンプリートオプションの動的リストにフィルタをかけて、さらなるユーザ入力にマッチングさせるステップも含むことができる。
【０００９】
本発明のさらに他の態様は、その上にデータ構造を記憶しているコンピュータ読取り可能媒体を含んでいる。このデータ構造は、ユーザ入力に適合させられる第１のデータフィールドと、この第１のデータフィールドを自動的に完成させるためのオートコンプリートオプションの集合体を含む第２のデータフィールドとを含んでいる。ユーザ入力がどのようなマッチングするオートコンプリートオプションも含まない場合、このデータ構造は、この第２のデータフィールドのフィルタされていないリストを含む第３のデータフィールドも含んでいる。ユーザ入力がマッチングするオートコンプリートオプションを含む場合には、このデータ構造は、さらにこの第２のデータフィールドのフィルタされたリストを含んでいる。
【００１０】
本発明のさらに他の態様は、ディスプレイを含むグラフィックユーザインターフェースおよびユーザインターフェース選択デバイスを有するコンピュータシステムを備え、このディスプレイ上に動的リストを提供し、この動的リストから選択する方法を含んでいる。この提供し選択する方法は、セルへのユーザ入力に応答してオートコンプリートプロセスを実証するステップ、およびこのユーザ入力に基づいてオートコンプリートオプションを集約するステップを含んでいる。ユーザ入力が、数式構築を意味し、このユーザ入力がオートコンプリートオプションに関連するときに、この提供し選択する方法はまた、オートコンプリートオプションのフィルタされた動的リストを表示するステップも含んでいる。さらに、このユーザ入力がこれらのオートコンプリートオプションに関連する場合、この提供し選択する方法は、オートコンプリートオプションのフィルタされない動的リストを表示するステップを含むこともあり、このユーザ入力がこれらのオートコンプリートオプションに関連していない場合には、リストが表示されないようにするためにこのオートコンプリートプロセスを隠すステップを含むこともある。
【発明を実施するための最良の形態】
【００１１】
次に本明細書の一部分を形成し、図を介して本発明を実行するための特定の例示の実施形態を示す添付図面を参照して、本発明の実施形態について以降でさらに十分に説明することにする。しかし、本発明は、多数の異なる形態で実施することもでき、本明細書中で記述している実施形態だけに限定されるものとは解釈すべきではない。そうではなくて、これらの実施形態は、この開示が徹底し完備したものになるように、また当業者に対して本発明の範囲を十分に知らせることになるように提供されている。とりわけ、本発明は、方法またはデバイスとして実施することができる。したがって、本発明は、全面的にハードウェアの実施形態、全面的にソフトウェアの実施形態、またはソフトウェア態様とハードウェア態様を組み合わせた実施形態の形態を取ることができる。したがって、以下の詳細な説明は、限定的な意味で解釈すべきものではない。
【００１２】
数式セルを自動的に完成させるための方法およびシステムの例証の実施形態  
【００１３】
１．例示のユーザインターフェース  
図３は、本発明の例示の一実施形態中で使用することができる例示のスプレッドシートのユーザインターフェースを示している。スプレッドシート３００は、データを計算し、追跡するために使用される任意のタイプのスプレッドシートとすることができる。スプレッドシート３００は、１つまたは複数の数式セル３０２を含むことができる。数式セル３０２は、数式、方程式、数字、文字、シンボル、単語、数式セル依存性、またはスプレッドシートに導かれる他の任意のデータ形式を受け取るように構成することができる。数式セル３０２は、１つまたは複数のコンポーネントを許可するように構成されるセルとして定義することができる。コンポーネントは、任意のタイプの数式データとして定義することができる。かかるコンポーネントは、数式依存性、スプレッドシート関数依存性、定義名依存性、リスト依存性、ピボット依存性、ユーザ定義関数依存性、列挙引数依存性、シートデータ依存性、日付オブジェクト依存性、または他の依存性を含むことができる。一実施形態においては、これらのコンポーネントは、１つまたは複数のアレイ中に記憶され、以下でさらに十分に記述することにする。スプレッドシート３００は、ユーザが数式セル３０２中のデータに簡単にアクセスできるようにするための数式セル閲覧ウィンドウ３０４を含むこともできる。
【００１４】
本発明は、たとえスプレッドシート３００に関連して教示されるとしても、本発明では、数式セル３０２を有する任意のアプリケーションまたはプログラムを用いて実装することができることも企図されている。スプレッドシート３００は、本明細書中において単に例示の目的および説明の目的で教示されているにすぎず、限定的と考えるべきではない。例えば、本発明は、カルキュレータが１つの数式セルを有する場合のカルキュレータアプリケーションに関連して使用することもできる。数式セルを有する会計アプリケーション、ビジネスアプリケーション、およびバンキングアプリケーションも企図している。
【００１５】
図４は、数式セルを自動的に完成させる例示の一態様を示している。参照番号４００は、数式セル４０２、ドロップダウンウィンドウ（ｄｒｏｐ  ｄｏｗｎ  ｗｉｎｄｏｗ）４０４、およびティップスウィンドウ（ｔｉｐｓ  ｗｉｎｄｏｗ）４０６を含むことができる例示のユーザインターフェースである。数式セル４０２、ドロップダウンウィンドウ４０４、およびティップスウィンドウ４０６は、デフォルトの形状およびサイズに設定することもでき、またこの形状およびサイズは、ユーザによって調整可能とすることもできる。また、このティップスウィンドウ４０６およびドロップダウンウィンドウ４０４は、数式セル４０２に対して任意の様式で位置づけることもできる。一実施形態においては、ティップスウィンドウ４０６およびドロップダウンウィンドウ４０４は、常に任意のユーザ入力の右側にとどまる。
【００１６】
ドロップダウンウィンドウ４０４は、さらにスクロールバー４０８を含んで、それによりユーザが、これらのオートコンプリートメンバ（例えば、４１０）に簡単にアクセスすることができるようにすることができる。以下でさらに述べるようにオートコンプリートメンバは、入力トリガ４１２に相関している。入力トリガは、ドロップダウンウィンドウ４０４中のコンポーネントの表示を促す入力を含むことができる。ユーザが入力トリガ４１２を用いて前進するときに、これらのオートコンプリートメンバには、フィルタがかけられて、最も関連したメンバだけが表示される。本発明の一実施形態においては、これらのオートコンプリートメンバは、動的であり、数式セル４０２についてのすべての使用可能なオプションの集合体を含んでいる。
【００１７】
ドロップダウンウィンドウ４０４はまた、オートコンプリートアイコン（ａｕｔｏｃｏｍｐｌｅｔｅ  ｉｃｏｎ）４１４も含むことができる。以下でさらに述べているように、オートコンプリートアイコン４１４は、オートコンプリートメンバ４１０が特定のタイプのコンポーネントカテゴリに属することを示すことができる。例えば、オートコンプリートアイコン４１４は、オートコンプリートメンバ４１０が、スプレッドシート関数依存性、定義名依存性、リスト依存性、ピボット依存性、ユーザ定義関数依存性、列挙引数依存性、シートデータ依存性、データオブジェクト依存性などであることを示すことができる。コンポーネントのタイプは、トリガが、特定のタイプのコンポーネントに関与することしかできないので、重要なこともある。ドロップダウンウィンドウ４０４は、特定のオートコンプリートメンバ４１０を識別するための選択インジケータ４１６をさらに含むこともできる。
【００１８】
本発明の一態様において、インターフェース４００は、ティップスウィンドウ４０６を含んでいる。ティップスウィンドウ４０６は、選択されたオートコンプリートメンバ４１０に関連した情報を含んでいる。ティップスウィンドウ４０６は、ユーザが、オートコンプリートメンバ４１０の全部の機能を覚える（または理解する）ことができない点で、インターフェース４００の有用性を増大させる。また、ティップスウィンドウ４０６は、ユーザが別のヘルプファンクションを開始する必要なしに、情報に対するアクセスを可能にする。
【００１９】
参照番号４１８は、オートコンプリートアクチュエータ（ａｕｔｏｃｏｍｐｌｅｔｅ  ａｃｔｕａｔｏｒ）である。アクチュエータ４１８は、数式セル４０２をオートコンプリートプロセスへと促す。このオートコンプリートプロセスおよびインターフェース４００は、オートコンプリートアクチュエータ４１８によって動作させられるまで、休止状態にとどまる。このようにして、ユーザがコンポーネントを入力していないときには、インターフェース４００は、ユーザに対して侵襲的（ｉｎｖａｓｉｖｅ）にはならない。一実施形態においては、オートコンプリートアクチュエータ４１８は、単にオートコンプリートプロセスを促すにすぎず、それに対して、入力４１２は、この入力４１２がトリガであるときに、ドロップダウンウィンドウ４０４の表示を促す。例えば、１つの数字、文字、またはセル依存性は、ユーザ入力トリガでなくてもよい。したがってこのドロップダウンウィンドウは表示されない。このプロセスは、それが必要でないときには、このインターフェース４００のどのような侵襲性も低減させる。本発明の一態様においては、このオートコンプリートプロセスは、ユーザが手動で動作させることができる。本発明の他の態様においては、アクチュエータ４１８は、「＝」シンボルである。しかし、本発明の趣旨および範囲を逸脱することなく任意の数字、文字、またはシンボルを使用することもできる。
【００２０】
以下の表１は、ユーザが、このインターフェースと対話して、選択されたオートコンプリートメンバを挿入することができる複数の例示の方法を示している。列１は、例示のユーザアクションを示し、列２は、このインターフェースにおける例示の応答の内容である。表１は、キーボード相互作用およびマウス相互作用の一般的な実施例を表し、本発明を限定することを意図してはいない。
【００２１】
【表１】
2006172445.tif 000003
【００２２】
以下の表２は、このドロップダウンウィンドウについての例示のナビゲーションツールを示している。列１は、例示のアクションを特定する。列２は、オートコンプリートメンバが選択されないときのこのインターフェースにおける例示の応答を特定し、列３は、オートコンプリートメンバが選択されるときのこのインターフェースにおける例示の応答を示している。表２は、キーボード相互作用の一般的な実施例を表し、本発明を限定することを意図してはいない。
【００２３】
【表２−１】
2006172445.tif 000004
【００２４】
【表２−２】
2006172445.tif 000005
【００２５】
以下の表３は、このドロップダウンウィンドウが、このユーザ入力についてのマッチングを有さないときのいくつかの例示のシナリオを示している。列１は、例示のユーザ入力シナリオを特定し、列２は、このインターフェース中の例示の応答内容である。表３は、キーボード相互作用の一般的な実施例を表し、本発明を限定することを意図してはいない。
【００２６】
【表３】
2006172445.tif 000006
【００２７】
ユーザが、コンポーネントを構築しながらオートコンプリートプロセスを起動するときについては、いくつかの規則を提供することができる。これらの規則の一部の実施例には、このカーソルの右側に位置するキャラクタは無視することができることが含まれる。オートコンプリートアレイメンバが挿入されるときに、これらのキャラクタは、「プッシュバック（ｐｕｓｈ  ｂａｃｋ）」される（上書きされない）。このカーソルの左側に位置するテキストが入力トリガであり、この入力トリガがコンポーネント（例えば、数式依存性、スプレッドシート関数依存性、定義名依存性、リスト依存性、ピボット依存性、ユーザ定義関数依存性、列挙引数依存性、シートデータ依存性、または日付オブジェクト依存性）に関与する場合、このカーソルの左側に位置するキャラクタが、オートコンプリートプロセスのために解析される。かかる状況においては、これらのオートコンプリートメンバには、フィルタをかけることができ、その結果、まるでこの入力トリガがまさに入力されたかのようにこのプロセスは、オートコンプリートアレイメンバを戻すようになる。このカーソルの左側に位置するテキストが、「スペース」、算術演算子（＋、−、／、＊など）、またはキャラクタ演算子（＆）である（例えば、コンポーネントが関与していない）場合には、オートコンプリートメンバは、すべての可能性のあるオートコンプリートメンバを含んでいる（すなわち、フィルタがかけられない）。このユーザが、完全なオートコンプリートワード（ａｕｔｏｃｏｍｐｌｅｔｅ  ｗｏｒｄ）（ｖｌｏｏｋｕｐ、ｍｙＬｉｓｔなど）の終わりにある場合には、これらのオートコンプリートメンバは、すべての可能性のあるメンバを含んでいる（すなわち、コンポーネントが関与していないのでフィルタがかけられない）。キャラクタがオートコンプリートワードから削除される場合には、これらのオートコンプリートアレイメンバは、この単語の残りの部分に基づいたメンバを含んでいる。本明細書中のこの開示を考慮して、ユーザが、オートコンプリートプロセスを起動するときについては、説明したもの以外の規則を提供することもできる。
【００２８】
以下の表４は、ユーザが、コンポーネントを構築しながらオートコンプリートプロセスを起動するときに従うこともあるこれらの規則を例示するいくつかの例示のシナリオを示している。列１は、例示のユーザ入力シナリオを特定し、列２は、このインターフェース中の例示の応答内容を示している。表４は、キーボード相互作用の一般的な実施例を表し、本発明を限定することを意図してはいない。
【００２９】
【表４】
2006172445.tif 000007
【００３０】
図５は、数式セルを自動的に完成させる他の例示の態様を示している。例示のユーザインターフェース５００は、ユーザインターフェース５００が列挙依存性ドロップダウンウィンドウ５０２を含んでいる点以外は、例示のユーザインターフェース４００と同様である。列挙依存性ドロップダウンウィンドウ５０２は、このユーザが数式セル５０６中に列挙依存性を入力していることを入力トリガ５０４が示すときに呼び出される。このユーザインターフェースは、列挙依存性識別子５０８を含むこともできる。列挙依存性識別子５０８は、この列挙依存性ドロップダウンウィンドウ５０２の最上部に表示することができ、この列挙依存性のカテゴリを識別することができる（例えば、５１０）。
【００３１】
図６は、数式セルを自動的に完成させるさらに他の例示の態様を示している。例示のユーザインターフェース６００は、ユーザインターフェース６００がリスト依存性ドロップダウンウィンドウ６０２を含んでいる点以外は、ユーザインターフェース４００と同様である。リスト依存性ドロップダウンウィンドウ６０２は、ユーザが数式セル６０６にリスト依存性を入力していることを入力トリガ６０４が示すときに呼び出される。ユーザが、リスト依存性を入力しているときに、ユーザインターフェース６００は、リスト特有とすることができる、このリストについての列名６０８を含むことになる。ユーザインターフェース６００はまた、このリストに属し得る特別のアイテム６１０を含むこともできる。かかる特別のアイテムは、＃Ａｌｌ、＃Ｄａｔａ、＃Ｈｅａｄｅｒ、＃Ｔｏｔａｌｓなどを含むことができる。
【００３２】
図７は、数式セルを自動的に完成させるさらに他の例示の態様を示している。例示のユーザインターフェース７００は、ユーザインターフェース７００が、ピボット依存性ドロップダウンウィンドウ７０２を含んでいる点以外は、ユーザインターフェース４００と同様である。ピボット依存性ドロップダウンウィンドウ７０２は、このユーザが、数式セル７０６中にピボット依存性を入力していることを入力トリガ７０４が示すときに呼び出される。ユーザがピボット依存性を入力しているときに、ユーザインターフェース７００は、このピボット階層中の現在のロケーションに基づくこともあるこのピボットについてのメンバ名７０８を含むことになる。ユーザインターフェース７００は、このピボットに属し得る特別のアイテム７１０を含むこともできる。かかる特別のアイテムは、＃Ａｌｌ、＃Ｄａｔａ、＃Ｈｅａｄｅｒ、または＃Ｔｏｔａｌｓを含むことができる。
【００３３】
図８は、数式セルを自動的に完成させるさらに他の例示の態様を示している。例示のユーザインターフェース８００は、ユーザインターフェース８００が接続依存性ドロップダウンウィンドウ８０２を含んでいる点以外は、ユーザインターフェース４００と同様である。接続依存性ドロップダウンウィンドウ８０２は、このユーザが数式セル８０６中に接続依存性を入力していることを入力トリガ８０４が示すときに呼び出される。このユーザインターフェースはまた、接続識別子８０８を含むこともできる。接続依存性識別子８０８は、接続依存性ドロップダウンウィンドウ８０２の最上部に表示することができ、この接続依存性のカテゴリを識別することができる。
【００３４】
図９は、数式セルを自動的に完成させるさらに他の例示の態様を示している。例示のユーザインターフェース９００は、ユーザインターフェース９００が日付依存性ドロップダウンウィンドウ９０２を含んでいる点以外は、ユーザインターフェース４００と同様である。日付依存性ドロップダウンウィンドウ９０２は、このユーザが数式セル９０６中に日付依存性を入力していることを入力トリガ９０４が示すときに呼び出される。このユーザインターフェースは、カレンダオブジェクト９０８も含むことができる。カレンダオブジェクト９０８は、日付依存性ドロップダウンウィンドウ９０２の最下部に表示することができ、日付を挿入するためのフレンドリなインターフェースをユーザに提供することができる。
【００３５】
２．例示のデータストア  
図１０は、数式セルデータをオートコンプリートするための例示の実施形態を示している。システム１０００は、コンピュータデバイス１００２を含み、このコンピュータデバイスは、図１に関連して前述したコンピューティングデバイス１００、または図２に関連して前述したモバイルデバイス２００と同様とすることができる。コンピューティングデバイス１００２は、オートコンプリートアプリケーションを有することができ、このオートコンプリートアプリケーションは、前述のようなオートコンプリートメンバを表示するためのオートコンプリートドロップダウンウィンドウ１００４を含むことができる。
【００３６】
参照番号１００６は、データストアの一実施形態を示している。データストア１００６は、複数のデータストア（コンポーネントストア）から構成することもできる。データストア１００６は、スプレッドシート関数１００８、定義名１０１０、リスト１０１２、ピボット１０１４、ユーザ定義関数１０１６、列挙引数１０１８、シートデータ１０２０、および日付オブジェクト１０２２についてのストアを含むことができる。データストア１００６は、フィルタ１０２６を含むこともあるオートコンプリートメンバストア１０２４を含むこともできる。たとえデータストア１００６が、図１０において複数のデータストア１００８〜１０２４として表されているとしても、データストア１００６は、単一のデータストアであってもよい。データストア１００６は、数式セル１００２をオートコンプリートするために使用することができるすべてのコンポーネントのプール（ｐｏｏｌ）を含むこともできることがさらに企図されている。また、データストア１００６は、この数式セルをオートコンプリートするために使用することができるすべての可能性のあるコンポーネントの一部分しか含まないフィルタがかけられたストアであることができることも企図されている。
【００３７】
一実施形態においては、入力トリガが、この数式セル中に入力される。次いでメモリ１００６がアクセスされ、ストア１００８〜１０２２が、この入力トリガと比較されて、このトリガに関連したコンポーネントが決定される。他の実施形態においては、このトリガが特定のストアに関与する場合に、１つまたは複数の特定のストア１００８〜１０２２がトリガに応答してアクセスされる。次いで、この関連したオートコンプリートメンバは、オートコンプリートメンバストア１０２４中にアレイとして記憶することができる。オートコンプリートドロップダウンウィンドウ１００４は、ストア１０２４の最も関連したオートコンプリートメンバを表示することができる。ユーザが入力を入力することで前進するときに、このオートコンプリートアレイメンバには絶えずフィルタがかけられ、その結果、オートコンプリートドロップダウンウィンドウ１００４は、いつか特定の時刻における最も関連したオートコンプリートアレイメンバを表示することになる。
【００３８】
図４に関連した一実施例として、ユーザは、文字「Ｓ」とすることができる入力トリガ４１２を入力することができる。かかる状況においては、このオートコンプリートプロセスは、この文字「Ｓ」が特定の任意のタイプのコンポーネントに関連していることを識別することができない。次いでストレージ１００６がアクセスされることになり、ストレージユニット１００８〜１０２２が、入力トリガ４１２と比較されることになる。文字「Ｓ」で開始されるすべての関連したコンポーネントが、オートコンプリートアレイメンバストア１０２４に記憶されることになり、オートコンプリートドロップダウンウィンドウ４０４は、最も関連したコンポーネントを表示することになる。例えば、次いでユーザが文字「Ｓ」の後に文字「ａ」を入力する場合、これらのコンポーネントにはさらにフィルタがかけられて、文字の組合せ「Ｓａ」をもたないコンポーネントが削除される。このようにして、オートコンプリートドロップダウンウィンドウ４０４は常に、最も関連したオートコンプリートアレイメンバ４１０を表示する。他の実施例においては、ユーザはオープンな括弧（ｏｐｅｎ  ｂｒａｃｋｅｔ）とすることができる入力トリガを入力することもできる。オープン括弧トリガは、リスト依存性にしか関与することができない。したがって、このオートコンプリートドロップダウンウィンドウは、リスト依存性を表示することしかできない。他の実施例としては、この入力トリガは、「＋」シンボルでもよい。「＋」シンボルは、特定のタイプのコンポーネントに関与することができず、したがってすべてのコンポーネントが、このドロップダウンウィンドウ中に表示されるはずである。
【００３９】
３．例示の入力トリガ
前述のように、このオートコンプリートプロセスは、様々なタイプのコンポーネントをプールして、特定の入力トリガについて最も関連したコンポーネントを決定することができる。この入力トリガは、ある種の１組のコンポーネントに関与することもできる。かかる状況においては、このオートコンプリートプロセスは、ある種のコンポーネントストアにアクセスする必要しかないこともある。以下の表５は、スプレッドシート関数依存性およびユーザ定義関数依存性についてのいくつかの例示のコンテキスト依存の入力トリガを示している。列１は、例示のユーザ入力シナリオを特定し、列２は、このインターフェース中の例示の応答内容を示している。表５は、キーボード相互作用の一般的な実施例を表し、本発明を限定することを意図してはいない。
【００４０】
【表５】
2006172445.tif 000008
【００４１】
以下の表６は、定義名についてのいくつかの例示のコンテキスト依存入力トリガを示している。列１は、例示のユーザ入力シナリオを特定し、列２は、このインターフェース中の例示の応答内容を示している。表６は、キーボード相互作用の一般的な実施例を表し、本発明を限定することを意図してはいない。
【００４２】
【表６】
2006172445.tif 000009
【００４３】
以下の表７は、リスト名についてのいくつかの例示のコンテキスト依存入力トリガを示している。列１は、例示のユーザ入力シナリオを特定し、列２は、このインターフェース中の例示の応答内容を示している。表７は、キーボード相互作用の一般的な実施例を表し、本発明を限定することを意図してはいない。
【００４４】
【表７】
2006172445.tif 000010
【００４５】
以下の表８は、リストフィールドについてのいくつかの例示のコンテキスト依存入力トリガを示している。列１は、例示のユーザ入力シナリオを特定し、列２は、このインターフェース中の例示の応答内容を示している。表８は、キーボード相互作用の一般的な実施例を表し、本発明を限定することを意図してはいない。
【００４６】
【表８】
2006172445.tif 000011
【００４７】
以下の表９は、ピボットテーブル名についてのいくつかの例示のコンテキスト依存入力トリガを示している。列１は、例示のユーザ入力シナリオを特定し、列２は、このインターフェース中の例示の応答内容を示している。表９は、キーボード相互作用の一般的な実施例を表し、本発明を限定することを意図してはいない。
【００４８】
【表９】
2006172445.tif 000012
【００４９】
以下の表１０は、ピボットテーブルフィールドについてのいくつかの例示のコンテキスト依存入力トリガを示している。列１は、例示のユーザ入力シナリオを特定し、列２は、このインターフェース中の例示の応答内容を示している。表１０は、キーボード相互作用の一般的な実施例を表し、本発明を限定することを意図してはいない。
【００５０】
【表１０】
2006172445.tif 000013
【００５１】
以下の表１１は、シートデータについてのいくつかの例示のコンテキスト依存入力トリガを示している。列１は、例示のユーザ入力シナリオを特定し、列２は、このインターフェース中の例示の応答内容を示している。表１１は、キーボード相互作用の一般的な実施例を表し、本発明を限定することを意図してはいない。
【００５２】
【表１１】
2006172445.tif 000014
【００５３】
以下の表１２は、シートデータスライサ（ｓｈｅｅｔ  ｄａｔａ  ｓｌｉｃｅｒ）についてのいくつかの例示のコンテキスト依存入力トリガを示している。列１は、例示のユーザ入力シナリオを特定し、列２は、このインターフェース中の例示の応答内容を示している。表１２は、キーボード相互作用の一般的な実施例を表し、本発明を限定することを意図してはいない。
【００５４】
【表１２】
2006172445.tif 000015
【００５５】
４．例示のティップスウィンドウ  
図４を参照すると、前述のように、参照番号４０６は、ティップスウィンドウである。一実施形態において、ティップスウィンドウは、内容テキスト行、およびこの選択されたオートコンプリートメンバの記述を含んでいる。このティップスウィンドウは、ユーザがコンポーネントを識別するのを助ける任意の情報を含むことができる。図４に示すように、ティップスウィンドウ４０６は、オートコンプリートメンバが、オートコンプリートメンバのアレイ中でハイライトされるときに出現することができる。以下の表１３は、スプレッドシート関数依存性についてのティップスウィンドウの一実施例を示している。列１は、このティップスウィンドウの例示の内容を特定し、列２は、一実施例である。表１３は、ティップスウィンドウの一般的な一実施例を表し、本発明を限定することを意図してはいない。
【００５６】
【表１３】
2006172445.tif 000016
【００５７】
以下の表１４は、ユーザ定義関数依存性についてのティップスウィンドウの一実施例を示している。列１は、このティップスウィンドウの例示の内容を特定し、列２は、一実施例である。表１４は、ティップスウィンドウの一般的な一実施例を表し、本発明を限定することを意図してはいない。
【００５８】
【表１４】
2006172445.tif 000017
【００５９】
以下の表１５は、列挙引数依存性についてのティップスウィンドウの一実施例を示している。列挙引数は、すべてのブール引数（真／偽、オン／オフ、イエス／ノーなど）を含むことができる。列挙引数はまた、数値が選択肢（１−平均、２−カウントなど）にマッピングする場合の従来の列挙引数を含むこともできる。列１は、このティップスウィンドウの例示の内容を特定し、列２は、一実施例である。表１５は、ティップスウィンドウの一般的な一実施例を表し、本発明を限定することを意図してはいない。
【００６０】
【表１５】
2006172445.tif 000018
【００６１】
以下の表１６は、定義名依存性についてのティップスウィンドウの一実施例を示している。列１は、このティップスウィンドウの例示の内容を特定し、列２は、一実施例である。表１６は、ティップスウィンドウの一般的な一実施例を表し、本発明を限定することを意図してはいない。
【００６２】
【表１６】
2006172445.tif 000019
【００６３】
以下の表１７は、リスト依存性についてのティップスウィンドウの一実施例を示している。列１は、このティップスウィンドウの例示の内容を特定し、列２は、一実施例である。表１７は、ティップスウィンドウの一般的な一実施例を表し、本発明を限定することを意図してはいない。
【００６４】
【表１７】
2006172445.tif 000020
【００６５】
以下の表１８は、リスト依存性についてのティップスウィンドウの他の実施例を示している。ユーザが、リストの指定部内で作業を行っており、また図６に示すようにこの依存性が特別なアイテム６１０であるときに、表１８に例示されるこのティップスウィンドウは、利用することができる。列１は、このティップスウィンドウの例示の内容を特定し、列２は、一実施例である。表１８は、ティップスウィンドウの一般的な一実施例を表し、本発明を限定することを意図してはいない。
【００６６】
【表１８】
2006172445.tif 000021
【００６７】
以下の表１９は、リスト依存性についてのティップスウィンドウの他の実施例を示している。ユーザが、リストの指定部内で作業を行っており、また図６に示すようにこの依存性が列名６０８であるときに、表１９に例示されるこのティップスウィンドウは、利用することができる。列１は、このティップスウィンドウの例示の内容を特定し、列２は、一実施例である。表１９は、ティップスウィンドウの一般的な一実施例を表し、本発明を限定することを意図してはいない。
【００６８】
【表１９】
2006172445.tif 000022
【００６９】
以下の表２０は、ピボット依存性についてのティップスウィンドウの一実施例を示している。列１は、このティップスウィンドウの例示の内容を特定し、列２は、一実施例である。表２０は、ティップスウィンドウの一般的な一実施例を表し、本発明を限定することを意図してはいない。
【００７０】
【表２０】
2006172445.tif 000023
【００７１】
以下の表２１は、ピボット依存性についてのティップスウィンドウの他の実施例を示している。ユーザが、ピボットの指定部内で作業を行っており、また図７に示すようにこの依存性が特別なアイテム７１０であるときに、表２１に例示されるこのティップスウィンドウを利用することができる。列１は、このティップスウィンドウの例示の内容を特定し、列２は、一実施例である。表２１は、ティップスウィンドウの一般的な一実施例を表し、本発明を限定することを意図してはいない。
【００７２】
【表２１】
2006172445.tif 000024
【００７３】
以下の表２２は、ピボット依存性についてのティップスウィンドウのさらに他の実施例を示している。ユーザが、ピボットの指定部内で作業を行っており、また図７に示すようにこの依存性が特別なアイテム７１０であるときに、表２２に例示されるこのティップスウィンドウは、利用することができる他のティップスウィンドウである。列１は、このティップスウィンドウの例示の内容を特定し、列２は、一実施例である。表２２は、ティップスウィンドウの一般的な一実施例を表し、本発明を限定することを意図してはいない。
【００７４】
【表２２】
2006172445.tif 000025
【００７５】
以下の表２３は、ピボット依存性についてのティップスウィンドウのさらに他の実施例を示している。ユーザが、ピボットフィールド内で作業を行っているときに、表２３に例示されるこのティップスウィンドウを利用することができる。列１は、このティップスウィンドウの例示の内容を特定し、列２は、一実施例である。表２３は、ティップスウィンドウの一般的な一実施例を表し、本発明を限定することを意図してはいない。
【００７６】
【表２３】
2006172445.tif 000026
【００７７】
以下の表２４は、シートデータ依存性についてのティップスウィンドウの一実施例を示している。表２４は、シートデータ接続依存性について言及している。接続は、キューブ（ｃｕｂｅ）への接続についての名前またはストリングである。列１は、このティップスウィンドウの例示の内容を特定し、列２は、一実施例である。表２４は、ティップスウィンドウの一般的な一実施例を表し、本発明を限定することを意図してはいない。
【００７８】
【表２４】
2006172445.tif 000027
【００７９】
以下の表２５は、シートデータ依存性についてのティップスウィンドウの他の実施例を示している。表２５は、シートデータ名前空間依存性について言及している。名前空間は、キューブ（ｃｕｂｅ）内のメンバのメンバ名を含むストリングである。列１は、このティップスウィンドウの例示の内容を特定し、列２は、一実施例である。表２５は、ティップスウィンドウの一般的な一実施例を表し、本発明を限定することを意図してはいない。
【００８０】
【表２５】
2006172445.tif 000028
【００８１】
５．例示のプロセス  
図１１は、数式セルを自動的に完成させるためのプロセスの論理的な流れ図を示している。プロセス１１００は、開始ブロック１１０２から開始され、ブロック１１０４へと流れており、このステップでユーザは、オートコンプリートプロセスを促す。本発明の一実施形態においては、このユーザは、数式セル中に「＝」シンボルを入力することにより、オートコンプリートプロセス１１００を促す。他の実施形態においては、このユーザは、ツールバーのドロップダウンウィンドウからのプロセスを動作させることにより、このオートコンプリートプロセスを促す。本発明の趣旨および範囲を逸脱することなく、任意の数字、文字、シンボル、またはユーザ入力を使用して、オートコンプリートプロセス１１００を促すことができることをさらに企図している。
【００８２】
プロセス１１００は、ブロック１１０６へと進み、ここでキャラクタが入力されているかどうかが判定される。キャラクタがすでに入力されている場合、プロセス１１００は、以下で述べるように、ブロック１１１０へと進む。キャラクタが入力されていない場合には、プロセス１１００は、このキャラクタが入力されていると判定されるまで、休止状態にとどまる。この場合にも、キャラクタは、任意の数字、文字、句読点、シンボルまたはユーザ入力を含むことができる。
【００８３】
キャラクタが入力されている場合、プロセス１１００は、ブロック１１０８へと進み、ここでこのキャラクタがトリガであるかどうかが判定される。キャラクタがトリガでない場合、このプロセスはブロック１１１０へと進み、ここで、このオートコンプリートドロップダウンウィンドウのステータスは、変化しない。別の言い方をすれば、このドロップダウンウィンドウが休止状態にある場合、このドロップダウンウィンドウは、休止状態のままにとどまる。他の状況において、このドロップダウンウィンドウが１組のコンポーネントを表示している場合には、このドロップダウンウィンドウは、この同じ１組のコンポーネントを表示したままにとどまる。上記の表３は、入力キャラクタがこのウィンドウの表示を起動しないことになるときは、少数の例示のシナリオをリストアップする。これらのシナリオは、例示の目的にすぎない。このウィンドウを表示することが望ましくないどのような状況においてもこのウィンドウが休止状態にとどまることができることがさらに企図されている。
【００８４】
プロセス１１００は、ブロック１１１４へと進み、ここで別のキャラクタが入力されているかどうかが判定される。別のキャラクタが入力されている状況においては、プロセス１１００は、ブロック１１０８へとループバックし、ここでこのキャラクタがトリガであるかどうかが判定される。別のキャラクタが入力されていないと判定される場合、プロセス１１００は、ブロック１１１６へと進み、ここでこのセル入力が完了しているかどうかが判定される。このセル入力が完了している場合、このプロセスは、終了ブロック１１３２において終了する。このセル入力が完了していない場合には、このプロセスは、ブロック１１１４へとループバックする。
【００８５】
ブロック１１０８においてこの入力がトリガであると判定される場合、このプロセス１１００は、ブロック１１１８へと進み、ここで特定のコンポーネントが関与しているかどうかが判定される。トリガが特定のコンポーネントに関与していないときには、上記の表４は、少数の例示のシナリオをリストアップする。他の例示のシナリオは、スペース、算術演算子、キャラクタ演算子、または完全なオートコンプリートメンバを入力することを含んでいる。かかる状況においては、このオートコンプリートアレイメンバには、フィルタがかけられず、このオートコンプリートドロップダウンウィンドウは、ブロック１１２０によって示されるようなオートコンプリートメンバの全体リストを含むことになる。
【００８６】
ブロック１１１８において、このトリガがコンポーネントに関与している場合、このプロセス１１００は、ブロック１１２２へと流れることになる。ブロック１１２２は、この関与するコンポーネントに関連したメンバしか含まないようにオートコンプリートアレイメンバにフィルタをかけるステップを示している。例えば、ユーザは、オープンな丸括弧を入力することができる。オープンな丸括弧だけを数式セル中で使用して、スプレッドシートの数式またはユーザ定義の数式を構築する状況においては、このフィルタは、スプレッドシート数式依存性およびユーザ定義依存性以外のすべてのコンポーネントをフィルタにかけて除去することになる。他の実施例として、ユーザは、オープンな括弧シンボルを入力することもできる。このオープンな括弧は、リスト、ピボット、またはシートデータオブジェクトにしか関与することができない。かかる状況においては、プロセス１１００は、リスト、ピボット、またはシートデータオブジェクトでないすべてのコンポーネントをフィルタにかけて除去することになる。
【００８７】
プロセス１１００は、ブロック１１２４へと進み、ここでこれらのフィルタがかけられたメンバは、ユーザ選択のためのドロップダウンウィンドウ中に含められる。ブロック１１２６は、このドロップダウンウィンドウからオートコンプリートメンバを選択するか否かの判定を示している。選択が行われない場合、プロセス１１００は、ブロック１１１４へとループバックする。選択が行われる場合には、ブロック１１２８が示すようにこの選択はこの数式セルに入力され、プロセス１１００は、ブロック１１３０へと進み、ここでセル入力が完了しているかどうかが判定される。セル入力が完了している場合、プロセス１１００は終了ブロック１１３２において終了する。セル入力が完了していない場合には、プロセス１１００は、ブロック１１１４へとループバックする。
【００８８】
例示の動作環境  
図１を参照すると、本発明を実装するための例示のシステムは、コンピューティングデバイス１００などのコンピューティングデバイスを含んでいる。基本的なコンフィギュレーションにおいては、コンピューティングデバイス１００は、一般的に少なくとも１つの処理装置１０２、およびシステムメモリ１０４を含んでいる。コンピューティングデバイスの厳密なコンフィギュレーションおよびタイプに応じて、システムメモリ１０４は、（ＲＡＭのように）揮発性であり、（ＲＯＭ、フラッシュメモリなどのように）不揮発性であり、またはこれら２つのある組合せとすることができる。システムメモリ１０４は、一般的にオペレーティングシステム１０５、１つまたは複数のアプリケーション１０６を含んでおり、プログラムデータ１０７を含むこともできる。この基本的なコンフィギュレーションは、破線１０８内のこれらのコンポーネントにより、図１に示されている。
【００８９】
コンピューティングデバイス１００は、追加の特徴または機能を有することもできる。例えば、コンピューティングデバイス１００は、例えば、磁気ディスク、光ディスクまたはテープなど、（着脱可能および／または着脱不能の）追加のデータストレージデバイスを含むこともできる。かかる追加ストレージは、図１において着脱可能ストレージ１０９および着脱不能ストレージ１１０によって示される。コンピュータストレージ媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュールまたは他のデータなど、情報を記憶するための任意の方法および技術の形で実装される揮発性および不揮発性の、着脱可能および着脱不能な媒体を含むことができる。システムメモリ１０４、着脱可能ストレージ１０９、および着脱不能ストレージ１１０は、すべてコンピュータストレージ媒体の実施例である。コンピュータストレージ媒体には、それだけには限定されないが、所望の情報を記憶するために使用することができ、コンピューティングデバイス１００によってアクセスすることができる、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋデジタル多用途ディスク）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは他の任意の媒体が含まれる。かかる任意のコンピュータストレージ媒体は、デバイス１００の一部分とすることもできる。コンピューティングデバイス１００はまた、キーボード、マウス、ペン、音声入力デバイス、接触入力デバイスなど、１つまたは複数の入力デバイス１１２を有することもできる。ディスプレイ、スピーカ、プリンタなど、１つまたは複数の出力デバイス１１４も含めることができる。これらのすべてのデバイスは、当技術分野において知られており、ここで長々と説明する必要はない。
【００９０】
コンピューティングデバイス１００はまた、このデバイスが、ネットワークや無線の網目状ネットワーク上などで、他のコンピューティングデバイス１１８と通信を行うことができるようにする１つまたは複数の通信接続１１６も含んでいる。１つまたは複数の通信接続１１６は、通信媒体の一実施例である。通信媒体は、一般的に搬送波や他の搬送メカニズムなど、被変調データ信号の形でコンピュータ読取り可能命令、データ構造、プログラムモジュールまたは他のデータを実施し、任意の情報配信媒体を含んでいる。この用語「被変調データ信号」は、この信号中の情報を符号化するようにしてその１つまたは複数の特性が設定され、または変更されている信号を意味している。実施例として限定するものではないが、通信媒体は、有線ネットワークや直接配線接続などの有線媒体、および音響、ＲＦ、赤外線、他の無線媒体などの無線媒体を含んでいる。本明細書中で使用される用語、コンピュータ読取り可能媒体は、ストレージ媒体も通信媒体も共に含んでいる。
【００９１】
一実施形態において、アプリケーション１０６は、本発明に従って数式セルを自動的に完成させるためのアプリケーション１２０をさらに含んでいる。
【００９２】
図２は、本発明の例示の一実施形態において使用することができるモバイルコンピューティングデバイスを示している。図２を参照すると、本発明を実装するための例示のシステムは、モバイルコンピューティングデバイス２００などのモバイルコンピューティングデバイスを含んでいる。モバイルコンピューティングデバイス２００は、プロセッサ２６０、メモリ２６２、ディスプレイ２２８、およびキーパッド２３２を有している。メモリ２６２は、一般に揮発性メモリ（例えば、ＲＡＭ）も不揮発性メモリ（例えば、ＲＯＭ、フラッシュメモリなど）も共に含んでいる。モバイルコンピューティングデバイス２００は、マイクロソフトからのＷｉｎｄｏｗｓ（登録商標）ＣＥオペレーティングシステムや他のオペレーティングシステムなどのオペレーティングシステム２６４を含んでおり、このオペレーティングシステムは、メモリ２６２中に存在しており、プロセッサ２６０上で実行される。キーパッド２３２は、（典型的な電話上などの）プッシュボタン数字ダイアリングパッド、（従来のキーボードなどの）マルチキーキーボードでもよい。ディスプレイ２２８は、液晶ディスプレイ、またはモバイルコンピューティングデバイス中で一般に使用される他の任意のタイプのディスプレイでもよい。ディスプレイ２２８は、接触感受性のあるものでもよく、この場合には入力デバイスとしての機能も果たすはずである。
【００９３】
１つまたは複数のアプリケーションプログラム２６６は、メモリ２６２にロードされ、オペレーティングシステム２６４上で実行される。アプリケーションプログラムの実施例には、電話ダイヤラプログラム、電子メールプログラム、スケジューリングプログラム、ＰＩＭ（ｐｅｒｓｏｎａｌ  ｉｎｆｏｒｍａｔｉｏｎ  ｍａｎａｇｅｍｅｎｔ個人情報管理）プログラム、ワードプロセッシングプログラム、スプレッドシートプログラム、インターネットブラウザプログラムなどが含まれる。モバイルコンピューティングデバイス２００は、メモリ２６２内に不揮発性ストレージ２６８も含んでいる。不揮発性ストレージ２６８を使用して、モバイルコンピューティングデバイス２００の電源が切られる場合にも失われないはずの持久性の情報を記憶することができる。アプリケーション２６６は、電子メールアプリケーションが使用する電子メールまたは他のメッセージ、ＰＩＭが使用する連絡情報、スケジューリングプログラムが使用するアポイントメント情報、ワードプロセッシングアプリケーションが使用するドキュメントなど、ストレージ２６８中の情報を使用しそれに記憶することができる。
【００９４】
モバイルコンピューティングデバイス２００は、電源２７０を有しており、この電源は、１つまたは複数のバッテリとして実装することができる。電源２７０は、ＡＣアダプタや、これらのバッテリを補完し、または再充電する電源を備えたドッキングクレードル（ｄｏｃｋｉｎｇ  ｃｒａｄｌｅ）など外部電源もさらに含むこともできる。
【００９５】
モバイルコンピューティングデバイス２００は、２タイプの外部通知メカニズム、すなわちＬＥＤ２４０およびオーディオインターフェース２７４を有するように示されている。これらのデバイスは、電源２７０に直接に結合することができ、その結果、たとえプロセッサ２６０および他のコンポーネントが、バッテリ電力を節約するために活動を停止することがあっても、これらは、アクティブ化されるときに、この通知メカニズムが指示する期間中はオンのままにとどまることになる。ＬＥＤ２４０は、このユーザが、このデバイスの電源をオンにしたステータスを示すアクションを取るまで、いつまでもオンのままであるようにプログラムすることができる。オーディオインターフェース２７４を使用して、可聴信号を提供し、またこのユーザからの可聴信号が受け取られる。例えば、オーディオインターフェース２７４は、電話の会話を実行するなどのために、可聴出力を提供するためにスピーカに結合し、可聴入力を受け取るためにマイクロフォンに結合することができる。
【００９６】
モバイルコンピューティングデバイス２００はまた、無線周波数通信など、通信情報を送信し受信するファンクションを実施する無線インターフェースレイヤ２７２も含んでいる。無線インターフェースレイヤ２７２は、通信キャリアまたはサービスプロバイダを介して、モバイルコンピューティングデバイス２００と外側の世界との間の無線接続を実行する。無線インターフェースレイヤ２７２への伝送および無線インターフェースレイヤ２７２からの伝送は、オペレーティングシステム２６４の制御下で行われる。換言すれば、無線インターフェースレイヤ２７２が受信する通信情報は、オペレーティングシステム２６４を介してアプリケーションプログラム２６６に流すことができ、また逆の場合も同様である。
【００９７】
一実施形態においては、アプリケーション２６６は、本発明に従って数式セルを自動的に完成させるためのアプリケーション２８０をさらに含んでいる。
【００９８】
以上の明細書、実施例およびデータは、本発明の構成の製造および使用についての完全な説明を提供している。本発明の趣旨および範囲を逸脱することなく、本発明の多数の実施形態を作成することができるので、本発明は、添付の特許請求の範囲中に存在している。
【図面の簡単な説明】
【００９９】
【図１】本発明の例示の一実施形態中で使用することができる例示のコンピューティングデバイスを示す図である。
【図２】本発明の例示の一実施形態中で使用することができる例示のモバイルデバイスを示す図である。
【図３】本発明の実施形態を含むことができる例示のユーザインターフェースを示す図である。
【図４】数式セルを自動的に完成させる例示の一態様を示す図である。
【図５】列挙依存性であるコンポーネントに関連する数式セルを自動的に完成させる例示の一態様を示す図である。
【図６】リスト依存性であるコンポーネントに関連する数式セルを自動的に完成させる例示の一態様を示す図である。
【図７】ピボット依存性であるコンポーネントに関連する数式セルを自動的に完成させる例示の一態様を示す図である。
【図８】接続依存性であるコンポーネントに関連する数式セルを自動的に完成させる例示の一態様を示す図である。
【図９】日付依存性であるコンポーネントに関連する数式セルを自動的に完成させる例示の一態様を示す図である。
【図１０】本発明の一態様の例示のオートコンプリートメンバストア（ａｕｔｏｃｏｍｐｌｅｔｅ  ｍｅｍｂｅｒ  ｓｔｏｒｅ）を示す図である。
【図１１】本発明の一態様の論理的な流れ図を示す図である。
【符号の説明】
【０１００】
１００  コンピューティングデバイス
１０２  処理装置
１０４  システムメモリ
１０５  オペレーティングシステム
１０６  アプリケーション
１０７  プログラムデータ
１０９  着脱可能ストレージ
１１０  着脱不能ストレージ
１１２  １つ（または複数）の入力デバイス
１１４  １つ（または複数）の出力デバイス
１１６  １つ（または複数）の通信接続
１１８  他のコンピューティングデバイス
１２０  オートコンプリート
２２８  ディスプレイ
２３０  ペリフェラルデバイスポート
２３２  キーパッド
２６０  プロセッサ
２６２  メモリ
２６６  １つ（または複数）のアプリケーション
２６８  ストレージ
２７０  電源
２７２  無線インターフェースレイヤ
２７４  オーディオインターフェース
２８０  オートコンプリート
１００２  コンピューティングデバイス
１００４  オートコンプリートドロップダウンウィンドウ
１００８  スプレッドシート関数
１０１０  定義名
１０１２  リスト
１０１４  ピボット
１０１６  ユーザ定義関数
１０１８  列挙引数
１０２０  シートデータオブジェクト
１０２２  日付オブジェクト
１０２４  オートコンプリートアレイメンバ
１０２６  フィルタ
【図１】
2006172445.tif 000029
【図２】
2006172445.tif 000030
【図３】
2006172445.tif 000031
【図４】
2006172445.tif 000032
【図５】
2006172445.tif 000033
【図６】
2006172445.tif 000034
【図７】
2006172445.tif 000035
【図８】
2006172445.tif 000036
【図９】
2006172445.tif 000037
【図１０】
2006172445.tif 000038
【図１１】
2006172445.tif 000039