JP4140919B2 - 表計算などの処理を行うシステムおよびその方法 - Google Patents

表計算などの処理を行うシステムおよびその方法 Download PDF

Info

Publication number
JP4140919B2
JP4140919B2 JP2006068746A JP2006068746A JP4140919B2 JP 4140919 B2 JP4140919 B2 JP 4140919B2 JP 2006068746 A JP2006068746 A JP 2006068746A JP 2006068746 A JP2006068746 A JP 2006068746A JP 4140919 B2 JP4140919 B2 JP 4140919B2
Authority
JP
Japan
Prior art keywords
cell
input data
sheet
calculation
unit
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.)
Expired - Fee Related
Application number
JP2006068746A
Other languages
English (en)
Other versions
JP2007249328A (ja
Inventor
欽一 三ツ井
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2006068746A priority Critical patent/JP4140919B2/ja
Priority to CNA200710084440XA priority patent/CN101038584A/zh
Priority to KR1020070021473A priority patent/KR100951132B1/ko
Priority to US11/685,267 priority patent/US7783966B2/en
Publication of JP2007249328A publication Critical patent/JP2007249328A/ja
Application granted granted Critical
Publication of JP4140919B2 publication Critical patent/JP4140919B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本発明は、表計算などの処理を行うシステムおよびその方法に関する。特に、本発明は、シートに含まれるセルの値に基づいて計算を行うシステムおよびその方法に関する。
表計算処理を行うシステムにおいて、利用者は、セルと呼ばれる項目に値を入力することによりスプレッドシートを作成する。セルには、他のセルの値を参照した数式を記録することもできる。数式が記録されたセルには、その数式の計算結果が表示される。予め用意された関数を数式に含めることで、比較的高度な計算を手軽に実現することもできる。しかしながら、数式に含めることのできる関数は予め定められているので、他の計算を実現したい場合には、別途プログラムを作成しなければならない場合がある。表計算処理を行うシステムとして、例えばエクセル(登録商標)が用いられている(非特許文献1を参照。)。
マイクロソフトコーポレーション、Excel2003製品情報、ホームページURL「http://www.microsoft.com/japan/office/excel/prodinfo/default.mspx」
しかしながら、プログラムの作成は数式の記述と比較して困難な作業である。このため、広く一般の利用者が手軽にプログラムを作成することはできないし、思い通りに動作しないプログラムの誤りを訂正する作業は専門家にとっても困難な場合がある。例えば、上述のエクセル(登録商標)において、予め定められた関数で実現できない処理を行うためには、利用者がVisualBasic(登録商標)などのプログラム言語でプログラムを作成しなければならない。
一方で、近年、表計算用のシステムには、ウェブサーバから多量の情報を直接取得する機能が設けられるようになってきている。例えば、表計算用のシステムは、多数の銘柄についての株価をウェブサーバから取得してスプレッドシートのセルに記録することができる。このような多量の情報を効率的に処理するためには、繰返し処理が有効である。しかしながら、従来の表計算用のシステムで繰返し処理を実現するためには、表計算用の数式では不十分であり、プログラムの作成が必要となる場合が多い。
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明においては、シート内の各セルに対し、当該セルの値を算出する計算式を設定することにより計算処理を行うシステムであって、第1のシート、第2のシート、および、第1のシート中のセルと第2のシート中のセルとを対応付ける対応情報を記憶する記憶部と、前記対応情報により、前記第1のシート内における複数の入力データを記録した1又は複数のセルが、前記第2のシート内の第1セルに対応付けられていると判断したことに応じて、前記複数の入力データのそれぞれを前記第1セルの値として順次選択する入力データ選択部と、前記入力データ選択部により、それぞれの入力データが前記第1セルの値として選択されたことに応じて、前記第2のシート内の前記第1セル以外のセルに設定された、前記第1セルを参照する計算式の計算を行う計算部と、それぞれの入力データに対して前記計算部が前記計算式の計算を行った計算結果を、前記対応情報により、前記第2のシート内における前記計算式が設定されたセルに対応付けられた、前記第1のシート内の1又は複数の第2セルの値として出力するデータ出力部とを備えるシステムを提供する。また、当該システムによって計算処理を行う方法および当該システムとして情報処理装置を機能させるプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明によれば、多数のデータに対する繰返し処理を、プログラムを作成することなく手軽に実現できる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、表計算システム10の全体構成を示す。表計算システム10は、データベース20と、表計算装置30とを備える。データベース20は、表計算に用いる複数のスプレッドシートを記録している。これらのスプレッドシートのそれぞれは、セルと呼ばれるデータフィールドを複数有する。それぞれのセルには、データが記録され、または、計算式が設定されている。あるセルに記録された計算式は、他のセルに記録されたデータを入力パラメータとして参照してもよい。表計算装置30は、入力パラメータに基づいて、それぞれのセルに設定された計算式の計算を行い、計算結果をそのセルに表示する。また、表計算装置30は、それぞれのセルに記録されたデータを変更するための入力を受け付けてもよい。入力パラメータとして参照されているデータの更新に応じ、表計算装置30は、そのデータを参照している計算式の計算を行う。この結果、データの更新に応じてそれを参照する計算式の計算結果も直ちに更新されて画面に表示される。
本実施形態に係る表計算装置30は、繰返し処理などの比較的高度な計算を、別途プログラムを作成することなく、手軽に実現可能とすることを目的とする。以下、表計算装置30の構成を説明するために、保有する複数の銘柄の株式についての損益を計算する計算処理を例にその詳細を説明する。
図2は、データベース20に含まれる第1のシートの一例である外部スプレッドシート22を示す。外部スプレッドシート22は、識別子をS1とするシートであり、繰返し処理の外部の処理を示す。外部の処理とは、即ち繰返し処理の開始前および終了後の処理である。具体的には、外部スプレッドシート22は、複数の入力データを記録する外部入力セル200を有する。図2の例で外部スプレッドシート22は、座標C2からC4に複数の外部入力セル200を有する。座標C2に位置する外部入力セル200は、保有する複数銘柄の株式の名称を複数の入力データとして記録している。
なお、「複数の入力データを記録する」とは、入力データそれ自体を直接記録している場合のみならず、入力データを取得するための計算式を記録している場合も含む。図2の例で、外部入力セル200は、複数銘柄の株式の名称を外部のファイルから取得するための計算式を記録している。この計算式で、Query(ファイル名, 項目名)は、「ファイル名」のファイルから「項目名」の項目に該当する複数のデータを取得する計算式を示す。この計算式の計算の結果、座標C2に位置するセル(以下、セルC2などと称す)には、複数銘柄の株式の名称が外部のファイルから取得されて記録される。
また、座標C3に位置する外部入力セル200は、保有する複数銘柄のそれぞれについてその株数を複数の入力データとして記録している。また、座標C4に位置する外部入力セル200は、保有する複数の株式の買価を複数の入力データとして記録している。株式の銘柄名と同様に、これらの入力データも、Query関数を含む計算式の計算の結果取得されるものであってもよい。
外部スプレッドシート22は、株式の銘柄名を示す項目名をセルA6に含み、それぞれの銘柄名をセルA7からセルA9までに含む。また、外部スプレッドシート22は、各銘柄の損益を示す項目名をセルB6に含む。また、外部スプレッドシート22は、後述する内部スプレッドシート24に設定された計算式の計算結果を記録するための外部出力セル210を含む(セルB7からセルB9に相当)。外部出力セル210は、本発明に係る第2セルの一例であり、図2の例のように複数のセルで構成されていてもよいし、単一のセルで構成されていてもよい。また、外部スプレッドシート22は、それぞれの銘柄の合計を計算するための計算式をセルB11に記録している。
図3は、データベース20に含まれる第2のシートの一例である内部スプレッドシート24を示す。内部スプレッドシート24は、識別子をS2とするシートであり、繰返し処理の内部の処理を示す。内部の処理とは、繰返し処理が開始してから終了するまでの処理である。具体的には、内部スプレッドシート24は、本発明に係る第1セルの一例である内部入力セル220を複数有する(セルC3からセルC5に相当)。セルC3は、保有する複数銘柄の株式のうちある株式の銘柄名を記録するために設けられている。セルC4は、その株式を保有している株数を記録するために設けられている。セルC5は、その株式の買価を記録するために設けられている。
また、セルC6には、株価の現在価格を取得するための計算式が設定されている。この計算式を実行すると、セルC3に記録された銘柄名の株式の現在価格が外部から取得されて表示される。また、セルC7には、株式の損益を計算するための計算式が設定されている。この計算式は、セルC6に記録された現在価格からセルC5に記録された買価を差し引いて、セルC4に記録された株数を乗じる計算を示す。更に、内部スプレッドシート24は、セルB2に所定の関数を記録してもよい。この関数は、セルC3に表示した入力データの、図2の外部入力セル200に記録された複数の入力データの中の配列順序を示す識別子を変更可能に表示する。以下、この識別子を、入力データのインデックスと呼ぶ。
図4は、データベース20に含まれる対応情報26の一例を示す。データベース20は、外部スプレッドシート22および内部スプレッドシート24に加えて対応情報26を記録している。対応情報26は、外部スプレッドシート22中のセルと内部スプレッドシート24中のセルとを対応付け、また、対応付けの種別を含む。例えば、対応情報26は、外部スプレッドシート22のセルC2と、内部スプレッドシート24のセルC3とを、対応付けの種別「入力」に対応付けて記録している。これは、外部入力セル200であるセルC2に複数の入力データが記録された場合に、後述する入力データ選択部330によって順次それぞれの入力データがセルC3の値として選択されることを示す。これにより、内部スプレッドシート24に設定された計算式が、外部スプレッドシート22に記録されたそれぞれの入力データを入力パラメータとして繰返し処理される。
また、対応情報26は、外部スプレッドシート22のセルC3と内部スプレッドシート24のセルC4とを対応付けて記録している。これは、外部入力セル200であるセルC3に複数の入力データが記録された場合に、後述する入力データ選択部330によって順次それぞれの入力データがセルC4の値として選択されることを示す。また、対応情報26は、外部スプレッドシート22のセルC4と内部スプレッドシート24のセルC5とを対応付けて記録している。これは、外部入力セル200であるセルC4に複数の入力データが記録された場合に、後述する入力データ選択部330によって順次それぞれの入力データがセルC4の値として選択されることを示す。また、対応情報26は、外部スプレッドシート22のセルB7−B9と内部スプレッドシート24のセルC7とを、対応付けの種別「出力」に対応付けて記録している。これは、内部出力セル230であるセルC7に計算結果が記録された場合に、その計算結果がセルB7−B9に出力されることを示す。
図5は、表計算装置30の機能構成を示す。表計算装置30は、取得部300と、記憶部310と、判断部320と、入力データ選択部330と、計算部340と、データ出力部350と、表示部360と、入力部370と、アクセス制御部380とを有する。取得部300、記憶部310、判断部320、入力データ選択部330、計算部340、データ出力部350、表示部360、入力部370およびアクセス制御部380は、典型的には、後述のCPU1000によって実現され、プログラムによって制御される。また、記憶部310は、RAMなどの揮発性メモリによって実現される。
取得部300は、外部スプレッドシート22、内部スプレッドシート24および対応情報26をデータベース20から取得して記憶部310に記憶させる。記憶部310は、記憶しているスプレッドシートなどを各部に供給する。また、記憶部310は、記憶しているスプレッドシートを、アクセス制御部380の制御に応じて変更する。判断部320は、記憶部310に記憶されたスプレッドシートが変更されたかを判断する。例えば、判断部320は、外部入力セル200に記録された複数の入力データが変更されたか、または、内部出力セル230に設定された計算式が変更されたかを判断する。
入力データ選択部330は、外部スプレッドシート22内における複数の入力データを記録した何れかの外部入力セル200が、内部スプレッドシート24内の内部入力セル220に対応付けられたか否かを対応情報26に基づいて判断する。対応付けられたことに応じて、入力データ選択部330は、これら複数の入力データのそれぞれを内部入力セル220の値として順次選択する。計算部340は、それぞれの入力データが内部入力セル220の値として選択されたことに応じて、内部スプレッドシート24内の内部入力セル220以外のセルである内部出力セル230に設定された、内部入力セル220を参照する計算式の計算を行う。データ出力部350は、それぞれの入力データに対して計算部340が計算式の計算を行った計算結果を、外部スプレッドシート22内の外部出力セル210の値として出力する。即ち表示部360は、外部スプレッドシート22全体を表示する場合に、この計算結果を外部出力セル210の値として利用者に表示する。
入力部370は、各セルに記録された値や各セルに記録された計算式を変更するための入力を利用者から受け付ける。値を変更するための入力を受け付けると、アクセス制御部380は、予め定められた規則に従って、値の変更が許可されているかを判断する。例えば、外部入力セル200が内部入力セル220に対応付けられていることを条件に、内部入力セル220および外部出力セル210に対する利用者による値の変更を禁止する。これにより、外部スプレッドシート22から内部スプレッドシート24へ伝播する入力データの値と利用者による入力とが矛盾することを防止できる。値の変更が許可されている場合には、アクセス制御部380は、利用者の入力に応じて、記憶部310に記憶されたスプレッドシートを変更する。
また、入力部370は、内部スプレッドシート24のセルB1に表示された識別子を変更するための入力を受け付けてもよい。この入力に基づきこの識別子が変更されたことに応じ、表示部360は、内部入力セル220に表示する入力データを、変更された識別子によって識別される入力データに変更する。これにより、利用者は、複数回繰り返される計算のうち任意の1つについて、その計算結果や計算過程を参照することができる。
図6は、表示部360による外部スプレッドシート22の表示例を示す。表示部360は、外部入力セル200であるセルC2に、保有する株式の複数の銘柄名を表示する。これら複数の銘柄名が複数の入力データである。また、表示部360は、外部入力セル200であるセルC3に、保有する株式の株数を表示する。これら複数の株数データも複数の入力データである。また、表示部360は、外部入力セル200であるセルC4に、保有する株式の買価を表示する。これら複数の買価データも複数の入力データである。
表示部360は、更に、外部出力セル210であるセルB7からB9までに、保有する株式の銘柄毎にその損益を表示する。これらの損益データのそれぞれは、内部スプレッドシート24のセルC7に設定された計算式によって計算されたものである。また、表示部360は、セルB11に設定された計算式の計算結果、即ち、セルB7からB9までに表示された損益の合計を表示する。ここで、計算結果の数が4以上の場合には全ての結果をセルB7−B9に表示することはできない。このような場合には、計算部340は、全ての計算結果を表示できるように、第2セルの数を増加させる処理を行ってもよい。即ち、計算部340は、セルB8とB9との間に不足分の行を挿入してもよい。これにより表示部360は全ての計算結果を表示することができる。
図7は、表示部360による内部スプレッドシート24の表示例を示す。表示部360は、内部出力セル230であるセルC3に、保有する株式の複数の銘柄の何れか1つを表示する。また、表示部360は、入力データのインデックスをセルB1に表示する。図7の例で表示されるインデックスは2である。これにより、内部スプレッドシート24のセルC3に表示された入力データが、外部スプレッドシート22のセルC2に記録された複数の入力データのうち2番目に配列されていることが分かる。同様に、内部スプレッドシート24のセルC4に表示された入力データが、外部スプレッドシート22のセルC3に記録された複数の入力データのうち2番目に配列された入力データであることが分かる。同様に、内部スプレッドシート24のセルC5に表示された入力データが、外部スプレッドシート22のセルC4に記録された複数の入力データのうち2番目に配列された入力データであることが分かる。
また、表示部360は、セルC6に設定された計算式に代えて、この計算式の計算結果をセルC6に表示する。セルC6には、セルC3の値として選択された銘柄の現在価格を取得する計算式が設定されているので、セルC6にはこの現在価格が表示される。また、表示部360は、セルC7に設定された計算式に代えて、この計算式の計算結果をセルC7に表示する。セルC7には、セルC3の値として選択された銘柄の損益を計算する計算式が設定されているので、セルC7にはこの損益の計算結果が表示される。
また、表示部360は、内部スプレッドシート24を、内部スプレッドシート24中に設定された計算式が複数の入力データに対し適用されることを示すシンボルに対応付けて表示する。図7左下隅には、外部スプレッドシート22または内部スプレッドシート24をマウスなどの操作で選択可能とするためにタブが表示されている。例えば、表示部360は、内部スプレッドシート24を選択するためのタブを、タブが多重に重なっている様子を表したシンボルによって表示してもよい。このように表示することで、利用者は、入力データの伝播方法や計算式の適用回数を直感的に理解することができる。
図8は、スプレッドシートに記録されたデータに基づく計算の処理過程を示す。取得部300は、外部スプレッドシート22、内部スプレッドシート24および対応情報26をデータベース20から取得して記憶部310に記憶させる(S800)。スプレッドシートの取得に応じ、入力データ選択部330、計算部340およびデータ出力部350は、各セルに設定された計算式に基づき計算を行い、表示部360はその計算結果を外部スプレッドシート22および内部スプレッドシート24中のセルに表示する(S810)。
入力部370は、セルに記録された入力データやセルに設定された計算式を変更するための入力、または、入力データのインデックスを変更するための入力を利用者から受け付ける(S820)。利用者からの入力に応じて入力データまたは計算式が変更されたことに応じ(S830:YES)、計算部340は、変更された入力データに基づいて、その入力データを直接的にまたは間接的に参照する計算式の計算を行い、その計算結果の表示を更新する(S840)。計算式が変更された場合には、計算部340は、その計算式の計算を再度行い、その計算結果の表示を更新する。
入力データのインデックスを変更するための入力を利用者から受け付けたことに応じ(S850:YES)、表示部360は、内部入力セル220に表示する入力データを、変更された識別子によって識別される入力データに変更する(S860)。
図9は、S810およびS860の処理の詳細を示す。表計算装置30は、S810においては全ての入力データについて、S860においては更新された入力データを直接的にまたは間接的に参照する入力データについて、以下の処理を行う。
入力データ選択部330は、内部スプレッドシート24と同一の構造を有する、複数の入力データの数に応じた数のテンポラリ・シートを生成する(S900)。なお、既にテンポラリ・シートが生成されている場合には、複数の入力データの数と比較して不足する数のテンポラリ・シートを生成すればよい。例えば入力データの数が増加したことを条件に、入力データ選択部330は、増加した入力データの数に応じたテンポラリ・シートを新たに生成する。
次に、データ出力部350は、内部出力セル230に設定された計算式の計算結果を記録するためのテンポラリ・フィールドを生成する(S910)。なお、既にテンポラリ・フィールドが生成されている場合には、記録すべき計算結果の数と比較して不足するサイズの領域のみを生成すればよい。即ち、データ出力部350は、複数の入力データの数が増加したことを条件に、増加した入力データの数に応じたサイズのテンポラリ・フィールドを生成する。
次に、入力データ選択部330は、それぞれのテンポラリ・シートにおける内部入力セル220に対応するテンポラリ・セルのそれぞれの値として、外部入力セル200に記録された複数の入力データのそれぞれを選択する(S920)。この処理は、例えば、次のように実装されてもよい。表計算装置30は、更新されて再計算すべきセルを管理するキュー構造のデータ(以下、単にキューと呼ぶ)を有する。入力データ選択部330は、S920において、上記それぞれのテンポラリ・セルをキューに加える。
計算部340は、それぞれのテンポラリ・シートに設定された計算式によって、それぞれのテンポラリ・セルの値に対し計算を行う(S930)。この処理は例えば以下のように実装される。計算部340は、このキューの先頭からセルを1ずつ取り出し、そのセルの値を再計算する。セルに値自体が記録されている場合には計算部340は何ら計算をせず、そのセルを参照している他の全てのセルを探し出してキューに加える。例えば、計算部340は、テンポラリ・セルをキューから取り出した場合に、そのテンポラリ・セルの値を参照する計算式が設定された他のセルをキューに加える。セルに計算式が設定されている場合には、計算部340はそのセルの計算式の計算を行ってから、その計算結果を参照する他のセルをキューに加える。例えば計算部340は、テンポラリ・セルを参照する他のセルをキューから取り出した場合に、当該他のセルに設定された計算式の計算を行い、その計算結果を参照する他のセルをキューに加える。
データ出力部350は、それぞれの入力データに対して計算部340が計算式の計算を行った計算結果を、テンポラリ・フィールドに記録する(S940)。そして、データ出力部350は、テンポラリ・フィールドに記録された計算結果を、外部出力セル210中に表示すべきデータとして出力する(S950)。このデータを直接的にまたは間接的に参照する他の計算式が外部スプレッドシート22中に含まれている場合には、当該他の計算式の計算結果が更に更新される。この処理もキューを用いて統一的な実装により実現できる。例えばデータ出力部350は、計算結果が外部出力セル210に出力されたことに応じ、外部出力セル210をキューに加える。計算部340は、外部出力セル210をキューから取り出すと、それを参照する他の複数のセルの計算を行う。
以上、図9を参照して説明した処理によれば、外部スプレッドシート22から内部スプレッドシート24への入力データの受渡しのみを対応情報26に基づいて行い、その他の部分はキューを用いた統一的な実装で表計算を実現することができる。これにより、繰返し処理などの計算処理を新たに実現しつつも、従来の表計算システムを使い慣れた利用者にとって直感的で分かり易い機能を提供できる。
図10は、S860における処理の詳細を示す。内部スプレッドシート24の表示に関し表示部360は以下の処理を行う。表示部360は、内部入力セル220に表示した入力データの、外部入力セル200に記録された複数の入力データ中の配列順序を示す識別子(上述のインデックス)を、内部スプレッドシート24に対応付けて表示する(S1000)。インデックスの表示箇所は、例えば、図7に例示したセルB1などのセルである。これに代えて、インデックスは、内部スプレッドシート24を他のスプレッドシートから区別して選択するためのタグ(例えば図7左下部分)に表示されてもよい。
表示部360は、複数の入力データの何れかを内部入力セル220に表示する(S1010)。例えば、図7に例示したセルC3には、複数の銘柄名のうちの1つが表示される。表示される入力データは、外部入力セル200に記録された複数の入力データのうち、上述のインデックスにより指定された順序で配列された入力データである。次に表示部360は、この入力データを参照する計算式が設定された内部出力セル230に、外部入力セル200に表示した入力データに対する計算結果を表示する(S1020)。例えば、図7に例示したセルC7には、セルC3に表示された銘柄の株式についての損益が表示される。
以上、図1から図10を参照して説明したように、本実施形態に係る表計算装置30によれば、複数の入力データに対する繰返しの処理を簡便な操作によって実現させることができる。これにより、多量のデータに対する一括処理などを、プログラムを作成することなく手軽に実現することができる。本実施形態に係る表計算装置30によって実現される繰返し処理は、他の繰返し処理を更に包含し、または、他の繰返し処理に包含されていてもよい。このような入れ子構造の繰返し処理の一例を以下に示す。
図11は、スプレッドシートの他の例を示す。左図はスプレッドシート1200の概念図であり、右図は、このスプレッドシート1200のあるセルに記録されたデータの一例を示す。このセルには、XML(eXtensible Markup Language)で記述されたデータが記録されている。このデータは階層構造をなし、最上位の階層に複数のgroupタグを含む。groupタグの開始タグから終了タグまでに記述されたデータが1つの入力データを構成する。即ち、複数のgroupタグは複数の入力データを構成する。また、1つのgroupタグの開始タグから終了タグまでの間には、複数のpersonタグが記述される。
図12は、当該他の例のスプレッドシートに基づく処理の概念図である。取得部300は、第1のシートであるスプレッドシート1200と、第2のシートであるスプレッドシート1210とに加えて、第3のシートであるスプレッドシート1220を取得する。入力データ選択部330は、上述の例と同様に、スプレッドシート1200内における複数の入力データ(ここではXML文書)を記録したセルが、スプレッドシート1210内のセルに対応付けられたことに応じて、当該複数の入力データのそれぞれをスプレッドシート1210内の当該セルの値として選択する。例えば、groupタグの開始タグから終了タグまでの間に記述されたデータが、スプレッドシート1210内のセルの値として選択される。
更に、入力データ選択部330は、スプレッドシート1210内における複数の入力データ(ここではgroupタグの開始タグから終了タグまでの間のデータ)を記録したセルが、スプレッドシート1220内のセルに対応付けられたことに応じて、当該複数の入力データのそれぞれをスプレッドシート1220内の当該セルの値として選択する。例えば、personタグの開始タグから終了タグまでの間に記述されたデータが、スプレッドシート1220内のセルの値として選択される。スプレッドシート1220には、1つのpersonタグによって記述されたデータに対する計算式が記述される。計算部340は、それぞれの入力データがスプレッドシート1220中のセルの値として選択されたことに応じて、スプレッドシート1220内のこのセル以外のセルに設定された、このセルを参照する計算式の計算を行う。これにより、例えば、nameタグに対応する値のhanakoやageタグに対応する値の24などを参照可能とすることができる。
以上、図11および図12を参照して説明したように、複数の繰返し処理を入れ子構造で実行させることもできる。この場合、それぞれの階層のスプレッドシートには、1階層分のデータに対する処理のみを記述すればよい。これにより、XML文書などの多重階層のデータについての処理を手軽に実現可能とすることができる。
次に、本実施形態に係る表計算装置30をスプレッドシート以外のデータに適用した例を説明する。インターナショナル・ビジネスマシーンズ・コーポレーションによって、ADIEU(Ad Hoc Development and Integration tool for End Users)というシステムが開発されている。このシステムは、複数のウェブページから構成されるウェブアプリケーションを手軽に作成可能とする。ADIEUにおいて、ウェブページやプログラム、或いは、プログラムによって参照される一群のデータは、カードと呼ばれるウィンドウで表される。利用者は、それぞれのカードの中のセルにデータを書き込むことによって、ウェブページの表示内容やプログラムの動作内容を定めることができる。また、利用者は、一のカードと他のカードとの間に参照関係を作成することができる。これにより、ウェブページ間のハイパーリンクや、データの参照関係を定義することができる。
図13は、ADIEUシステムにおける従来例を示す。この例に示すウェブアプリケーションプログラムは、図2から図4に示すスプレッドシートと同様、複数銘柄の株式の損益を計算する。このプログラムは、カードA、カードB、カードC、カードDおよびカードEによって表される。カードBおよびカードEは変数の定義を示す。具体的には、カードBは、stockNamesという配列変数の内容が、AAA、…であることを示す。また、qtysという配列変数の内容が、200、…であることを示す。また、pricesという配列変数の内容が80、…であることを示す。カードEは、totalという変数の値が0であることを示す。totalという変数は計算結果を格納するための変数であり、計算が完了していない場合には初期値である0を格納している。
カードAは繰返し処理の制御を示す。この制御によって、カードCおよびカードDによって示される処理が、配列変数stockNamesの要素数と同じ回数だけ繰り返される。また、カードAは、この繰返し処理を繰り返す毎に1増加する変数counterを定義している。カードCは、配列変数sotckNamesの先頭から数えて変数counterの値と等しい順番の要素を取り出し、その銘柄名の株式の現在価格を取得するプログラムを示す。カードDは、カードCのプログラムで取得された現在価格から、その株式の買価を差し引き、その株式の株数を乗じて、カードEで定義された変数totalに代入するプログラムを示す。
このように、従来のADIEUシステムで繰返し処理を実現するには、counterという誘導変数を導入して、繰返し処理の各回における処理の詳細を定義しなければならない。このような定義は、プログラムの作成に熟練した利用者でなければ困難な場合がある。また、この例で、利用者は合計の損益しか参照することができず、それが計算される過程で計算された各銘柄の損益などを参照できない。このため、データや計算に誤りがある場合には、誤りの原因箇所を特定することが難しい。
図14は、本実施形態に係る表計算装置30をADIEUシステムに適用した適用例を示す。表計算装置30をADUIEシステムに適用することにより、利用者は、各カードのセルに必要な値を入力するのみで、明示的に繰返し処理を定義することなく繰返し処理を実現することができる。具体的には、図14におけるウェブアプリケーションプログラムは、カードB、カードC、カードEおよびカードFによって表される。カードBは、図13のカードBと同様に、配列変数stockNamesと、配列変数qtysと、配列変数pricesの内容の定義を示す。更に、カードBは、配列変数gainsAndLossesを定義する。また、カードEは、変数totalを定義する。カードBおよびカードEは、スプレッドシートの例における第1のスプレッドシートに相当し、配列変数stockNames、配列変数qtys、および、配列変数pricesは、それぞれ入力データに相当する。
また、カードCおよびカードFは、スプレッドシートの例における第2のスプレッドシートに相当する。カードFは、変数stockNameと、変数qtyと、変数priceとを示す。図中の矢印は対応付けを示す。変数stockNameは、配列変数stockNamesに対応付けられており、変数qtyは、配列変数qtysに対応付けられており、変数priceは、配列変数pricesに対応付けられている。これらの対応付けに応じ、入力データ選択部330は、カードBの配列変数の複数の要素のそれぞれを、カードFの変数の要素として順次選択する。例えば、入力データ選択部330は、配列変数stockNamesのそれぞれの要素を、変数stockNameの要素として順次選択する。図14には、第1要素が選択された場合の状態を示す。
カードFは、更に、gainOrLossという変数を定義する。この変数の定義を示すセルには、計算式が設定されている。計算式は、カードCで計算された株式の現在価格から、入力データ選択部330によって選択された株式の買価を差し引き、入力データ選択部330によって選択された株式の株数を乗じる計算を示す。また、変数gainOrLossは、カードBの配列変数gainsAndLossesに対応付けられている。データ出力部350は、この対応付けに応じ、変数gainOrLossの値を配列変数gainsAndLossesの各要素として出力する。
以上、図14に示す例によっても、スプレッドシートの例と同様に、簡素な入力操作で繰返し処理を手軽に作成することができる。このように、本実施形態に係る表計算装置30は、セルとそれを参照する計算とを定義する形態のシステムであれば、表計算システムのみならず幅広く応用が可能である。
図15は、表計算システム10として機能する情報処理装置500のハードウェア構成の一例を示す。情報処理装置500は、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、及びグラフィックコントローラ1075を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、情報処理装置500が使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020又はハードディスクドライブ1040に提供する。
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、情報処理装置500の起動時にCPU1000が実行するブートプログラムや、情報処理装置500のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、入出力チップ1070を介してRAM1020またはハードディスクドライブ1040に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
情報処理装置500に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して、記録媒体から読み出され情報処理装置500にインストールされて実行される。プログラムが情報処理装置500等に働きかけて行わせる動作は、図1から図14において説明した表計算システム10における動作と同一であるから、説明を省略する。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置500に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。例えば、入力データ選択部330は、予め指定された外部入力セルに単一の入力データが記録されていることを条件に、その入力データを、複数のテンポラリ・シートに対応する内部入力セルの値として複数回選択してもよい。この場合、この単一の入力データに対する計算が複数のテンポラリ・シートにおいて複数回行われる。このような仕組みは、外部スプレッドシートで定義した定数を、内部スプレッドシートで参照可能とさせる場合に有効である。なお、外部スプレッドシート中で複数の入力データを持つセルが複数あり、それらが内部スプレッドシート中のセルに対応づけられているとき、それらの外部スプレッドシート中のセル中のデータ要素の数が互いに異なる場合がある。その場合には、最大の要素数に応じた繰り返し計算をし、データが不足するセルについては特定の設定値で代用する、もしくは最小の要素数に応じた繰り返し計算をし、余分なデータ要素については無視する、といった設定を選択できるようにすることも可能である。また、更に他の例として、内部スプレッドシートのセルの値は、その内部スプレッドシート内に設定された計算式、または、その内部スプレッドシートを外部スプレッドシートとする他の内部スプレッドシート内に設定された計算式からのみ参照可能としてもよい。このようにすることで、複数のテンポラリ・シートが生成されることによって生じる参照先の曖昧さを排除して、表計算システム10の開発・保守管理や利用者の操作を容易とすることができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
図1は、表計算システム10の全体構成を示す。 図2は、データベース20に含まれる第1のシートの一例である外部スプレッドシート22を示す。 図3は、データベース20に含まれる第2のシートの一例である内部スプレッドシート24を示す。 図4は、データベース20に含まれる対応情報26の一例を示す。 図5は、表計算装置30の機能構成を示す。 図6は、表示部360による外部スプレッドシート22の表示例を示す。 図7は、表示部360による内部スプレッドシート24の表示例を示す。 図8は、スプレッドシートに記録されたデータに基づく計算の処理過程を示す。 図9は、S810およびS860の処理の詳細を示す。 図10は、S860における処理の詳細を示す。 図11は、スプレッドシートの他の例を示す。 図12は、当該他の例のスプレッドシートに基づく処理の概念図である。 図13は、ADIEUシステムにおける従来例を示す。 図14は、本実施形態に係る表計算装置30をADIEUシステムに適用した適用例を示す。 図15は、表計算システム10として機能する情報処理装置500のハードウェア構成の一例を示す。
符号の説明
10 表計算システム
20 データベース
22 外部スプレッドシート
24 内部スプレッドシート
26 対応情報
30 表計算装置
200 外部入力セル
210 外部出力セル
220 内部入力セル
230 内部出力セル
300 取得部
310 記憶部
320 判断部
330 入力データ選択部
340 計算部
350 データ出力部
360 表示部
370 入力部
380 アクセス制御部
500 情報処理装置
1200 スプレッドシート
1210 スプレッドシート
1220 スプレッドシート

Claims (12)

  1. シート内の各セルに対し、当該セルの値を算出する計算式を設定することにより計算処理を行うシステムであって、
    第1のシート、第2のシート、および、第1のシート中のセルと第2のシート中のセルとを対応付ける対応情報を記憶する記憶部と、
    前記対応情報により、前記第1のシート内における複数の入力データを記録した1又は複数のセルが、前記第2のシート内の第1セルに対応付けられていると判断したことに応じて、前記複数の入力データのそれぞれを前記第1セルの値として順次選択する入力データ選択部と、
    前記入力データ選択部により、それぞれの入力データが前記第1セルの値として選択されたことに応じて、前記第2のシート内の前記第1セル以外のセルに設定された、前記第1セルを参照する計算式の計算を行う計算部と、
    それぞれの入力データに対して前記計算部が前記計算式の計算を行った計算結果を、前記対応情報により、前記第2のシート内における前記計算式が設定されたセルに対応付けられた、前記第1のシート内の1又は複数の第2セルの値として出力するデータ出力部と
    を備えるシステム。
  2. 前記複数の入力データを記録した1又は複数のセルが第1セルに対応付けられたことに応じて、前記第2のシート内の前記計算式が複数の入力データに対し適用されることを示すシンボル表示する表示部
    を更に備える請求項に記載のシステム。
  3. 前記表示部は、前記第1セルに前記複数の入力データを何れかを表示し、前記計算式が設定されたセルに、前記第1セルに表示した当該入力データに対する計算結果を表示する
    請求項に記載のシステム。
  4. 前記表示部は、前記第1セルに表示した当該入力データの前記複数の入力データの中の配列順序を示す識別子更に表示する
    請求項に記載のシステム。
  5. 前記入力データ選択部は、前記第2のシートと同一の構造を有する、前記複数の入力データの数に応じた数のテンポラリ・シートを生成し、それぞれの前記テンポラリ・シートにおける前記第1セルに対応するテンポラリ・セルのそれぞれの値として、前記複数の入力データのそれぞれを選択し、
    前記計算部は、それぞれの前記テンポラリ・シートに設定された計算式によって、それぞれの前記テンポラリ・セルの値に対し計算を行い、
    前記データ出力部は、前記計算結果を記録するためのテンポラリ・フィールドを生成し、それぞれの入力データに対して前記計算部が前記計算式の計算を行った計算結果を、前記テンポラリ・フィールドに記録し、前記テンポラリ・フィールドに記録された計算結果を前記第2セルに出力する
    請求項に記載のシステム。
  6. 前記複数の入力データが更新されたかを判断する判断部を更に備え、
    前記計算部は、前記入力データの数が増加したことを条件に、増加した入力データの数に応じた前記テンポラリ・シートを生成する
    請求項に記載のシステム。
  7. 前記データ出力部は、前記入力データの数が増加したことを条件に、増加した入力データの数に応じたサイズの前記テンポラリ・フィールドを生成する
    請求項に記載のシステム。
  8. 前記複数の入力データを記録した1又は複数のセルが第1セルに対応付けられたことに応じて、前記第1セルおよび前記第2セルに対する利用者による値の変更を禁止するアクセス制御部を更に備える請求項1に記載のシステム。
  9. 前記複数の入力データのそれぞれが更新されたかを判断する判断部を更に備え、
    前記入力データ選択部は、前記複数の入力データの何れかが更新されたことに応じ、更新された前記入力データを前記第1セルの値として選択し、
    前記計算部は、更新された前記入力データに対し、前記第1セルを参照する前記計算式の計算を行い、
    前記データ出力部は、更新された前記入力データに対して前記計算部が前記計算式の計算を行った計算結果を出力する
    請求項1に記載のシステム。
  10. 前記記憶部は、第3のシート、および、第2のシート中のセルと第3のシート中のセルとを対応付ける対応情報を更に記憶し、
    前記対応情報により、前記入力データ選択部は、前記第2のシート内における複数の入力データを記録した1又は複数のセルが、前記第3のシート内の第3セルに対応付けられていると判断したことに応じて、当該複数の入力データのそれぞれを前記第3セルの値として順次選択し、
    前記計算部は、前記入力データ選択部により、それぞれの入力データが前記第3セルの値として選択されたことに応じて、前記第3のシート内の前記第3セル以外のセルに設定された、前記第3セルを参照する計算式の計算を行う
    請求項に記載のシステム。
  11. シート内の各セルに対し、当該セルの値を算出する計算式を設定することによりコンピュータを用いて計算処理を行う方法であって、
    前記コンピュータが、第1のシート、第2のシート、および、第1のシート中のセルと第2のシート中のセルとを対応付ける対応情報を、前記コンピュータの記憶部に記憶する記憶段階と、
    前記コンピュータが、前記対応情報により、前記第1のシート内における複数の入力データを記録した1又は複数のセルが、前記第2のシート内の第1セルに対応付けられていると判断したことに応じて、前記複数の入力データのそれぞれを前記第1セルの値として順次選択する入力データ選択段階と、
    前記入力データ選択段階により、それぞれの入力データが前記第1セルの値として選択されたことに応じて、前記コンピュータが、前記第2のシート内の前記第1セル以外のセルに設定された、前記第1セルを参照する計算式の計算を行う計算段階と、
    前記コンピュータが、それぞれの入力データに対して前記計算段階において前記計算式の計算を行った計算結果を、前記対応情報により、前記第2のシート内における前記計算式が設定されたセルに対応付けられた、前記第1のシート内の1又は複数の第2セルの値として出力するデータ出力段階と
    を備える方法。
  12. シート内の各セルに対し、当該セルの値を算出する計算式を設定することにより計算処理を行うシステムとして、情報処理装置を機能させるプログラムであって、
    前記情報処理装置を、
    第1のシート、第2のシート、および、第1のシート中のセルと第2のシート中のセルとを対応付ける対応情報を記憶する記憶部と、
    前記対応情報により、前記第1のシート内における複数の入力データを記録した1又は複数のセルが、前記第2のシート内の第1セルに対応付けられていると判断したことに応じて、前記複数の入力データのそれぞれを前記第1セルの値として順次選択する入力データ選択部と、
    前記入力データ選択部により、それぞれの入力データが前記第1セルの値として選択されたことに応じて、前記第2のシート内の前記第1セル以外のセルに設定された、前記第1セルを参照する計算式の計算を行う計算部と、
    それぞれの入力データに対して前記計算部が前記計算式の計算を行った計算結果を、前記対応情報により、前記第2のシート内における前記計算式が設定されたセルに対応付けられた、前記第1のシート内の1又は複数の第2セルの値として出力するデータ出力部と
    して機能させるプログラム。
JP2006068746A 2006-03-14 2006-03-14 表計算などの処理を行うシステムおよびその方法 Expired - Fee Related JP4140919B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006068746A JP4140919B2 (ja) 2006-03-14 2006-03-14 表計算などの処理を行うシステムおよびその方法
CNA200710084440XA CN101038584A (zh) 2006-03-14 2007-03-02 用于执行计算处理的系统和方法
KR1020070021473A KR100951132B1 (ko) 2006-03-14 2007-03-05 표 계산 등의 처리를 실행하는 시스템 및 그 방법
US11/685,267 US7783966B2 (en) 2006-03-14 2007-03-13 System and method for performing processing, such as spreadsheet processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006068746A JP4140919B2 (ja) 2006-03-14 2006-03-14 表計算などの処理を行うシステムおよびその方法

Publications (2)

Publication Number Publication Date
JP2007249328A JP2007249328A (ja) 2007-09-27
JP4140919B2 true JP4140919B2 (ja) 2008-08-27

Family

ID=38519437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006068746A Expired - Fee Related JP4140919B2 (ja) 2006-03-14 2006-03-14 表計算などの処理を行うシステムおよびその方法

Country Status (4)

Country Link
US (1) US7783966B2 (ja)
JP (1) JP4140919B2 (ja)
KR (1) KR100951132B1 (ja)
CN (1) CN101038584A (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8635125B2 (en) * 2007-07-03 2014-01-21 Microsoft Corporation Automatic calculation with multiple editable fields
US20090228776A1 (en) * 2008-03-05 2009-09-10 Microsoft Corporation Dynamic formulas for spreadsheet cells
JP5380874B2 (ja) * 2008-03-24 2014-01-08 富士通株式会社 情報検索方法、プログラム及び装置
US9389840B2 (en) * 2009-02-11 2016-07-12 Johnathan Mun Compiled and executable method
US9275031B2 (en) * 2009-10-09 2016-03-01 Microsoft Technology Licensing, Llc Data analysis expressions
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
CN102222109B (zh) * 2011-06-28 2014-05-07 用友软件股份有限公司 数据处理装置和数据处理方法
US8959423B2 (en) 2011-06-28 2015-02-17 International Business Machines Corporation Drill-through lens for generating different types of reports
US10824802B2 (en) * 2011-12-29 2020-11-03 Bibo Labs, Inc. Spreadsheet-based programming language adapted for report generation
US10140269B2 (en) * 2013-03-12 2018-11-27 Microsoft Technology Licensing, Llc Viewing effects of proposed change in document before committing change
US9760271B2 (en) * 2014-07-28 2017-09-12 International Business Machines Corporation Client-side dynamic control of visualization of frozen region in a data table
CN104239686B (zh) * 2014-08-12 2017-04-12 浪潮通用软件有限公司 一种基于内存计算在全面预算中实现公式计算的方法
US9990349B2 (en) 2015-11-02 2018-06-05 Microsoft Technology Licensing, Llc Streaming data associated with cells in spreadsheets
US10997364B2 (en) * 2015-11-02 2021-05-04 Microsoft Technology Licensing, Llc Operations on sound files associated with cells in spreadsheets
EP3411800A1 (en) * 2016-02-01 2018-12-12 Microsoft Technology Licensing, LLC Parameterizing and working with math equations in a spreadsheet application
US11726753B2 (en) 2016-12-03 2023-08-15 Thomas STACHURA Spreadsheet-based software application development
US10540153B2 (en) 2016-12-03 2020-01-21 Thomas STACHURA Spreadsheet-based software application development
US10216494B2 (en) 2016-12-03 2019-02-26 Thomas STACHURA Spreadsheet-based software application development
US11048695B2 (en) * 2017-09-12 2021-06-29 Sap Se Context-aware data commenting system
US11010143B2 (en) * 2018-09-28 2021-05-18 Salesforce.Com, Inc. Executing formulas written using formula language
CN109658215A (zh) * 2018-12-10 2019-04-19 平安科技(深圳)有限公司 交易台账计算方法、装置及计算机可读存储介质
CN111079395A (zh) * 2019-11-18 2020-04-28 北京明略软件系统有限公司 一种实现信息处理的方法、装置、计算机存储介质及终端
US11636254B2 (en) * 2021-02-05 2023-04-25 Microsoft Technology Licensing, Llc Provenance aware editing for spreadsheets
US11893343B2 (en) * 2021-11-08 2024-02-06 Microsoft Technology Licensing, Llc Multiple datapoint formats in spreadsheets

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2074769C (en) * 1991-08-09 2001-03-20 International Business Machines Corporation Formula processor
JPH08305777A (ja) * 1995-05-10 1996-11-22 Casio Comput Co Ltd 表データ処理装置
WO2001059675A1 (en) * 2000-02-11 2001-08-16 Ryan Mark H Method and system for distributing and collecting spreadsheet information
US6912690B2 (en) * 2000-10-24 2005-06-28 International Business Machines Corporation Method and system in an electronic spreadsheet for persistently copy-pasting a source range of cells onto one or more destination ranges of cells
US6877021B2 (en) * 2001-03-28 2005-04-05 Classic Solutions Pty Limited Calculation method and apparatus
US7761403B2 (en) * 2001-06-20 2010-07-20 Oracle International Corporation Run-time optimizations of queries with SQL spreadsheet
US7251776B2 (en) * 2001-07-13 2007-07-31 Netview Technologies, Inc. System and method for efficiently and flexibly utilizing spreadsheet information
US7010779B2 (en) * 2001-08-16 2006-03-07 Knowledge Dynamics, Inc. Parser, code generator, and data calculation and transformation engine for spreadsheet calculations
JP2003067550A (ja) * 2001-08-27 2003-03-07 Toshiba Corp 経営シミュレーションシステム、経営シミュレーション方法及び経営シミュレーションプログラム
JP2003099702A (ja) 2001-09-26 2003-04-04 Nec Miyagi Ltd データ編集方法、装置及びプログラム
JP3846306B2 (ja) * 2001-12-26 2006-11-15 カシオ計算機株式会社 表処理装置およびプログラム
EP1546822A4 (en) * 2002-09-18 2008-07-02 Netezza Corp ASYMMETRIC DATA STREAMING ARCHITECTURE WITH AN AUTONOMOUS AND ASYNCHRONOUS JOB PROCESSING UNIT
JP2004280705A (ja) * 2003-03-18 2004-10-07 Mitsubishi Electric Corp 帳票作成装置
US7143340B2 (en) * 2003-06-27 2006-11-28 Microsoft Corporation Row sharing techniques for grid controls
WO2006095365A2 (en) * 2005-03-11 2006-09-14 Suresh Sambandam A system and method of defining a hierarchical datamodel and related computation and instruction rules using spreadsheet like user interface
US7747939B2 (en) * 2005-05-31 2010-06-29 Microsoft Corporation Generating free form reports within a data array
US8560953B2 (en) * 2005-09-23 2013-10-15 International Business Machines Corporation Provisioning a portlet viewer for viewing drag-and-drop content in a portal environment
US7505977B2 (en) * 2005-09-27 2009-03-17 International Business Machines Corporation Method for dynamically updating a websheet configuration

Also Published As

Publication number Publication date
JP2007249328A (ja) 2007-09-27
KR100951132B1 (ko) 2010-04-07
CN101038584A (zh) 2007-09-19
KR20070093816A (ko) 2007-09-19
US20070220416A1 (en) 2007-09-20
US7783966B2 (en) 2010-08-24

Similar Documents

Publication Publication Date Title
JP4140919B2 (ja) 表計算などの処理を行うシステムおよびその方法
US9690875B2 (en) Providing search results for mobile computing devices
US8645812B1 (en) Methods and apparatus for automated redaction of content in a document
US8495102B2 (en) Method, system, and program product for organizing a database
US9081466B2 (en) Dynamic chart control that triggers dynamic contextual actions
JP4538284B2 (ja) 情報検索システム、情報検索端末、並びに、プログラムおよび記録媒体
US8584009B2 (en) Automatically propagating changes in document access rights for subordinate document components to superordinate document components
US20070005630A1 (en) Modifying table definitions within a database application
KR20060046217A (ko) 사용자 지정 스프레드시트 함수를 지원하는 방법 및 시스템
US9152656B2 (en) Database data type creation and reuse
US20180121523A1 (en) Selecting supplemental content for inclusion in a search results page
US7681175B2 (en) Methods and systems for displaying multiple unique dynamic messages on a user interface
CN111095335A (zh) 单一视图中基于搜索结果的列表生成
US10503823B2 (en) Method and apparatus providing contextual suggestion in planning spreadsheet
US8433729B2 (en) Method and system for automatically generating a communication interface
JP2006024158A (ja) 分類案内装置
US9069747B2 (en) Methods, apparatus, systems and computer readable mediums for use in association with electronic spreadsheets
JP4461034B2 (ja) 利用権発行方法、利用権発行装置、および利用権システム
JP5706306B2 (ja) リンクされたテキストボックスを有する電子文書のレンダリングの方法、レンダリングする指示を含むコンピューターが読み取り可能な記憶媒体及びシステム
JP4053920B2 (ja) 文書管理システム、文書生成方法、登録方法およびプログラム
JP4828318B2 (ja) 複数様式帳票統合印刷方法、システム及びプログラム
JP2005267195A (ja) 階層化文書情報生成装置、階層化文書情報生成方法および階層化文書情報生成プログラム
US20240152494A1 (en) Optimizing metadata enrichment of data assets
US20230205792A1 (en) Using an Object Model to View Data Associated with Data Marks in a Data Visualization
JP2006079365A (ja) 情報検索システム、情報提供装置、情報検索方法、並びに、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080116

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080129

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080515

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080603

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080606

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees