JP2006107441A - データのテーブルを扱うためのスプレッドシート関数のデザイン - Google Patents

データのテーブルを扱うためのスプレッドシート関数のデザイン Download PDF

Info

Publication number
JP2006107441A
JP2006107441A JP2005183576A JP2005183576A JP2006107441A JP 2006107441 A JP2006107441 A JP 2006107441A JP 2005183576 A JP2005183576 A JP 2005183576A JP 2005183576 A JP2005183576 A JP 2005183576A JP 2006107441 A JP2006107441 A JP 2006107441A
Authority
JP
Japan
Prior art keywords
data
arguments
database
function
database functions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005183576A
Other languages
English (en)
Other versions
JP5490348B2 (ja
Inventor
Andrew J Becker
ジェー.ベッカー アンドリュー
Charles D Ellis
ディー.エリス チャールズ
Joseph M Chirilov
エム.チリロフ ジョセフ
Juha P Niemisto
ピー ニエミスト ジュハ
Matthew J Androski
ジェー.アンドロスキ マシュー
Robert C Collie
シー.コリエ ロバート
Robert G Hawking
ジー.ホーキング ロバート
Simon Peyton-Jones
ペイトン−ジョーンズ シモン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006107441A publication Critical patent/JP2006107441A/ja
Application granted granted Critical
Publication of JP5490348B2 publication Critical patent/JP5490348B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Quality & Reliability (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

【課題】 大きなデータのセットを操作することができるいくつかのデータベースフォーミュラを提供する。
【解決手段】 各データベースフォーミュラは、ユーザの介入なしに、カスタマイズ可能であり、繰り返し可能である。このように、ユーザは、ある特定の形態またはフォーマットでのデータの出力に対するユーザの要望を網羅することができる数多くのオプションを入力し、入力データのセットを選択し、一貫して出力データのセットを受けることができる。いくつかの実施形態では、ユーザは、データベースフォーミュラで使用するために、ある範囲のセルを指定する代わりに、データのセットをセマンティック的に参照することができる。データをセマンティック的に参照することにより、データベースフォーミュラは、新しいデータが占め得るセルの範囲における変更に適合することを可能にする。
【選択図】 図5

Description

本発明は、一般に、スプレッドシートアプリケーションの分野に関する。より詳細には、本発明は、スプレッドシート中のデータの再編成に関する。
情報化時代で生き残るために、企業および組織は、自己の組織、市場、および運営に関する有用な情報を必要としている。有用なビジネス情報は、通常、理解しやすく、吸収しやすい凝縮されたデータのコレクションである。有用な情報を作成するために、企業および組織は、一般に、数多くの異なるソースに由来する膨大なデータのコレクションを獲得し、次いで、データをより有用な形態およびフォーマットに凝縮し、編成する。企業および組織は、通常、ソフトウェアパッケージに依拠して、データを有用な情報に凝縮したり、操作したり、または定式化したりする。こうしたソフトウェアパッケージにより、膨大なデータコレクションの操作が可能になり効率的になる。データコレクションから有用な情報を導き出すのに使用される最も一般的なソフトウェアパッケージの1つは、マイクロソフト(登録商標)社によって提供されているMicrosoft(登録商標)Excelスプレッドシートアプリケーションなどのスプレッドシートアプリケーションである。
いくつかのスプレッドシートアプリケーションは、データベースオペレーションを用いてデータのある種の操作を可能にする。ソートやフィルタなどのデータベースオペレーションにより、ユーザが、スプレッドシート内のデータをフォーマットしたり、凝縮したり、または編成することができるようになる。Microsoft(登録商標)Excelスプレッドシートアプリケーションなどのスプレッドシートアプリケーション内で、データベースオペレーションは、一度限りのオペレーションとしてユーザに利用可能になるだけである。データベースオペレーションは、一般に、スプレッドシートアプリケーションにおけるドロップダウンメニューを介してアクセスされる。メニューの選択によって一般に、ユーザがデータベースオペレーションを使用するプロセスを段階的に導くためのオペレーションユーザインターフェースが開く。遺憾なことに、ユーザは、こうしたオペレーションを一度しか用いることができず、データベースオペレーションが機能する仕方を変更する少数の選択肢しか与えられていない。データベースオペレーションを繰り返すために、ユーザは、再度、メニューからオペレーションを選択し、もう一度オプションを入力しなければならない。このように、データベースオペレーションは一般に、自動的に繰り返し可能ではなく、柔軟ではない。
こうした問題は、ユーザがいくつかの異なるソースに由来する大きなデータコレクションを操作したいと望む大きな組織であるとき、深刻となる。スプレッドシートアプリケーションにおいて複雑でテーブルベースのデータベースオペレーションを必要とするユーザは、しばしば、データを手作業で操作するか、またはマクロコードを作成してデータを用意することになる。最初のオプションは、時間がかかり費用が高く間違いが起こりやすい。というのは、この解決策は、データを変更するたびに手作業の介在を要するためである。このプロセスを自動化するために、ユーザは、Visual Basic for Applications(登録商標)プログラムによって作成されるようなマクロコードを用いることができるであろう。遺憾なことに、マクロコードのシンタックスおよび編成は、スプレッドシートアプリケーションのほとんどのユーザにとって難解である。マクロコードはまた、保守することが困難になることがある。ほとんどのユーザは、実際のコードを解読することができず、したがって、ユーザは、エラーを訂正することができず、将来、この解決策を調整することができない。
加えて、ユーザは、しばしば、反復または定期的なベースでスプレッドシートに新しいデータを導入する。例えば、月次売上データは、月毎にスプレッドシートアプリケーションに組み入れられる。ユーザは、毎月にデータを操作して、経過した月の業績について有用な情報を作成しなければならない。月次データの操作を達成するために、ユーザは、極めて時間がかかり不経済となる数多くのデータベースオペレーションを毎月使用するか、ユーザが新しいデータを扱うためにしばしば変更しなければならない上述の手作業のオペレーションを使用しなければならず、あるいは新しい一式のデータを扱うことができるが作成が困難な上述のマクロコードを作成しなければならない。
本発明は、スプレッドシートにおいてデータを操作することができる「データベースフォーミュラ」を作成するために使用することができるデータベース関数の一式に関する。各データベース関数は、いくつかの定義可能なパラメータまたは引数を有し、他のデータベース関数、他のスプレッドシート関数、およびカスタマイズ可能な出力を作成する他の演算子と組み合わせることができる。このように、ユーザは、特定の形態またはフォーマットのデータ出力に対するユーザの要望を網羅できる数多くのオプションを入力することができる。
本発明の実施形態では、各データベース関数への入力は、データのセットである。データのセットは、2行以上の行、2列以上の列、または2列以上の列および2行以上の行を占めるセルの配列とすることができる。本発明の実施形態では、各データベース関数の出力は、データのセットとすることができる。このように、各データベース関数は、複数のデータ値を有するデータ、「バルク」データを出力する新しいデータのテーブルを作成することができる。これらのデータベース関数は、データベース関数が入力データにどのように作用するかに応じて、編成およびサイズが異なるデータのセットをユーザが作成できるようにする。
本発明の一実施形態では、スプレッドシートアプリケーションにおいてデータのテーブルを操作するための方法は、1つまたは複数のデータベース関数を受け取ることと、データのテーブル内から入力データについての選択を受け取ることと、1つまたは複数のデータベース関数に従って入力データを操作することと、スプレッドシートに出力データを提示することとを備える。いくつかの実施形態では、2つ以上のデータベース関数は、組込みデータベースフォーミュラとして受け取られる。
本発明は、スプレッドシートへの入力とスプレッドシートからの出力を含むことができる。一実施形態では、1つまたは複数のデータベース関数は、1つまたは複数の引数を有する。さらなる実施形態では、引数の1つがセマンティック参照を有する。いくつかの実施形態では、ユーザは、1つまたは複数の引数を提供する。さらなる実施形態では、1つまたは複数の引数は、列トークンを含む。一実施形態では、1つまたは複数の引数は、数式を含む。
いくつかの実施形態では、入力データは、データのテーブルである。本発明の実施形態では、出力データは、データのテーブルである。いくつかの実施形態では、出力データを提示することにより、既存のデータの1つまたは複数のアイテムが移動するようにする。いくつかの実施形態では、出力データは、スプレッドシートの2つ以上のセルを占める。
本発明はまた、データベース関数の例示的実施形態を含む。一実施形態では、データベース関数は、フィルタ関数、ソートフォーミュラ、重複除去フォーミュラ、テーブル付加フォーミュラ、または、列追加フォーミュラを含む。いくつかの実施形態では、フィルタ関数は、少なくとも1つのデータのアイテムをフィルタ引数と比較することと、フィルタ引数に合うどの入力データのアイテムもなしで出力データを返すこととを備える。ある実施形態では、ソート関数は、1つまたは複数のソート引数に従って編成された出力データのセットを返すことを備える。いくつかの実施形態では、重複除去関数は、引数で指定され、入力データで2つのデータアイテムが同じであることを判定することと、同様の2つのデータのアイテムうちの1つが除去された出力データを返すこととを備える。いくつかの実施形態では、テーブル付加関数は、入力データの2つのセットを取り出すことと、入力データの第1のセットの少なくとも一部分が、入力データの第2のセットの少なくとも一部分に付加される出力データを返すこととを備える。いくつかの実施形態では、列追加関数は、1つまたは複数の引数に従って入力データからデータの1列を作成することと、出力データが入力データとデータの列とを含む出力データを返すこととを備える。
本発明の実施形態では、入力データを操作することは、1つまたは複数の引数を1つまたは複数のデータベース関数と共に受け取ることと、1つまたは複数の引数および1つまたは複数のデータベース関数をパースすることと、1つまたは複数の引数あるいは1つまたは複数のデータベース関数が行毎に適用できるかどうかを判定することと、1つまたは複数の引数あるいは1つまたは複数のデータベース関数が行毎に適用できる場合、これらの引数またはこれらのデータベース関数を各行に別個に適用することと、任意の残りの引数またはデータベース関数を適用することとを備える。本発明のさらなる実施形態では、データの第1の中間セットが引数およびデータベース関数を各行に別個に適用することから作成される。いくつかの実施形態では、1つまたは複数の後続のデータの中間セットは、データの第1の中間セットあるいは1つまたは複数の後続のデータの中間セットに適用された各残りの引数またはデータベース関数のため、作成される。
本発明の実施形態では、出力データを表示するためのユーザインターフェースは、入力データのセットに適用するために1つまたは複数のデータベース関数を受け取ることと、入力データの選択を受け取ることと、データベース関数が入力データに適用された後に出力データを表示することとについて提供する。
本発明は、コンピュータプロセス、コンピュータシステム、またはコンピュータプログラム製品などの製造品として実施することができる。コンピュータプログラム製品は、コンピュータシステムによって可読であって、コンピュータプロセスを実行するための命令のコンピュータプログラムを符号化しているコンピュータ記憶媒体とすることができる。コンピュータプログラム製品は、コンピュータシステムによって可読であって、コンピュータプロセスを実行するための命令のコンピュータプログラムを符号化している搬送波上の伝播信号とすることができる。
本発明およびその改良点の完全に理解は、以下に簡潔にまとめた添付の図面、本発明の現在の例示的実施形態の詳細な説明、および添付の特許請求の範囲を参照することにより、得ることができる。
これから本発明の実施形態が示されている添付の図面を参照して、本発明について以下により完全に説明するであろう。しかし、本発明は、多くの異なる形態で実施することができ、本明細書で説明する実施形態に限定されるものと解釈されるべきではない。そうではなく、これらの実施形態は、本開示が詳細かつ完全となり、本発明の範囲を当業者に十分に伝えるために提供されている。
一般に、本発明は、スプレッドシートアプリケーションにおいてデータベース関数を適用する方法の実施形態に関する。本発明の実施形態によれば、ここに記載の方法は、単一のスタンドアロンのコンピュータシステム上で読み込まれ、実行されるコンピュータ命令のセットとして実行することができる。
本発明は、1つまたは複数のコンピュータまたは他の装置によって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的コンテキストで記述することができる。一般的に、プログラムモジュールは、特定のタスクを実行したり、または特定の抽象データ型を実装したりする、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。典型的には、プログラムモジュールの機能は、様々な実施形態において所望に応じて組み合わせたり、または分散させたりすることができる。
本発明の態様を有する例示的スプレッドシートアプリケーションが、図1A、図1B、および図1Cに示されている。本発明の実施形態では、スプレッドシートアプリケーションまたはスプレッドシートは、データを格納し、データに対する計算を行い、データを表示することができるソフトウェアアプリケーションである。スプレッドシートは、1つまたは複数のスプレッドシートを有するワークブックとして編成される。各スプレッドシートは、一連の行と一連の列の交差部分から形成される複数のセルを有する。データのアイテムはセルに配置することができる。データテーブルは、スプレッドシート内の複数の行および複数の列の両方を占めるセルの集合体である。スプレッドシートは、当業者に周知であり、これ以上の説明をしないであろう。
例示的スプレッドシート100を図1Aに示す。スプレッドシート100は、データのテーブル102を含む。テーブル102は、「SalesList」と称するタイトル104を有する。テーブル102は、行5から行26までの22行106を有する。テーブル102はまた、行5において「Country」、「Total Sales」、および「Average Sales」とラベル付けされた列ヘッダ110を有する3つの列108を有する。データは、列Dおよび列Eにおける行6から行26までにある。
1つまたは複数のデータベース関数を有するデータベースフォーミュラをスプレッドシート100に入力することができる。本発明の実施形態では、データベース関数は、入力データのセットを受け取り、その入力データを操作して別の形態またはフォーマットに操作し、出力データのセットを生成することができるスプレッドシートアプリケーションの関数である。ある範囲のデータまたはデータのセットは、スプレッドシートの1つまたは複数のセルを占める1つまたは複数のデータのアイテムである。データベース関数は、データの外観または編成を変更する。一般に、データベース関数は、入力データを認識し、入力データ内のデータのアイテムを除去するか、または入力データにデータを追加する。本発明の実施形態では、いくつかのデータベース関数は、ソート、フィルタ、テーブルの付加、重複の除去、および列の追加を備える。これらの特定の実施形態を下記でより詳細に説明するが、本発明は、これらの具体的な実施形態に限定されない。本発明のいくつかの実施形態では、データベース関数は、繰り返し可能である。言い換えれば、入力データが変化するとき、データベース関数は、自動的に再実行されて、更新された出力データを提供することができる。
いくつかの実施形態では、入力データは、設定サイズを有する必要はないが、変更および更新を行うことができ、データベース関数は、そうした変更に適合するであろう。一実施形態では、データベース関数は、セマンティック指定を用いることができる。セマンティック的に指定すること、すなわちセマンティック指定は、データのセットを選択する特定の方法のことを指す。セル、行、または列を参照する代わりに、ユーザは、ユーザが選択したいスプレッドシートデータを見つけるためにスプレッドシートが使用できるある種の言語記述子を使用することができる。例えば、C列が、あるグループの子供のすべての年齢を含む場合、ユーザは、例えば「[age]=3」のような式表現でC列に対してセマンティック指定を使用することができる。セマンティック指定の「age」は、引数の列トークンである。本発明の実施形態では、列トークンは、特定の列を参照するある種の引数である。上記の例では、ターム「age」は、列トークンである。列トークンは、スプレッドシートが、ある特定の列を認識し、フォーミュラまたは引数をその列に適用可能とする任意の仕方で表現することができる。セマンティック指定については、参照によりその全体を本明細書に組み入れる、2004年9月30日出願の「Method and Implementation for referencing dynamic data in spreadsheet applications」と称する関連の米国特許文献でさらに詳細に説明されている。
データベース関数の出力は、1つまたは複数のセルを占めることができるデータのセットとすることができる。出力データは、1つまたは複数の適用されたデータベース関数から作成されたデータの最終セットである。換言すれば、すべてのデータベース関数が入力データに提供された後、出力データがデータの最終セットを形成する。一実施形態では、ユーザまたはスプレッドシートアプリケーションは、出力データのサイズ、出力データが占めることになるセルの範囲を定義する必要はないが、その出力データのサイズは、境界付けられず、入力とその入力データに関するデータベース関数の効果とを完全に反映することができる。
各データベース関数は、データベース関数の実行を調整または適合することができる1つまたは複数のカスタマイズ可能な引数またはパラメータを有することができる。本発明の実施形態では、1つまたは複数の引数は、データベース関数に対する1つまたは複数の式または変更子を指す。引数は、フォーミュラを調整または適応して特定の仕方で実行することができる。引数は、代数、ブール、または他の形式とすることができる。一実施形態では、引数は、セルを参照することができる。本発明の実施形態では、式は、数学もしくは論理記号、または記号の意味ある組合わせである。本説明では、式は、データベースフォーミュラ内のデータベース関数または引数のことを指すことがある。
本発明の実施形態では、データベースフォーミュラは、ある単一のフォーミュラ定義において一連のデータベースオペレーションを行うために、1つまたは複数のデータベース関数を利用するフォーミュラである。本発明の実施形態では、組み込みデータベースフォーミュラまたはネストされたデータベースフォーミュラは、データベースフォーミュラのシンタックス内に1つまたは複数のデータベース関数を配置する能力を指す。例えば、データベースフォーミュラは、式「SORT(table1(FILTER))」を有することがある。データベースフォーミュラのこの例では、FILTER関数が、SORT関数内に組み込まれている。関数を組み込むことにより、ユーザが、別個のフォーミュラを作成することなく、いくつかのやり方でデータを操作する複雑な式を作成できるようにする。
データベース関数を有する例示的データベースフォーミュラ102が、図1BのG5セル112に示されている。例示的データベースフォーミュラ112は、FILTER関数を含む。FILTER関数の引数により、データベースフォーミュラの引数の中のテーブル102のセマンティック参照114に従って、フィルタがテーブル「SaleList」102に適用されることになる。データベースフォーミュラ112はまた、他の引数116を含む。データベースフォーミュラ112は、引数116「[Total Sales]>20000」に見ることができるように、列トークンのセマンティック参照116を使用している。列トークンは、D列118のデータを指し示す。この引数116により、D列内のデータが値20000より大きくないデータのすべての行が最終出力データから除去されるべきである。このように、この例でのデータベースフォーミュラ112は、Total Salesの値20000より大きくないテーブル「SalesList」102のすべての行をフィルタして除去することになる。
図1Cを参照すると、出力データが、列5から列19までの行のセット122と、列Gから列Iまでの列のセット124を占める第2のテーブル112に示されている。出力データテーブル112は、ユーザがデータベースフォーミュラを入力するG5セルでアンカされている。図1Cに見られるように、スプレッドシートアプリケーションは、FILTER関数をテーブル102に適用することにより、「SalesList」テーブル102から7行のデータを除去している。除去された行は、SalesListテーブル102のD列118において20000より大きいデータ値を有していなかったすべての行であり、それらは、行6、11、15、16、17、18、および19である。出力データは同じ列数を維持しているが、行数が変更されている。出力データは、データベースフォーミュラが入力された1つのセルにではなく、ある範囲の一連のセルに配置されている。
いくつかの実施形態では、データベース関数でデータを操作するプロセスは、出力データが表示されると終了することができる。他の実施形態では、1つまたは複数のデータベース関数を有する1つのデータベースフォーミュラからの出力データは、1つまたは複数のデータベース関数を有する他のスプレッドシート関数、または他のデータベースフォーミュラの入力を形成することができる。いくつかの実施形態では、選択された入力データが変わると、データベースフォーミュラまたはデータベース関数は繰り返し再実行することができる。このように、データベースフォーミュラまたは関数は、指定された入力データに対するどんな変更の後でも、再適用し、出力データを再作成する。本質的に、データベース関数は、入力データの変更の際に再計算をすることができる他のスプレッドシート関数と同様に動作することができる。データベース関数およびフォーミュラの再適用は、単一のデータベースオペレーションの適用とは異なる。データベースフォーミュラおよびデータベース関数の再適用については、上記でより完全に説明されている。
本発明を実装することができる適切な動作環境を図2に示す。この動作環境は、適切な動作環境の一例にすぎず、本発明の使用または機能の範囲に関していかなる限定も示唆するものではない。本発明と共に使用するのに適切となり得る他の周知のコンピューティングシステム、環境、および/または構成には、以下に限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能な民生用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、および上記の任意のシステムまたはデバイスを含む分散コンピューティング環境などが含まれる。
図2を参照すると、本発明を実施するための例示的システムは、コンピューティングデバイス200などのコンピューティングデバイスを含んでいる。その最も基本的な構成では、コンピューティングデバイス200は、典型的には、少なくとも1つの処理ユニット202、およびメモリ204を含む。コンピューティングデバイス200の正確な構成およびタイプに応じて、メモリ204は、揮発性(RAMなど)、不揮発性(ROM、フラッシュメモリなど)、またはこれら2つの何らかの組合わせとすることができる。コンピューティングデバイス200の最も基本的な構成は、破線206によって図2に示されている。さらに、デバイス200は、追加の特徴/機能を有することもできる。例えば、デバイス200は、これだけに限定されないが、磁気または光学式のディスクまたはテープを含む追加の(リムーバルおよび/または非リムーバルの)ストレージを含むこともできる。このような追加のストレージは、図2では、リムーバルストレージ208および非リムーバルストレージ210によって示されている。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の格納のための任意の方法または技術で実装された揮発性および不揮発性、リムーバルおよび非リムーバルの媒体を含む。メモリ204、リムーバルストレージ208、および非リムーバルストレージ210はすべて、コンピュータ記憶媒体の例である。コンピュータ記憶媒体には、以下に限定されないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、DVD(デジタル多用途ディスク)または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ディスクストレージデバイス、あるいは所望の情報を格納するために使用することができ、コンピューティングデバイス200によってアクセスすることができる他の任意の媒体が含まれる。いずれのこのようなコンピュータ記憶媒体もデバイス200の一部とすることができる。
デバイス200はまた、デバイス200が他のデバイスと通信することを可能にする通信接続212を収容することもできる。通信接続212は、通信媒体の一例である。通信媒体は、一般に、搬送波または他のトランスポートメカニズムなどの変調されたデータ信号として、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを具体化し、任意の情報送達媒体を含む。用語「変調されたデータ信号」は、信号に情報を符号化するようにその特性の1つまたは複数を設定または変更した信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響、RF、赤外線、および他の無線媒体などの無線媒体を含む。
デバイス200は、キーボード、マウス、ペン、音声入力デバイス、およびタッチ入力デバイスなどの入力デバイス214を含むこともできる。ディスプレイ、スピーカ、プリンタなどの出力デバイス216を含むこともできる。すべてのこれらのデバイスは当業者に周知であり、ここで詳細に論じる必要はない。
コンピューティングデバイス200は、通常、少なくとも何らかの形態のコンピュータ可読媒体を含む。コンピュータ可読媒体は、処理ユニット202によってアクセスすることができる任意の利用可能な媒体とすることができる。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。上記の任意の組合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。本明細書で使用される用語のコンピュータ可読媒体は、記憶媒体と通信媒体の両方を含む。
本発明の態様を有するスプレッドシートアプリケーション300の機能図を図3に示す。スプレッドシートアプリケーション300は、ユーザ入力302を受け入れることができるスプレッドシートモジュール306を含む。スプレッドシートモジュール100は、スプレッドシートモジュール306の一実施形態である。本発明の実施形態では、ユーザ入力302は、1つまたは複数のデータベース関数312、1つまたは複数のデータベース関数を有する1つまたは複数のデータベースフォーミュラ314、および/または入力データのセットの選択304とすることができる。データベースフォーミュラ112は、データベースフォーミュラ314の一実施形態である。入力データ102は、入力データ304の一実施形態である。スプレッドシートモジュール306は、データベース関数およびデータベースフォーミュラを適用することができる。スプレッドシートモジュール306は、データベース関数312またはデータベースフォーミュラ314を、入力データのセット304に適用することができる。スプレッドシートモジュール306は、データベース関数312またはデータベースフォーミュラ314に従って、入力データ304を操作することができ、出力データのセット310を作成する。出力データ120は、出力データ310の一実施形態である。いくつかの実施形態では、スプレッドシートモジュール306は、出力データ310を、スプレッドシート内の1つまたは複数のセルに配置することができる。他の実施形態では、スプレッドシートモジュール306は、他の関数または計算において出力データを使用することができる。いくつかの実施形態では、スプレッドシートモジュール306は、最終的に出力データ310を生成する前に、1つまたは複数のデータの中間セット316を作成することができる。データの中間セット316は、スプレッドシートが連続または後続のデータベース関数312または引数の実行と実行の間に作成しなければならないデータのテーブルまたはデータのセットを指す。各後続のデータベース関数312または引数は、最新のデータの中間セット316に適用することができる。
スプレッドシートアプリケーション300は、データベースフォーミュラ314にあってもデータベースフォーミュラ314とは別個であっても、データベース関数312を受け入れることができ、データベース関数312に従ってデータベースオペレーションを行うことができる。換言すれば、ユーザは、入力データの形態、フォーマット、編成、構造、または内容を操作するデータベース関数312を選択または提供することできる。いくつかの実施形態では、データベース関数312は、テーブル全体を含む入力データの配列304に適用することができ、出力データ310を別個のデータ配列として提供することができる。他の実施形態では、データベース関数312は、基となっている入力データ304が変化するときデータベース関数312が再実行されることになるという点で動的である。このように、ユーザは、データベース関数312を手動で再適用する必要はなく、データベース関数312は、入力データ304の任意の変化するソースから、出力データ310を継続的に生成することになる。
(データベース関数312のような)1つまたは複数のデータベース関数を(入力データ304のような)入力データのセットに適用するための方法400の一実施形態を図4に示す。先ず、提供オペレーション402が、ユーザに、1つまたは複数のデータベース関数102の選択肢を提供する。本発明の実施形態では、(スプレッドシートモジュール306などの)スプレッドシートモジュールは、データベース関数をユーザに利用可能にすることによって、データベース関数を提供することができる。一実施形態では、スプレッドシートモジュールは、メニューなどでデータベース関数のリストを提供することができる。他の実施形態では、スプレッドシートモジュールは、ユーザが(スプレッドシート300などの)スプレッドシート中にデータベース関数の名前をタイプすることができるようにすることによって、データベース関数を提供する。
次に、受入れオペレーション404は、データベース関数のユーザのエントリを参照することを受け入れる。本発明の実施形態では、スプレッドシートモジュールは、ユーザがデータベース関数を入力することができるセルにデータベース関数を格納することができる。他の実施形態では、スプレッドシートモジュールは、データベース関数が入っている(データベースフォーミュラ314などの)データベースフォーミュラを、ユーザがデータベースフォーミュラを入力することができるセルに格納することができる。
次に、受入れオペレーション406では、1つまたは複数の引数を受け入れる。本発明の実施形態では、引数は、データベース関数の実行を調整するかまたは適合する式である。一実施形態では、引数は、より大きなデータベースフォーミュラの部分とすることができる。他の実施形態では、引数は、データベース関数のシンタックスの部分とすることができる。スプレッドシートモジュールは、データベース関数と共に引数を格納することができる。
次に、受入れオペレーション408は、入力データのセットの選択を受け入れる。入力データは、データの1つまたは複数のセルとすることができる。一実施形態では、ユーザは、入力データのセル範囲を入力することができる。他の実施形態では、ユーザは、入力データのセットを参照するためにセマンティック指定を用いることができる。さらに他の実施形態では、ユーザは、マウスまたは他のグラフィカルユーザインターフェース入力デバイスを用いて、入力データを強調表示し選択することができる。スプレッドシートモジュールは、この入力データの選択をデータベース関数と共に格納することができる。データベース関数、引数、入力データ選択に対して必要な任意の訂正は、スプレッドシートモジュールによってプロンプトすることができ、ユーザによって行うことができる。いくつかの実施形態では、ユーザは、データベース関数、入力データ選択、および1つまたは複数の引数を、単一の式として入力することができる。
次に、操作オペレーションは、1つまたは複数のデータベース関数に従って入力データを操作する。本発明の実施形態では、スプレッドシートモジュールは、選択された入力データに関して、引数と共にデータベース関数を実行する。スプレッドシートモジュールは、データベース関数のタイプおよび付随する引数に従って入力データを操作する。説明したように、入力データを操作することは、入力データの編成またはフォーマットに対する任意のタイプの変更を意味することができる。一実施形態では、(任意の組込みデータベースフォーミュラのうち最初にリストされたもの、または一連の引数の最初の引数を意味する)第1のデータベース関数または引数が、入力データに関して実行される。次いで、スプレッドシートモジュールは、一連の順序で各後続の関数または引数を通して進める。いくつかの実施形態では、スプレッドシートは、各関数または引数の適用後、(データの中間セット316など)データの中間セットを出力する。最終の関数または引数は、(出力データ310などの)出力データを作成する。
例えば、FILTER関数およびソートフォーミュラが、同じデータのテーブルに適用される場合、スプレッドシートは、まず、フィルタオペレーションの後であるが、ソートオペレーションの前に、第2のデータテーブルなどのデータの中間セットを作成することができる。スプレッドシートは、このデータの中間セットを格納することができる。次いで、スプレッドシートは、ソートフォーミュラをデータの中間セットに適用して、出力データを作成することができる。フォーミュラまたは式の順次的または連続する実行と実行との間に作成され、そして/または格納された任意のデータが、データの中間セットである。1つまたは複数のデータベース関数を用いてデータを操作するための方法の一実施形態のより詳細については、図5を参照して説明する。
次に、送りオペレーション412では、出力データをスプレッドシートに送る。出力データは、新しいデータのテーブルまたはデータのセットとすることができる。本発明の実施形態では、スプレッドシートモジュールは、出力データを形成する。一実施形態では、スプレッドシートモジュールは、列および行ヘッダを有するテーブルを生成する。一実施形態では、スプレッドシートモジュールは、出力データに名前を付けることができる。
一実施形態では、スプレッドシートモジュールは、出力データのサイズおよび構成を判定する。スプレッドシートモジュールは、いくつの行およびいくつの列で出力データを構成するかを判定することができる。次いで、スプレッドシートモジュールは、スプレッドシートに出力データを配置する十分なスペースがスプレッドシートに存在するかどうかを判定することができる。一実施形態では、スプレッドシートモジュールは、データベース関数またはフォーミュラがアンカされるセルを見つけることができる。スプレッドシートモジュールは、次いで、アンカセルの周辺の列と行を何らかの既存データについてチェックすることができる。既存のデータが存在する場合、既存のデータがシフトされて出力データのための場所を作ることができる。
次に、提示オペレーション414は、出力データを提示する。本発明の実施形態では、スプレッドシートモジュールが、出力データをスプレッドシートに表示する。出力データは、1つのセルのデータ、列または行のある範囲のデータ、テーブルのデータ、あるいは、任意の配置のセルまたはスプレッドシートの他の任意の配置のデータを形成することができる。
(データベース関数312のような)1つまたは複数のデータベース関数を用いて(入力データ304のような)入力データを操作するための方法の他の実施形態500を図5に示す。まず、パースオペレーション502が、(データベースフォーミュラ314などの)データベースフォーミュラまたはデータベース関数をパースする。本発明の実施形態では、(スプレッドシートモジュール306などの)スプレッドシートモジュールが、ユーザから、1つまたは複数の引数を含むことができる1つまたは複数のデータベースフォーミュラまたは関数を受け取る。いくつかの実施形態では、ユーザは、1つまたは複数のデータベース関数がデータベースフォーミュラに組み込まれるフォーミュラ式を提供することができる。そして、スプレッドシートアプリケーションによって受け取られるデータベースフォーミュラ式は、REMOVE DUPLICSTESフォーミュラ内のSORTフォーミュラ内でFILTER関数を有することができる。このフォーミュラ式は、次のようなものにすることができる:「=RemoveDuplicates(Sort(Filter(Tablel, [Column 1]="Product 1", [Sales]>1200), [Salesperson Name], 1), [Column 1], [Salesperson Name])」。この例では、フォーミュラにより、「salesperson」によってソートされ、単一の注文で販売員が1200単位より多く販売した製品が含まれるようにフィルタされ、重複した販売員/製品の名前の組合せが除去されたリストがもたらされる。
いくつかの実施形態では、組込みデータベースフォーミュラは、スプレッドシートに異なる式を、これらの式がデータベース関数であるかデータベース関数の引数であるかにかかわらず、パースするように要求することができる。データベースフォーミュラは、組込みか独立かにかかわらず、1つまたは複数の引数を有することができる。一実施形態では、スプレッドシートモジュールは、各式を別個のデータベースオペレーションとして取り扱うことができる。このように、各式は、分離され、個別に評価される。このデータベースオペレーションのコレクションは、プロセスにおいて任意の順序および任意の時点で、入力データに適用することができる。このように、一連の順序でこれらの式を実行するのではなく、スプレッドシートモジュールは、データベースオペレーションの適用の順序および/または方法を変更して、データベースフォーミュラの実行を最適化することができる。いくつかの実施形態では、後のアクセスのためにパースされた式を格納することができる。
次に、取り出しオペレーション504は、パースされた式を取り出す。いくつかの実施形態では、スプレッドシートモジュールは、格納され、パースされた式の1つを取り出すことができる。スプレッドシートモジュールは、メモリにアクセスして、式を呼び出し、さらなる評価のために式を提供することができる。式を一度に1つ取り出すことによって、スプレッドシートモジュールは、データベース関数および引数の実行を再順序付けすることができる。
次に、判定オペレーションは、式のクラスを判定する。本発明の実施形態では、式は、2つのクラスの1つを有することができる。第1に、式はデータの単一の行または行毎に適用することができる。第2に、式は単一の行にではなく「テーブル全体」のデータに適用することができる。あるデータベースオペレーションは、単一の行に関して作用することができる。例えば、1つのセルでデータ値を調べるフィルタオペレーションは、行毎に適用することができる。対照的に、あるデータベースオペレーションは、テーブル「全体」または全部のデータにのみ適用することができる。例えば、ソートオペレーションは、テーブル全体のデータにのみ適用することができる。このように、本発明の実施形態では、スプレッドシートモジュールは、スプレッドシートモジュールが単一のデータ行に適用できると分かっている式のセットに対して式をチェックする。式がこのリストにあれば、その式は直ちに適用することができる。
式が行毎に適用できる場合、分離オペレーション508は、行毎の式を分離する。一実施形態では、スプレッドシートモジュールは、式を分離し、別個のグループとして格納する。いくつかの実施形態では、式を格納するのではなく式を入力データの各行に一連の順序で直ちに適用する。他の実施形態では、スプレッドシートモジュールは、式を適用する前にさらなる評価のためにあらゆる行毎の式を格納する。それゆえ、スプレッドシートモジュールは、後の処理のために式を分離することができる。
次に、判定オペレーション510は、検討すべき他の式が存在するかどうかを判定する。本発明の実施形態では、スプレッドシートモジュールは、すべての式が、クラス、行毎、または「テーブル全体」について検討されたかどうかを判定することができる。ある式が検討されていない場合、プロセス500は、取出しオペレーション504に戻る。しかし、検討を要する他の式が存在しない場合、プロセス500はオペレーション512に進む。
次に、オプションの順序付けオペレーション512は、行毎の式を順序付けする。本発明の実施形態では、スプレッドシートモジュールは、行毎の式を直ちに適用するのではなく式を順序付けすることができる。順序付けは、式を処理に最も効率的な編成に配置することを含むことができる。一実施形態では、順序付けは最も制限が強いものから最も制限の弱い式とすることができる。例えば、式「C=5」は、式「C>5」よりも制限的である。というのは、第1の式は値が5であるという1つの可能性しか有さず、第2の式は値が5より大きいすべてという数多く可能性を有するからである。式の順序付けがより効率的であるのは、より制限の強い式を最初に適用することにより、制限の弱い式を適用する前にさらなる処理から行を排除することができるためである。
次に、評価オペレーション514は、すべての順序付けされた行毎の式によって各行を評価する。本発明の実施形態では、スプレッドシートモジュールは、パースされ、分離され、順序付けられた行毎の式をセットとして各行に個別に適用する。スプレッドシートモジュールは、シリアル的にまたはランダムに各行を評価することができる。任意の式が行に適用されると、必要ならば、その行内のデータを除去することができる。除去された行にまだ適用されていないどの式も、適用する必要なく、スプレッドシートモジュールは、式の評価のために次の行に移動することができる。このように、行毎の式は、テーブルフォーミュラよりはむしろ、配列フォーミュラのように作用することができる。この実施形態では、式を行毎に適用するが列毎に適用することも可能である場合もある。このように、いくつかの実施形態では、分離し、順序付けし、評価することを列毎の式についても完了することができる。スプレッドシートモジュールが、行毎の式を各行に適用した後、スプレッドシートモジュールは、(データの中間セット316など)第1の中間データセット516を作成する。
判定オペレーション506で、パースされた式が行毎の式ではないと判定する場合、プロセス500は、オプションの順序付けオペレーション518に進むことができる。順序付けオペレーション518は、「テーブル全体」式を直ちに適用するのではなく、「テーブル全体」式を順序付けすることができる。いくつかの実施形態では、「テーブル全体」式を、上述のように、最も制限の強い式から最も弱い式へと順序付けすることができる。他の順序付けの方法が行毎の式および「テーブル全体」式の両方について完了される。というのは、これらの式の処理は、何らかの式が他の式の後に続く場合に、より効率的または効果的となることがあるためである。例えば、ソートが「上位10個を取る」オペレーションに先行する場合、処理はより効率的になることがある。
次に、適用オペレーション520は、「テーブル全体」式を適用する。一実施形態では、スプレッドシートモジュールが、行毎の式によって作成された第1の中間データセットをメモリから取り出す。次いで、スプレッドシートモジュールは、第1の「テーブル全体」式を適用する。スプレッドシートモジュールは、中間データの後続のセット522を作成し、その中間データの後続のセット522を格納する。
次に、判定オペレーション524は、他の「テーブル全体」式が適用される必要があるかどうかを判定する。他の「テーブル全体」式が、中間データの後続のセットにまだ適用されていない場合、プロセス500は、適用オペレーション520に戻る。他の「テーブル全体」式が適用される必要がない場合、メモリに格納された後続の中間データの最後のセット421が、(出力データ310などの)出力データとなる。
受取りオペレーション526を参照すると、基となっている入力データが変化すると、受取りオペレーション526は、この変更を受け取る。一実施形態では、データベースフォーミュラまたは関数がスプレッドシート内に既に入力されていることがある。この既存のデータベースフォーミュラまたは関数は、式が適用される入力データの選択されたセットを有する。この入力データのセットの格納された選択は、データベースフォーミュラまたはデータベース関数の「依存関係」を表す。ユーザは、データベースフォーミュラまたは関数に対する入力として指定された複数の「依存関係」セルのある部分を変更することができる。入力データに対する変更は、入力データの編集、入力データへの追加、入力データのリフレッシュ、または他のアクション由来することがある。入力データが変更されると、式を適用するプロセス500は、ブロック502で開始することができる。
いくつかの実施形態では、スプレッドシートモジュールは変更を受け取る。この変更が、従属セル中の入力データに影響を及ぼすとき、その変更によって、プロセス400は、操作オペレーション410から開始して再実行されることになる。一実施形態では、データベース関数は、変更された入力データを使用して正しい出力データセットを返すために、再評価または再実行される。このように、データベースフォーミュラおよびデータベース関数は、データベースオペレーションとは異なり、再計算することができる。
データベース関数を含むいくつかの例示的データベースフォーミュラが図6に示されている。例示的実施形態は特定のシンタックスを含むが、本発明はこのシンタックスに限定されない。むしろ、データベースフォーミュラおよびデータベース関数は、ユーザに、繰り返し可能でフォーミュラ的なデータベースオペレーションを提供することができる任意のタイプのシンタックスを含むことができる。さらに、データベースフォーミュラおよびデータベース関数は、データベースフォーミュラまたはデータベース関数内に1つまたは複数の引数を含めることにより、ユーザ指定のカスタマイズをユーザに提供することができる任意のシンタックスを有することができる。いくつかの実施形態では、データベースフォーミュラおよびデータベース関数は、セマンティック指定を含むことができる。
FILTERデータベース関数602は、1つまたは複数の引数に従って、スプレッドシートからデータのアイテムを除去することができる。図6に示すように、FILTERデータベース関数602は、式612および式614のような例示的な式のセットを有する。本発明の実施形態では、あらゆるデータベース関数は、式612および614と同様の式または引数を有することができる。式のシンタックスおよびオペレーションは、データベース関数のタイプに応じて変化してもよい。当業者は、例示的データベース関数のセットにおける例示的引数および/または式を認めるであろう。
本発明の実施形態では、例示のFILTER関数は、次のような構造およびシンタックスを有する:「FILTER(Table, Filter Expression 1, [Filter Expression Expression2], ...)」。FILTERデータベース関数602は、引数によって具体化されたすべてのフィルタ条件を満たすデータのセットからすべてのアイテム(行)を返す。本発明の実施形態では、引数は、入力データ内のデータのセットに対する1つまたは複数の参照を収容することができる代数式、数式、ブール式、または他のタイプの式とすることができる。こうした引数を適用することができ、FILTERデータベース関数602は、すべての引数を満たす行のリストを返す。すべての引数について真であるアイテム(行)だけが、出力データの一部として含まれる。
例として、「MyTable」と呼ばれる例示的テーブルを以下に示す。
Figure 2006107441
FILTER関数は、次のような式としてスプレッドシートに入力することができる:
=FILTER(MyTable, [Bar]>1, [Foo]="C")
このFILTER関数の結果は、次のテーブルとなろう。
Figure 2006107441
FILTER関数は、列トークンのセマンティック参照を使用し、例えば、FILTER関数は、列の名前「Foo」および「Bar」、ならびに、テーブル全体について名付けた範囲であるテーブルの名前「MyTable」を使用した。
データベース関数の他の例は、図6に示すSORT関数604である。本発明の実施形態では、例示的SORT関数は、次のような構造およびシンタックスを有することができる:「SORT(Table, Field 1, Ascending/Descending 1, [Field 2, Ascending/Descending 2], ...)」。SORT関数604は、すべての指定された引数による選択データをソートした結果であるテーブルを返す。指定された第1の引数は、最高位の(最後に適用された)ソートであり、第2の引数は、2番目に最も高い順位のソートであり、以下同様である。このように、それらのソートは、ソートされたリストを適切に生成するように、関数に引数の現れる順序と逆の順序で適用される。
データベース関数の他の例は、図6に示すREMOVE DUPLICATES関数606である。本発明の実施形態では、REMOVE DUPLICATES関数606は、次のような構造およびシンタックスを有することができる:「REMOVEDUPLICATES(Table, [Field 1], [Field 2], ...)」。REMOVE DUPLICATES関数606は、引数のいずれかによって表現されたどの重複アイテムも収容していないデータのセットを返すことができる。引数によって指定されたアイテムのすべての識別が、他のアイテムのそれらと一致する場合、REMOVE DUPLICATES関数606は、2つのアイテムのうちの1つだけを返すことができる。いくつかの実施形態では、REMOVE DUPLICATES関数606は、「第1」のアイテム(テーブルの上端の近くに位置するアイテム)を返すことができる。このデータのセットが重複するデータをなんら含まない場合、データは除去されない。
例として、「MyTable」と呼ばれる選択されたデータを以下に示す。
Figure 2006107441
例示のREMOVE DUPLICATE関数606は次のように示される:
=REMOVEDUPLICATES(MyTable, [Foo], [Bar])
REMOVE DUPLICATE関数606は、以下のように出力データのセットを返す。
Figure 2006107441
データベース関数のさらに他の例は、図6に示すTABLE APPEND関数608である。本発明の実施形態では、TABEL APPEND関数608は、下記の構造およびシンタックスを有する:「TABLEAPPEND(Table1, Table2)」。このTABEL APPEND関数608は、Table1およびTable2からのすべてのアイテムを収容するデータのセットを返す。一実施形態では、出力データは、Table1のすべてのフィールドに続いて、Table1に存在しないTable2のすべてのフィールドという順序を有する。他の実施形態では、あるテーブルが他のテーブルが有していない1つまたは複数のフィールドを有するとき、これらのフィールドは含められないことがある。TABEL APPEND関数608は、あるテーブルまたは他のテーブルの上端、下端、または側端にデータを付加することができる。
データベース関数の最後の例は、図6に示すADD COLUMN関数610である。本発明の実施形態では、ADD COLUMN関数610は、次のような構造およびシンタックスを有することができる:「ADDCOLUMN(Table, Column Name, Expression for Column)」。ADD COLUMN関数610は、「table」と同じであるデータのセットを作成することができるが、「column name」という名前の列であって、そのデータ値が「expression for column」と呼ばれる引数の結果である列を含む。ADD COLUMN関数610は、行毎に適用することができる。ADD COLUMN関数610は、複数の引数を有することができる。いくつかの実施形態では、ADD COLUMN関数610中の複数の引数は、FILTER関数と同様に機能することができる。
例示的データベース関数、関数への入力、および関数からの出力の間のオペレーション上の関係を示す本発明の一実施形態の機能スプレッドシートを示す図である。 例示的データベース関数、関数への入力、および関数からの出力の間のオペレーション上の関係を示す本発明の一実施形態の機能スプレッドシートを示す図である。 例示的データベース関数、関数への入力、および関数からの出力の間のオペレーション上の関係を示す本発明の一実施形態の機能スプレッドシートを示す図である。 本発明による基本的なコンピュータ環境およびコンピューティングデバイスを示す図である。 本発明によるデータベース関数を含むスプレッドシートアプリケーションの一実施形態を示す基本的ブロック図である。 本発明によるスプレッドシート内でデータベース関数を作成し、用いる基本的な方法の一実施形態を示す図である。 本発明によるスプレッドシート内でデータベース関数をデータのセットに適用する方法の他の実施形態を示す図である。 本発明によるデータベース関数のいくつかの例示的実施形態を示す図である。
符号の説明
100 スプレッドシート
102 データのテーブル
104 タイトル
106 行
108 列
110 列ヘッダ
112 データベースフォーミュラ
114 セマンティック参照
116 引数
118 D列
120 出力データ
122 行
124 列
200 コンピューティングデバイス
202 処理ユニット
204 メモリ
206 基本構成
208 リムーバルストレージ
210 非リムーバルストレージ
212 通信接続
214 入力デバイス
216 出力デバイス
300 スプレッドシートアプリケーション
302 入力
304 入力データの選択
306 スプレッドシートモジュール
310 出力データ
312 データベースフォーミュラ
314 データベース関数
316 中間データ
602 FILTERデータベース関数
604 SORT関数
606 REMOVE DUPLICATES関数
608 TABLE APPEND関数
610 ADD COLUMN関数
612,614 式

Claims (45)

  1. スプレッドシートアプリケーションにおいてデータのテーブルを操作するための方法であって、
    1つまたは複数のデータベース関数を受け取ることと、
    前記データのテーブル内で入力データの選択を受け取ることと、
    前記1つまたは複数のデータベース関数に従って前記入力データを操作することと、
    前記スプレッドシートに出力データを提示することと
    を備えることを特徴とする方法。
  2. 1つまたは複数の前記データベース関数は、1つまたは複数の引数を含むことを特徴とする請求項1に記載の方法。
  3. 前記1つまたは複数の引数は、セマンティック参照を含むことを特徴とする請求項3に記載の方法。
  4. 前記ユーザは、前記1つまたは複数の引数を提供することを特徴とする請求項3に記載の方法。
  5. 前記入力データは、データのテーブルであることを特徴とする請求項1に記載の方法。
  6. 前記出力データは、データのテーブルであることを特徴とする請求項1に記載の方法。
  7. 前記出力データを提示することは、既存のデータの1つまたは複数のアイテムを移動させることを特徴とする請求項1に記載の方法。
  8. 前記データベース関数は、フィルタ関数、ソートフォーミュラ、重複除去フォーミュラ、テーブル付加フォーミュラ、または列追加フォーミュラのうちの1つであることを特徴とする請求項1に記載の方法。
  9. 前記フィルタ関数は、
    少なくとも1つのデータのアイテムをフィルタ引数と比較することと、
    フィルタ引数を満たす前記入力データのアイテムなしで出力データを返すことと
    をさらに備えることを特徴とする請求項8に記載の方法。
  10. 前記ソート関数は、
    1つまたは複数のソート引数に従って編成された出力データのセットを返すことをさらに備えることを特徴とする請求項8に記載の方法。
  11. 前記重複除去関数は、
    引数で指定された、前記入力データ中の2つのデータのアイテムが同じであることを判定することと、
    出力データを返すことであって、前記2つの同じデータのアイテムのうち1つが除去されることと
    をさらに備えることを特徴とする請求項8に記載の方法。
  12. 前記テーブル付加関数は、
    入力データの2つのセットを受け取ることと、
    出力データを返すことであって、入力データの第1のセットの少なくとも一部が入力データの第2のセットの少なくとも一部に付加されることと
    をさらに備えることを特徴とする請求項8に記載の方法。
  13. 前記列追加関数は、
    1つまたは複数の引数に従って前記入力データからデータの列を作成することと、
    出力データを返すことであって、前記出力データは前記入力データおよび前記データの列を含むことと
    をさらに備えることを特徴とする請求項8に記載の方法。
  14. 前記入力データを操作することは、
    1つまたは複数の前記データベース関数と共に1つまたは複数の引数を受け取ることと、
    前記1つまたは複数の引数および前記1つまたは複数のデータベース関数をパースすることと、
    1つまたは複数の引数、あるいは1つまたは複数のデータベース関数を行毎に適用可能かどうかを判定することと、
    1つまたは複数の引数、あるいは1つまたは複数のデータベース関数が行毎に適用可能である場合、それらの引数、またはそれらのデータベース関数を各行に別個に適用することと、
    残りの任意の引数またはデータベース関数を適用することと
    を備えることを特徴とする請求項1に記載の方法。
  15. データの第1の中間セットは、前記引数およびデータベース関数を各行に別個に適用することから作成されることを特徴とする請求項14に記載の方法。
  16. データの1つまたは複数の後続の中間セットは、前記データの第1の中間セットあるいは前記データの1つまたは複数の後続の中間セットに適用された各残りの引数またはデータベース関数がもとで作成されることを特徴とする請求項15に記載の方法。
  17. 1つまたは複数のデータベース関数を受け取ることと、
    データのテーブル内で入力データの選択を受け取ることと、
    前記1つまたは複数のデータベース関数に従って前記入力データを操作することと、
    前記スプレッドシートに前記出力データを提示することと
    を備えたステップを行うためのコンピュータ実行可能命令を有するコンピュータ可読媒体。
  18. 1つまたは複数の前記データベース関数は、1つまたは複数の引数を含むことを特徴とする請求項17に記載のコンピュータ可読媒体。
  19. 前記1つまたは複数の引数は、セマンティック参照を含むことを特徴とする請求項18に記載のコンピュータ可読媒体。
  20. 前記ユーザは、前記1つまたは複数の引数を提供することを特徴とする請求項18に記載のコンピュータ可読媒体。
  21. 前記入力データは、データのテーブルであることを特徴とする請求項17に記載のコンピュータ可読媒体。
  22. 前記出力データは、データのテーブルであることを特徴とする請求項17に記載のコンピュータ可読媒体。
  23. 前記出力データを提示することは、1つまたは複数の既存データのアイテムを移動させることを特徴とする請求項17に記載のコンピュータ可読媒体。
  24. 前記データベース関数は、フィルタ関数、ソートフォーミュラ、重複除去フォーミュラ、テーブル付加フォーミュラ、または列追加フォーミュラのうちの1つであることを特徴とする請求項17に記載のコンピュータ可読媒体。
  25. 前記フィルタ関数は、
    少なくとも1つのデータのアイテムをフィルタ引数と比較することと、
    フィルタ引数を満たす前記入力データからのアイテムなしで出力データを返すことと
    をさらに備えたことを特徴とする請求項24に記載のコンピュータ可読媒体。
  26. 前記ソート関数は、
    1つまたは複数のソート引数に従って編成された前記出力データのセットを返すことをさらに備えたことを特徴とする請求項24に記載のコンピュータ可読媒体。
  27. 前記重複除去関数は、
    引数で指定された前記入力データ中の2つのデータのアイテムが同じであることを判定することと、
    出力データを返すことであって、前記2つの同じデータのアイテムの1つが除去されることと
    をさらに備えたことを特徴とする請求項24に記載のコンピュータ可読媒体。
  28. 前記テーブル付加関数は、
    入力データの2つのセットを受け取ることと、
    出力データを返すことであって、前記入力データの第1のセットの少なくとも一部分が前記入力データの第2のセットの少なくとも一部分に付加されることと
    をさらに備えたことを特徴とする請求項24に記載のコンピュータ可読媒体。
  29. 前記列追加関数は、
    1つまたは複数の引数に従って前記入力データからのデータの列を作成することと、
    出力データを返すことであって、前記出力データは前記入力データおよび前記データの列を含むことと
    をさらに備えたことを特徴とする請求項24に記載のコンピュータ可読媒体。
  30. 前記入力データを操作することは、
    1つまたは複数の前記データベース関数と共に1つまたは複数の引数を受け取ることと、
    前記1つまたは複数の引数、および前記1つまたは複数のデータベース関数をパースすることと、
    1つまたは複数の引数、あるいは1つまたは複数のデータベース関数が行毎に適用可能かどうかを判定することと、
    1つまたは複数の引数、あるいは1つまたは複数のデータベース関数が行毎に適用可能である場合、それらの引数またはそれらのデータベース関数を各行に別個に適用することと、
    残りの任意の引数またはデータベース関数を適用することと
    を備えたことを特徴とする請求項17に記載のコンピュータ可読媒体。
  31. データの第1の中間セットは、前記引数およびデータベース関数を各行に別個に適用することから作成されることを特徴とする請求項30に記載のコンピュータ可読媒体。
  32. データの1つまたは複数の後続の中間セットは、前記データの第1の中間セット、あるいはデータの1つまたは複数の後続の中間セットに適用された各残りの引数またはデータベース関数がもとで作成されることを特徴とする請求項31に記載のコンピュータ可読媒体。
  33. スプレッドシートアプリケーションにおいてデータのテーブルを操作するための方法であって、
    1つまたは複数の引数を含む前記1つまたは複数のデータベース関数のうちの1つの選択を受け取ることと、
    入力データの選択を受け取ることと、
    前記1つまたは複数の引数、および前記1つまたは複数のデータベース関数をパースすることと、
    1つまたは複数の引数、あるいは1つまたは複数のデータベース関数が行毎に適用可能かどうかを判定することと、
    1つまたは複数の引数、あるいは1つまたは複数のデータベース関数が行毎に適用可能である場合、それらの引数またはそれらのデータベース関数を各行に別個に適用することと、
    残りの任意の引数またはデータベース関数を適用することと、
    前記スプレッドシートに前記出力データを提示することと
    を備えることを特徴とする方法。
  34. データの第1の中間セットは、前記引数およびデータベース関数を各行に別個に適用することから作成されることを特徴とする請求項33に記載の方法。
  35. データの1つまたは複数の後続の中間セットは、前記データの第1の中間セット、あるいはデータの1つまたは複数の後続の中間セットに適用された各残りの引数またはデータベース関数がもとで作成されることを特徴とする請求項14に記載の方法。
  36. 1つまたは複数の引数を含む1つまたは複数のデータベース関数のうちの1つの選択を受け取ることと、
    入力データの選択を受け取ることと、
    前記1つまたは複数の引数、および前記1つまたは複数のデータベース関数をパースすることと、
    1つまたは複数の引数、あるいは1つまたは複数のデータベース関数が行毎に適用可能かどうかを判定することと、
    1つまたは複数の引数、あるいは1つまたは複数のデータベース関数が行毎に適用可能である場合、それらの引数またはそれらのデータベース関数を各行に別個に適用することと、
    残りの任意の引数またはデータベース関数を適用することと、
    スプレッドシートに出力データを提示することと
    を備えたステップを行うためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
  37. データの第1の中間セットは、前記引数およびデータベース関数を各行に個別に適用することから作成されることを特徴とする請求項36に記載のコンピュータ可読媒体。
  38. データの1つまたは複数の後続の中間セットは、前記データの第1の中間セット、あるいはデータの1つまたは複数の後続の中間セットに適用された各残りの引数またはデータベース関数がもとで作成されることを特徴とする請求項37に記載のコンピュータ可読媒体。
  39. 表示デバイスおよびユーザインターフェース選択デバイスを含むグラフィカルユーザインターフェースを有するコンピュータシステムにおいて、1つまたは複数のデータベース関数を受け取って入力データのセットを適用する方法であって、
    入力データの選択を受け取ることと、
    前記データベース関数が前記入力データに適用された後に出力データを表示することと
    を備えることを特徴とする方法。
  40. 1つまたは複数の引数を1つまたは複数のデータベース関数と共に受け取ることをさらに備え、前記引数は、前記データベース関数をどのように適用するかを調整することを特徴とする請求項39に記載の方法。
  41. 1つまたは複数の前記引数は、列トークンを含むことを特徴とする請求項40に記載の方法。
  42. 1つまたは複数の前記引数は、数式を含むことを特徴とする請求項40に記載の方法。
  43. 1つまたは複数の前記引数は、セマンティックであることを特徴とする請求項40に記載の方法。
  44. 2つ以上の前記データベース関数は、組込みデータベースフォーミュラとして受け取られることを特徴とする請求項39に記載の方法。
  45. 前記出力データは、前記スプレッドシート中の2つ以上のセルを占めることを特徴とする請求項39に記載の方法。

JP2005183576A 2004-09-30 2005-06-23 データのテーブルを扱うためのスプレッドシート関数のデザイン Active JP5490348B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/957,502 US7698287B2 (en) 2004-09-30 2004-09-30 Design of spreadsheet functions for working with tables of data
US10/957,502 2004-09-30

Publications (2)

Publication Number Publication Date
JP2006107441A true JP2006107441A (ja) 2006-04-20
JP5490348B2 JP5490348B2 (ja) 2014-05-14

Family

ID=35539586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005183576A Active JP5490348B2 (ja) 2004-09-30 2005-06-23 データのテーブルを扱うためのスプレッドシート関数のデザイン

Country Status (10)

Country Link
US (1) US7698287B2 (ja)
EP (1) EP1643387B1 (ja)
JP (1) JP5490348B2 (ja)
KR (1) KR101153069B1 (ja)
CN (1) CN1755668B (ja)
AU (1) AU2005202721B2 (ja)
BR (1) BRPI0502477B1 (ja)
CA (1) CA2510765C (ja)
MX (1) MXPA05007082A (ja)
RU (1) RU2383923C2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013507689A (ja) * 2009-10-09 2013-03-04 マイクロソフト コーポレーション データ分析式

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237188B1 (en) * 2004-02-06 2007-06-26 Microsoft Corporation Method and system for managing dynamic tables
GB0307403D0 (en) 2003-03-31 2003-05-07 Medical Res Council Selection by compartmentalised screening
GB0307428D0 (en) 2003-03-31 2003-05-07 Medical Res Council Compartmentalised combinatorial chemistry
US20060078893A1 (en) 2004-10-12 2006-04-13 Medical Research Council Compartmentalised combinatorial chemistry by microfluidic control
US20050221339A1 (en) 2004-03-31 2005-10-06 Medical Research Council Harvard University Compartmentalised screening by microfluidic control
US7968287B2 (en) 2004-10-08 2011-06-28 Medical Research Council Harvard University In vitro evolution in microfluidic systems
US7849395B2 (en) * 2004-12-15 2010-12-07 Microsoft Corporation Filter and sort by color
US8601383B2 (en) * 2005-09-09 2013-12-03 Microsoft Corporation User interface for creating a spreadsheet data summary table
US7480675B2 (en) * 2005-09-09 2009-01-20 Microsoft Corporation Automated placement of fields in a data summary table
US8095866B2 (en) 2005-09-09 2012-01-10 Microsoft Corporation Filtering user interface for a data summary table
US7752215B2 (en) * 2005-10-07 2010-07-06 International Business Machines Corporation System and method for protecting sensitive data
US7627812B2 (en) 2005-10-27 2009-12-01 Microsoft Corporation Variable formatting of cells
US20100137163A1 (en) 2006-01-11 2010-06-03 Link Darren R Microfluidic Devices and Methods of Use in The Formation and Control of Nanoreactors
US20070174228A1 (en) * 2006-01-17 2007-07-26 Microsoft Corporation Graphical representation of key performance indicators
US7770100B2 (en) * 2006-02-27 2010-08-03 Microsoft Corporation Dynamic thresholds for conditional formats
WO2007133710A2 (en) 2006-05-11 2007-11-22 Raindance Technologies, Inc. Microfluidic devices and methods of use thereof
US9562837B2 (en) 2006-05-11 2017-02-07 Raindance Technologies, Inc. Systems for handling microfludic droplets
WO2008021123A1 (en) 2006-08-07 2008-02-21 President And Fellows Of Harvard College Fluorocarbon emulsion stabilizing surfactants
US8495586B2 (en) * 2006-08-24 2013-07-23 Software Analysis and Forensic Engineering Software for filtering the results of a software source code comparison
US8772046B2 (en) 2007-02-06 2014-07-08 Brandeis University Manipulation of fluids and reactions in microfluidic systems
US20080243823A1 (en) * 2007-03-28 2008-10-02 Elumindata, Inc. System and method for automatically generating information within an eletronic document
WO2008130623A1 (en) 2007-04-19 2008-10-30 Brandeis University Manipulation of fluids, fluid components and reactions in microfluidic systems
CN101055566B (zh) * 2007-05-25 2010-06-09 金蝶软件(中国)有限公司 一种电子数据表的函数收集方法和装置
CN101122899B (zh) * 2007-09-18 2011-01-05 杭州华三通信技术有限公司 报表的生成方法和设备
CN101425007B (zh) * 2007-10-29 2012-09-05 珠海金山软件有限公司 一种可结构化显示电子表格函数提示的方法
US9558169B2 (en) * 2007-11-20 2017-01-31 Sap Se Hierarchical grouping columns
US10346854B2 (en) 2007-11-30 2019-07-09 Microsoft Technology Licensing, Llc Feature-value attachment, reranking and filtering for advertisements
US9189478B2 (en) * 2008-04-03 2015-11-17 Elumindata, Inc. System and method for collecting data from an electronic document and storing the data in a dynamically organized data structure
US8612438B2 (en) 2008-06-13 2013-12-17 Microsoft Corporation Techniques for dynamic cross-filtering
EP2315629B1 (en) 2008-07-18 2021-12-15 Bio-Rad Laboratories, Inc. Droplet libraries
US8037062B2 (en) 2008-07-22 2011-10-11 Elumindata, Inc. System and method for automatically selecting a data source for providing data related to a query
US8176042B2 (en) * 2008-07-22 2012-05-08 Elumindata, Inc. System and method for automatically linking data sources for providing data related to a query
US8041712B2 (en) * 2008-07-22 2011-10-18 Elumindata Inc. System and method for automatically selecting a data source for providing data related to a query
US20100083080A1 (en) * 2008-09-30 2010-04-01 Apple Inc. Whole table referencing
CN101763348B (zh) * 2008-12-26 2011-12-07 英业达股份有限公司 动态表格式数据撷取系统与方法
US20100228752A1 (en) * 2009-02-25 2010-09-09 Microsoft Corporation Multi-condition filtering of an interactive summary table
EP2411148B1 (en) 2009-03-23 2018-02-21 Raindance Technologies, Inc. Manipulation of microfluidic droplets
US8707156B2 (en) * 2009-04-02 2014-04-22 Business Objects, S.A. Render engine for spreadsheet
US20110072340A1 (en) * 2009-09-21 2011-03-24 Miller Darren H Modeling system and method
EP2486409A1 (en) 2009-10-09 2012-08-15 Universite De Strasbourg Labelled silica-based nanomaterial with enhanced properties and uses thereof
US10837883B2 (en) 2009-12-23 2020-11-17 Bio-Rad Laboratories, Inc. Microfluidic systems and methods for reducing the exchange of molecules between droplets
US10351905B2 (en) 2010-02-12 2019-07-16 Bio-Rad Laboratories, Inc. Digital analyte analysis
US8535889B2 (en) 2010-02-12 2013-09-17 Raindance Technologies, Inc. Digital analyte analysis
US9399797B2 (en) 2010-02-12 2016-07-26 Raindance Technologies, Inc. Digital analyte analysis
US9366632B2 (en) 2010-02-12 2016-06-14 Raindance Technologies, Inc. Digital analyte analysis
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
EP3447155A1 (en) 2010-09-30 2019-02-27 Raindance Technologies, Inc. Sandwich assays in droplets
CN102456013A (zh) * 2010-10-20 2012-05-16 金蝶软件(中国)有限公司 数据表中计算公式的处理方法和装置
EP3859011A1 (en) 2011-02-11 2021-08-04 Bio-Rad Laboratories, Inc. Methods for forming mixed droplets
WO2012112804A1 (en) 2011-02-18 2012-08-23 Raindance Technoligies, Inc. Compositions and methods for molecular labeling
EP3216872B1 (en) 2011-06-02 2020-04-01 Bio-Rad Laboratories, Inc. Enzyme quantification
US8841071B2 (en) 2011-06-02 2014-09-23 Raindance Technologies, Inc. Sample multiplexing
US9348941B2 (en) 2011-06-16 2016-05-24 Microsoft Technology Licensing, Llc Specification of database table relationships for calculation
US8959424B2 (en) 2011-06-28 2015-02-17 International Business Machines Corporation Comparative and analytic lens for displaying a window with a first column for first data and a second column for comparison values of the first data and second data
US8959423B2 (en) 2011-06-28 2015-02-17 International Business Machines Corporation Drill-through lens for generating different types of reports
US8658430B2 (en) 2011-07-20 2014-02-25 Raindance Technologies, Inc. Manipulating droplet size
US9483456B2 (en) 2011-09-19 2016-11-01 Jeffrey Dean Honsowetz Grid data management
US9053083B2 (en) 2011-11-04 2015-06-09 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
US9633110B2 (en) * 2011-11-15 2017-04-25 Microsoft Technology Licensing, Llc Enrichment of data using a semantic auto-discovery of reference and visual data
CN102999289B (zh) * 2012-08-07 2016-10-05 珠海金山办公软件有限公司 在函数表达式中生成选区参数表示的方法及装置
CN103577533B (zh) * 2012-08-12 2019-01-25 查平 开放式网络计算系统
US9286284B2 (en) 2012-10-15 2016-03-15 International Business Machines Corporation Data filtering based on a cell entry
US9158744B2 (en) * 2013-01-04 2015-10-13 Cognizant Technology Solutions India Pvt. Ltd. System and method for automatically extracting multi-format data from documents and converting into XML
CN103136182B (zh) * 2013-03-07 2016-02-10 珠海金山办公软件有限公司 一种电子表格中数据排序的方法、系统及数据排序装置
US20140324501A1 (en) * 2013-04-30 2014-10-30 The Glassbox Incorporated Method and system for automated template creation and rollup
US20140359417A1 (en) * 2013-06-04 2014-12-04 Omer Bar-On Systems and methods for graphically modulating structured data
US10664652B2 (en) 2013-06-15 2020-05-26 Microsoft Technology Licensing, Llc Seamless grid and canvas integration in a spreadsheet application
US11901041B2 (en) 2013-10-04 2024-02-13 Bio-Rad Laboratories, Inc. Digital analysis of nucleic acid modification
US10366156B1 (en) * 2013-11-06 2019-07-30 Apttex Corporation Dynamically transferring data from a spreadsheet to a remote applcation
US9944977B2 (en) 2013-12-12 2018-04-17 Raindance Technologies, Inc. Distinguishing rare variations in a nucleic acid sequence from a sample
WO2015103367A1 (en) 2013-12-31 2015-07-09 Raindance Technologies, Inc. System and method for detection of rna species
KR101459410B1 (ko) * 2014-03-18 2014-11-07 주식회사 한글과컴퓨터 텍스트 자동 분할 입력 기반의 스프레드시트 구동 장치 및 방법
WO2016057854A1 (en) 2014-10-08 2016-04-14 Inertech Ip Llc Systems and methods for cooling electrical equipment
US10647981B1 (en) 2015-09-08 2020-05-12 Bio-Rad Laboratories, Inc. Nucleic acid library generation methods and compositions
US10175955B2 (en) 2016-01-13 2019-01-08 Hamilton Sundstrand Space Systems International, Inc. Spreadsheet tool manager for collaborative modeling
US10387558B2 (en) * 2016-02-23 2019-08-20 International Business Machines Corporation Provision of a separate input interface for user interaction with a spreadsheet
US10120851B2 (en) * 2016-06-30 2018-11-06 Microsoft Technology Licensing, Llc Automatic semantic data enrichment in a spreadsheet
US10528607B2 (en) 2016-07-29 2020-01-07 Splunk Inc. Syntax templates for coding
CN109002427A (zh) * 2017-06-06 2018-12-14 珠海金山办公软件有限公司 在电子表格中提示函数参数的方法、装置及电子设备
KR101966177B1 (ko) * 2017-09-19 2019-04-05 이강돈 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템
WO2019077592A1 (en) * 2017-10-20 2019-04-25 Uxstorm, Llc A MAPPING ENGINE SYSTEM THAT ACTIVELY USES A USER INTERFACE AND A METHOD OF MAPPING TABLETS AND APPLICATIONS DERBED THROUGH A DATABASE
CN109063006B (zh) * 2018-07-10 2021-12-28 奇瑞汽车股份有限公司 一种Excel实现整车软件配置编码计算及解析的方法
KR102032084B1 (ko) * 2019-01-22 2019-10-14 이강돈 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템
CN110738037B (zh) * 2019-10-15 2021-02-05 深圳逻辑汇科技有限公司 用于自动生成电子表格的方法、装置、设备及存储介质
CN110728124B (zh) * 2019-10-15 2021-01-08 深圳逻辑汇科技有限公司 用于可视化电子表格的方法、装置、设备及存储介质
CN112784552B (zh) * 2020-06-05 2023-10-27 珠海金山办公软件有限公司 一种表格编辑方法及装置
CN112417806B (zh) * 2020-11-11 2023-12-19 无锡优波生命科技有限公司 一种tcm元件平面电路图设计方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557787A (en) * 1993-02-18 1996-09-17 Fuji Xerox Co., Ltd. Table generating apparatus employing heading, layout, and table script data
US5603021A (en) * 1994-09-02 1997-02-11 Borland International, Inc. Methods for composing formulas in an electronic spreadsheet system
US5890174A (en) 1995-11-16 1999-03-30 Microsoft Corporation Method and system for constructing a formula in a spreadsheet
US5842180A (en) * 1996-03-28 1998-11-24 Microsoft Corporation Method and system for detecting and correcting errors in a spreadsheet formula
KR100271146B1 (ko) * 1997-10-31 2000-11-01 윤종용 스프레드시트엔진을 이용한 워드프로세서의 테이블 자동 연산 시스템 및 방법
US6460059B1 (en) * 1998-08-04 2002-10-01 International Business Machines Corporation Visual aid to simplify achieving correct cell interrelations in spreadsheets
GB2343763B (en) * 1998-09-04 2003-05-21 Shell Services Internat Ltd Data processing system
US6631497B1 (en) * 1999-07-19 2003-10-07 International Business Machines Corporation Binding data from data source to cells in a spreadsheet
US7099898B1 (en) * 1999-08-12 2006-08-29 International Business Machines Corporation Data access system
US6510420B1 (en) * 1999-09-30 2003-01-21 International Business Machines Corporation Framework for dynamic hierarchical grouping and calculation based on multidimensional member characteristics
CA2311866A1 (en) * 2000-01-06 2001-07-06 International Business Machines Corporation Method and system in an electronic spreadsheet for adding or removing elements from a cell named range according to different modes
US6341292B1 (en) * 2000-05-30 2002-01-22 Outlooksoft Corporation Spreadsheet-based network information exchange with two-part cache
US6754677B1 (en) * 2000-05-30 2004-06-22 Outlooksoft Corporation Method and system for facilitating information exchange
US6738770B2 (en) 2000-11-04 2004-05-18 Deep Sky Software, Inc. System and method for filtering and sorting data
US7082569B2 (en) 2001-01-17 2006-07-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
US7191184B2 (en) * 2001-05-02 2007-03-13 National Instruments Corporation Optimized storage for measurement data
JP2003015920A (ja) 2001-06-28 2003-01-17 Shinsei Kaihatsu Kk 表計算ソフトのシートを入力画面として利用するデータベース更新システム及び方法並びに表計算ソフトのシートを入力画面として利用するデータベース更新プログラム並びに当該プログラムを記録したコンピュータ読取可能な記録媒体
US7058631B1 (en) * 2002-06-04 2006-06-06 Unisys Corporation Methods and system for accessing logical relationship data in a database from a data-access system utilizing bookmarks
US7089261B2 (en) * 2002-07-25 2006-08-08 International Business Machines Corporation Programmable use of data extracted from common presentation files
US7266763B2 (en) * 2002-11-26 2007-09-04 Microsoft Corporation User defined spreadsheet functions

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNB200000278001; 相沢輝昭,外: アルゴリズム辞典 第1版, 19940901, P.554, 共立出版株式会社 *
CSNB200500351001; 土屋和人: Excel VBA パーフェクトマスター Second Edition 第1版, 20040520, pp.598-606, 株式会社秀和システム *
JPN6011041094; 土屋和人: Excel VBA パーフェクトマスター Second Edition 第1版, 20040520, pp.598-606, 株式会社秀和システム *
JPN6012030973; 相沢輝昭,外: アルゴリズム辞典 第1版, 19940901, P.554, 共立出版株式会社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013507689A (ja) * 2009-10-09 2013-03-04 マイクロソフト コーポレーション データ分析式
US10762289B2 (en) 2009-10-09 2020-09-01 Microsoft Technology Licensing, Llc Data analysis expressions

Also Published As

Publication number Publication date
EP1643387A3 (en) 2007-01-10
BRPI0502477B1 (pt) 2018-02-14
US20060075328A1 (en) 2006-04-06
AU2005202721A1 (en) 2006-04-13
BRPI0502477A (pt) 2006-05-09
KR101153069B1 (ko) 2012-06-11
KR20060049240A (ko) 2006-05-18
CA2510765C (en) 2012-10-09
MXPA05007082A (es) 2006-04-05
US7698287B2 (en) 2010-04-13
RU2005120367A (ru) 2007-01-20
JP5490348B2 (ja) 2014-05-14
RU2383923C2 (ru) 2010-03-10
CN1755668B (zh) 2010-06-23
CN1755668A (zh) 2006-04-05
EP1643387A2 (en) 2006-04-05
AU2005202721B2 (en) 2010-08-26
CA2510765A1 (en) 2006-03-30
EP1643387B1 (en) 2019-04-24

Similar Documents

Publication Publication Date Title
JP5490348B2 (ja) データのテーブルを扱うためのスプレッドシート関数のデザイン
US11144521B2 (en) Query handling for field searchable raw machine data using a field searchable datastore or an inverted index
Taylor Stilts-a package for command-line processing of tabular data
US9818208B2 (en) Identifying and abstracting the visualization point from an arbitrary two-dimensional dataset into a unified metadata for further consumption
AU2010214025B2 (en) Displaying multiple row and column header areas in a summary table
US20060101013A1 (en) Selection context filtering
US8977606B2 (en) Method and apparatus for generating extended page snippet of search result
US20040088650A1 (en) Methods and apparatus for generating a spreadsheet report template
US20120159312A1 (en) Representation of an interactive document as a graph of entities
US8140596B2 (en) System and method for the derivation and application of sub-iteration contexts in a transformation operation in a data integration system
US20020111964A1 (en) User controllable data grouping in structural document translation
EP2401672A1 (en) Multi-condition filtering of an interactive summary table
WO2009149262A1 (en) Methods and systems for creating and editing a graph data structure
CN101051368A (zh) 配置作业的属性的方法和系统
US8645428B2 (en) Arithmetic node encoding for tree structures
US20070174306A1 (en) Data extraction and conversion methods and apparatuses
Bernhardt Advanced Data Analysis: From Excel PivotTables to Microsoft Access
Harwani et al. Arrays and Strings

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121010

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20121011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121011

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121031

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130208

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130906

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20130906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140226

R150 Certificate of patent or registration of utility model

Ref document number: 5490348

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250