(57)【要約】【課題】データベースの知識や環境整備の必要がなく、表合成を容易に行うことができるデータ管理システムを提供する。【解決手段】プロセッサユニット１で、複数のスプレッドシート（表）を合成するための合成用シート（合成表）を記録し、外部記憶装置２に記録しておく。マウス操作によってユーザが指定した表と合成表とを比較し、特定の列において同一データとなるセルが存在する場合は、その表の当該セルが属する行のデータを合成表の当該セルが属する行にマージし、その表のみに存在するセルが属する行については、合成表に新たな行のデータとして追加する。さらに、合成表のマージ又は追加された行に各表を識別するためのフラグを記録し、合成表のデータの関係をフラグの組合せに基づいて特定できるようにする。【選択図】　　　図１
2004102400.tif 000002
【特許請求の範囲】
【請求項１】
表示装置、入力装置及びデータ記録装置との接続を可能にする接続インタフェース部品を具備し、さらに、
行、列の表形式データ構造をもつスプレッドシートと、そのスプレッドシートに含まれる特定列とをユーザに指定させるための指定用画面を前記表示装置に表示する画面表示手段と、
表示された前記指定用画面に従いユーザが前記入力装置を通じて指定したスプレッドシート及び特定列を受け付ける指定受付手段と、
行、列の表形式データ構造をもつ合成用シートを生成し、生成した合成用シートを前記データ記録装置に記録する合成用シート記録手段と、
前記指定受付手段で受け付けたスプレッドシートと前記データ記録装置に記録されている合成用シートとをそれぞれの行及び列の交差領域であるセル単位で比較するデータ比較手段と、
このデータ比較手段による比較の結果、前記特定列において同一データとなるセルが属する前記スプレッドシートの行を前記合成用シートの当該セルが属する行にマージし、前記特定列において前記スプレッドシートのみに存在するセルが属する行を前記合成用シートに新たな行として追加し、さらに、前記合成用シートのマージ又は追加された行に、そのスプレッドシートを一意に識別するためのフラグを記録するシート合成手段とを有し、
このシート合成手段により前記合成用シートにその行がマージ又は追加された複数のスプレッドシートの関係が前記フラグの組合せに基づいて特定可能に構成されている、
データ管理システム。
【請求項２】
合成対象となる複数のスプレッドシートが予め前記データ記録装置に記録されており、
前記入力装置は、前記記録されている複数のスプレッドシートのいずれかとそのスプレッドシートに含まれる特定列とを前記指定用画面上でユーザに指定させるためのポインティングデバイスを含むものである、
請求項１記載のデータ管理システム。
【請求項３】
前記フラグの組合せ態様が同一となる行の数をその組合せ態様毎に計数し、この計数結果を前記合成用シートにその行がマージ又は追加された複数のスプレッドシート間の論理条件判定結果として特定する論理条件判定手段をさらに有する、
請求項１記載のデータ管理システム。
【請求項４】
前記フラグの組合せ態様を数値に変換する数値変換手段をさらに備え、この数値変換手段により変換された数値と前記論理条件判定手段による判定結果とを対応付けて記録するように構成されている、
請求項３記載のデータ管理システム。
【請求項５】
前記画面表示手段は、前記論理条件判定手段による判定結果を前記表示装置に画像により表現する、
請求項３記載のデータ管理システム。
【請求項６】
前記画面表示手段は、個々のフラグにより識別されるスプレッドシートを、その面積が行の数に対応するベン図に変換するとともに、個々の行が含まれる複数のスプレッドシート間の論理積の判定結果を前記ベン図の重なりで表現する、
請求項５記載のデータ管理システム。
【請求項７】
前記画面表示手段は、前記複数のスプレッドシート間の論理条件判定結果を真理値表画像で表現する、
請求項５記載のデータ管理システム。
【請求項８】
前記スプレッドシート及び前記合成用シートにおける行のデータが列のデータであり、前記特定列を含む列のデータが行のデータである、
請求項１ないし７のいずれかの項記載のデータ管理システム。
【請求項９】
表示装置、入力装置及びデータ記録装置との接続を可能にする接続インタフェース部品を具備するコンピュータが、所定のコンピュータプログラムを読み込んで実行することにより、
行、列の表形式データ構造をもつスプレッドシートと、そのスプレッドシートに含まれる特定列とをユーザに指定させるための指定用画面を前記表示装置に表示する処理と、
表示された前記指定用画面に従いユーザが前記入力装置を通じて指定したスプレッドシート及び特定列を受け付ける処理と、
行、列の表形式データ構造をもつ合成用シートを生成し、生成した合成用シートを前記データ記録装置に記録する処理と、
受け付けたスプレッドシートと前記データ記録装置に記録されている合成用シートとをそれぞれの行及び列の交差領域であるセル単位で比較する処理と、
比較の結果、前記特定列において同一データとなるセルが属する前記スプレッドシートの行を前記合成用シートの当該セルが属する行にマージし、前記特定列において前記スプレッドシートのみに存在するセルが属する行を前記合成用シートに新たな行として追加し、さらに、前記合成用シートのマージ又は追加された行に、そのスプレッドシートを一意に識別するためのフラグを記録する処理と、前記合成用シートにその行がマージ又は追加された複数のスプレッドシートの関係を前記フラグの組合せに基づいて特定する処理とを実行することを特徴とする、データ管理方法。
【請求項１０】
表示装置、入力装置及びデータ記録装置との接続を可能にする接続インタフェース部品を具備するコンピュータに、
行、列の表形式データ構造をもつスプレッドシートと、そのスプレッドシートに含まれる特定列とをユーザに指定させるための指定用画面を前記表示装置に表示する処理と、
表示された前記指定用画面に従いユーザが前記入力装置を通じて指定したスプレッドシート及び特定列を受け付ける処理と、
行、列の表形式データ構造をもつ合成用シートを生成し、生成した合成用シートを前記データ記録装置に記録する処理と、
受け付けたスプレッドシートと前記データ記録装置に記録されている合成用シートとをそれぞれの行及び列の交差領域であるセル単位で比較する処理と、
比較の結果、前記特定列において同一データとなるセルが属する前記スプレッドシートの行を前記合成用シートの当該セルが属する行にマージし、前記特定列において前記スプレッドシートのみに存在するセルが属する行を前記合成用シートに新たな行として追加し、さらに、前記合成用シートのマージ又は追加された行に、そのスプレッドシートを一意に識別するためのフラグを記録する処理と、前記合成用シートにその行がマージ又は追加された複数のスプレッドシートの関係を前記フラグの組合せに基づいて特定する処理とを実行させるための、コンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、行、列の表形式データ構造をもつスプレッドシート（ｓｐｒｅａｄｓｈｅｅｔ）の合成を容易にするデータ管理システムに関する。
【０００２】
【従来の技術】
行、列の表形式データ構造をもつスプレッドシートを扱う表計算ソフト（「ソフト」はコンピュータソフトウェアの略、以下同じ）、例えば「Ｅｘｃｅｌ」（マイクロソフトウェア社の商標）がＰＣでよく利用されている。
ユーザが表計算ソフトを利用する目的としては、表計算の他に、スプレッドシートに記入したデータをレポートとして用いたり、スプレッドシートをデータベース（以下、「ＤＢ」と略す）のテーブルの簡易版として用いたりすることが挙げられる。特に、スプレッドシートは、ＤＢテーブルとデータ構造が類似していることから、比較的小さいデータの管理には適している。そのため、表計算ソフトは、ＤＢソフトよりも多くの人に用いられている。
この表計算ソフトを用いてＤＢテーブルと似た結果を得る手段として、ソート機能やフィルタ機能がある。ソート機能は、スプレッドシートの列を指定して、その列のデータを正順又は逆順に並べ替える操作を行うことにより、目的のデータを探しやすくしたりする機能である。フィルタ機能は、スプレッドシートの列を指定して、その列のデータの特定値のもののみを選択したり排除したりする機能である。これらの機能を利用することによって、スプレッドシートの中から特定のデータ群だけを選択したり、強調したりすることができる。これらの機能は、ＤＢテーブルに対する出力データの並び順の指定や検索条件の設定と類似していることもあって、簡易な選択処理であれば、表計算ソフトで容易に実行でき、日常的に行われているものである。
【０００３】
【発明が解決しようとする課題】
このように、表計算ソフトをＤＢソフトの代用として利用することができるが、以下のような問題もある。
（１）一元管理の問題
スプレッドシートでＤＢテーブルを代用する使い方が一般的になってくると、これらが複数散在するときのデータ管理が困難になる場合がある。
例えば、２００２年に年賀状を送る人たちのリストをスプレッドシートで作成した後、そのスプレッドシートに基づいて、翌年（２００３年）の年賀状の宛先リストを作成する場合を考える。宛先リストを作成する場合の１つのケースは、そのまま元のリストを更新登録するケースである。別のケースは、２００２年のリストは保存しておき、２００３年用には、２００２年のリストをコピーして更新登録するケースである。後者のケースでは、年賀状の宛先のみならず、引越しの連絡用、お中元のリスト、暑中見舞いのリスト、知人の住所一覧、同窓会の名簿、携帯の電話番号のリスト等のように、似たようなリストを一つの表をもとに作成していき、それが溜まった場合、その管理に問題が生じる。
【０００４】
この場合、個人ベースのデータであれば、通常はデータの量が少ないので、どれがオリジナルであって、どれが最新であるかの把握は比較的容易であるが、多数の顧客を持つ企業でこのようなことが無秩序に行われると、把握不能に陥る可能性が高くなる。このような状況を避けるためには、何らかの形でデータの一元管理をすることが必要となる。
しかし、一元管理をするためには、ＤＢの知識や利用方法の習得、更にＤＢを利用可能にする環境作りが必要になり、表計算ソフトウェアによる簡易な操作でデータ管理を行いたいユーザの負担が大きくなる。
【０００５】
（２）表合成の困難性
現状の表計算ソフトでは、一つのスプレッドシートの分割（表分割）や一部分のデータ抜き出し等の処理は比較的容易に行えるのに対して、複数のスプレッドシートの合成（表合成）は、「列」の配置や「行」の並び順が共通していなければ、それを一括して行うことができない。スプレッドシートのレイアウトが定まっている場合には、合成の手順を予め記述しておくマクロ機能を用いてそれを自動実行する方法もあるが、マクロを記述するためにはマクロ機能に関する知識を習得してプログラミングすることが必要になる。しかし、マクロを習得してプログラミングできる人材は非常に限られている。加えて、マクロをプログラミングすることは、その操作が繰り返し行われることが前提となっており、一時的に行う操作だけのためにマクロをプログラミングすることは現実的ではない。
【０００６】
また、スプレッドシートを、ＤＢの１テーブルとして変換して登録し、ＤＢに登録されたテーブル間の関係を定義して複数のテーブルを論理的に１つのテーブルのように見せる手法もあるが、この場合にも、ＤＢの知識や利用方法の習得、ＤＢを利用可能にする環境作りが必要になり、ユーザの負担が大きくなるという問題がある。
【０００７】
（３）複合条件でのデータ選択の困難性
ソートないしフィルタリングされたスプレッドシートからのデータ選択には、ＤＢテーブルに対する処理に比較して大きな制限がある。
例えば、チェーン店の販売実績を記録したスプレッドシートについて考える。このスプレッドシートには、チェーン店名、売上金額、売上目標金額、達成率、経費金額、粗利金額、最終利益金額、重点商品Ａの販売点数、重点商品Ｂの販売点数のデータが記録されるものとする。このようなスプレッドシートをもとに、売上金額順のリスト、達成率順のリスト、粗利金額順のリストを作り出すこと自体は、容易に行える。
しかし、売上金額１００万円以下、売上目標達成率６０％以下、粗利金額３０万円以下、という３つの条件に該当するチェーン店を選択するケースのように、条件が複合的になるにつれて困難性が伴ってくる。
【０００８】
例えば、“∩”（アンド）条件によりこの３つの条件のすべてを満たすチェーン店を求める場合は、まず、売上金額の条件を満たすチェーン店だけのリストをソート機能及びフィルタの機能により作成し、更に、この作成したリストから、売上目標達成率の条件を満たすチェーン店に絞込み、最後に、粗利金額の条件で絞り込むことにより、３つの条件のすべてを満たすチェーン店を求める。
“∪”（オア）条件により、これらの３つの条件のいずれかに該当するチェーン店を求める場合は、まず、それぞれの条件を満たす各々のリストを作成することになるが、これらのリストには、同一チェーン店が重複する場合があり、この重複部分を取り除いたリストを作成するには面倒な操作が伴う。
更に、３つの条件が、単に”∩”又は”∪”のみではない、より複雑な条件である場合、例えば、複数の条件が重なる最も問題があるチェーン店がどこで、次に問題があるチェーン店がどこかを求めたい場合には、困難性が顕著になる。
【０００９】
本発明の課題は、上記の問題点を解決すべく、簡単な操作によりスプレッドシートの管理を行うことができるデータ管理システム及びデータ管理方法を提供することにある。
本発明の他の課題は、上記のデータ管理方法をコンピュータに実行させるためのコンピュータプログラムを提供することにある。
【００１０】
【課題を解決するための手段】
本発明が提供するデータ管理システムは、表示装置、入力装置及びデータ記録装置との接続を可能にする接続インタフェース部品を具備し、さらに、行、列の表形式データ構造をもつスプレッドシートと、そのスプレッドシートに含まれる特定列とをユーザに指定させるための指定用画面を前記表示装置に表示する画面表示手段と、表示された前記指定用画面に従いユーザが前記入力装置を通じて指定したスプレッドシート及び特定列を受け付ける指定受付手段と、行、列の表形式データ構造をもつ合成用シートを生成し、生成した合成用シートを前記データ記録装置に記録する合成用シート記録手段と、前記指定受付手段で受け付けたスプレッドシートと前記データ記録装置に記録されている合成用シートとをそれぞれの行及び列の交差領域であるセル単位で比較するデータ比較手段と、このデータ比較手段による比較の結果、前記特定列において同一データとなるセルが属する前記スプレッドシートの行を前記合成用シートの当該セルが属する行にマージし、前記特定列において前記スプレッドシートのみに存在するセルが属する行を前記合成用シートに新たな行として追加し、さらに、前記合成用シートのマージ又は追加された行に、そのスプレッドシートを一意に識別するためのフラグを記録するシート合成手段とを有し、このシート合成手段により前記合成用シートにその行がマージ又は追加された複数のスプレッドシートの関係が前記フラグの組合せに基づいて特定可能に構成されているシステムである。
【００１１】
好ましくは、合成対象となる複数のスプレッドシートを予め前記データ記録装置に記録しておき、前記入力装置を、前記記録されている複数のスプレッドシートのいずれかとそのスプレッドシートに含まれる特定列とを前記指定用画面上でユーザに指定させるためのポインティングデバイスを含んで構成するようにする。このようにすれば、ポインティングデバイスの操作だけでスプレッドシート及び特定列を指定することができる。
【００１２】
合成後のデータの関係を迅速に把握する観点からは、前記フラグの組合せ態様が同一となる行の数をその組合せ態様毎に計数し、この計数結果を前記合成用シートにその行がマージ又は追加された複数のスプレッドシート間の論理条件判定結果として特定する論理条件判定手段をさらに備えてデータ管理システムを構成する。このデータ管理システムにおいて、フラグの組合せ態様を簡易に管理する観点からは、前記フラグの組合せ態様を数値に変換する数値変換手段をさらに備え、この数値変換手段により変換された数値と前記論理条件判定手段による判定結果とを対応付けて記録するようにする。
【００１３】
前記画面表示手段は、前記論理条件判定手段による判定結果を前記表示装置に画像により表現する。より具体的には、個々のフラグにより識別されるスプレッドシートをその面積が行の数に対応するベン図に変換するとともに、個々の行が含まれる複数のスプレッドシート間の論理積の判定結果を前記ベン図の重なりで表現する。あるいは、前記複数のスプレッドシート間の論理条件判定結果を真理値表画像で表現する。真理値表（ｔｒｕｔｈ　ｔａｂｌｅ）は、論理関数を表現するための入力条件とそれに対応した出力値を表にしたものであり、真理値表画像は、この真理値表を画像の形態で表したものである。
ベン図による表現はシンプルであり、また、個々のスプレッドシートのデータサイズと、それらの関係とを一目で直感的に理解できる利点はあるものの４つ以上のスプレッドシートの論理条件判定結果を同時に表示することは困難である。真理値表にはそのような制限がないので、４つ以上の論理条件判定を行う場合には、ベン図ではなく、真理値表画像が好ましい。
【００１４】
なお、前記スプレッドシート及び前記合成用シートにおける行のデータと列のデータの関係は、上述したものと逆の関係であってもよい。すなわち、行のデータを列のデータとし、特定列を含む列のデータを行のデータとしてもよい。
【００１５】
本発明のデータ管理方法は、表示装置、入力装置及びデータ記録装置との接続を可能にする接続インタフェース部品を具備するコンピュータが、所定のコンピュータプログラムを読み込んで実行することにより、行、列の表形式データ構造をもつスプレッドシートと、そのスプレッドシートに含まれる特定列とをユーザに指定させるための指定用画面を前記表示装置に表示する処理と、表示された前記指定用画面に従いユーザが前記入力装置を通じて指定したスプレッドシート及び特定列を受け付ける処理と、行、列の表形式データ構造をもつ合成用シートを生成し、生成した合成用シートを前記データ記録装置に記録する処理と、受け付けたスプレッドシートと前記データ記録装置に記録されている合成用シートとをそれぞれの行及び列の交差領域であるセル単位で比較する処理と、比較の結果、前記特定列において同一データとなるセルが属する前記スプレッドシートの行を前記合成用シートの当該セルが属する行にマージし、前記特定列において前記スプレッドシートのみに存在するセルが属する行を前記合成用シートに新たな行として追加し、さらに、前記合成用シートのマージ又は追加された行に、そのスプレッドシートを一意に識別するためのフラグを記録する処理と、前記合成用シートにその行がマージ又は追加された複数のスプレッドシートの関係を前記フラグの組合せに基づいて特定する処理とを実行することを特徴とする方法である。
【００１６】
本発明のコンピュータプログラムは、表示装置、入力装置及びデータ記録装置との接続を可能にする接続インタフェース部品を具備するコンピュータに、上記の各処理を実行させるためのコンピュータプログラムである。
【００１７】
【発明の実施の形態】
以下、本発明を表計算ソフトに適用した場合の実施形態を説明する。
＜システムの構成＞
図１は、本発明の一実施形態となるデータ管理システムのハードウエア構成図である。このデータ管理システムは、ＲＡＭ等のメモリを搭載したプロセッサユニット１と、外部記憶装置２、入力装置３及び表示装置４との接続インタフェース部品を有するＰＣにより実施することができる。
【００１８】
外部記憶装置２は、一般的にはハードディスク等を用いるが、ハードディスクのほか、ネットワークを経由した外部のシステムに存在するデータソースを含めて外部記憶装置２を構成してもよい。この外部記憶装置２には、それぞれ行、列の表形式データ構造をもつ複数のスプレッドシート及びコンピュータプログラムが記録されており、さらに、同じく、行、列の表形式データ構造をもつ合成用シートを記録するための合成用シート記録領域が形成されている。スプレッドシートについては、その名称（ＩＤ）及び列定義である複数の項目の各々を読み出して表示できるようになっている。
なお、便宜上、以後の説明では、個々のスプレッドシートを「表」、合成用シートを「合成表」と略称する。
【００１９】
上記のコンピュータプログラムは、プロセッサユニット１を動作可能にするためのオペレーティングシステム、表計算ソフト及び表合成プログラムであり、これらの協働によって、ＰＣを本発明のデータ管理システムとして動作させる。表計算ソフトは、オペレーティングシステム上で動作する汎用のソフトウェアであり、例えばマイクロソフトウェア社の”ＥＸＣＥＬ”を用いることができる。
表合成プログラムは、”ＥＸＣＥＬ”のアドインのような拡張機能を実現するプログラムとして実施することができる。すなわち、表計算ソフトの操作メニューの中に「表合成」の欄を埋め込んでおき、ユーザがこの「表合成」を選択することによって実行可能になるプログラムとすることができる。
【００２０】
入力装置３は、合成対象となる表、列の指定、表示装置４に表示させる画面の指定、画面に表示しようとするデータ領域の指定など、ユーザによる操作内容を入力するものであり、マウスその他のポインティングデバイスを含んで構成される。表示装置４は、表合成用あるいはデータ表示用のグラフィック・ユーザ・インタフェースをユーザに提供するもので、ブラウザ機能を有するディスプレイを含んで構成される。
【００２１】
次に、プロセッサユニット１が、コンピュータプログラム、特に表合成プログラムを実行することにより形成される機能について説明する。
本実施形態では、表合成プログラムを実行することで、図２に示す画面表示部１１、指定受付部１２、合成表記録部１３、データ比較部１４、シート合成部１５、論理条件判定部１６、数値変換部１７、データ抽出部１８の各機能ブロックをプロセッサユニット１に構築させる。
【００２２】
画面表示部１１は、表示装置４を通じてユーザにグラフィック・ユーザ・インタフェース（ＧＵＩ）画面を提供する機能である。本実施形態では、合成対象となる表、その表の列に定義された複数の項目のうちキーとなる項目（以下、「キー項目」）等をユーザがマウス操作のみによって指定できるようにする指定用画面と、表を集合として表示するための集合表示画面とが表示装置４の画面に表示されるようにする。このＧＵＩ画面は、複数のページ画面が階層的に用意されており、上位層のページ画面から下位層のページ画面に順次切り替わるようになっている。また、設定にもよるが、指定用画面と集合表示画面とを同一画面に表示させるようにすることもできる。指定用画面により指定可能になるキー項目は、合成対象となる表のセル（行と列とが交差するデータ領域、以下同じ）同士をマッチングさせるための項目である。
【００２３】
指定用画面と集合表示画面とを一つの画面で分割表示する場合のＧＵＩ画面の一例を図３に示す。このＧＵＩ画面の左側表示領域が指定用画面のトップ表示域５１である。このトップ表示域５１において、入力ボタン５２は、合成対象となる複数の表、図示の例では３種類の表１，２，３をユーザに指定させるためのボタンであり、各表に対応する入力枠毎に設けられている。ユーザが、いずれかの入力枠を選び、その入力ボタン５２を押下して表の指定を完結させると、図示のように、各々の入力ボタン５２の下に、外部記憶装置２から読み取った表の名称（表名）、キー項目、その表に記録されているデータの件数が表示される。
【００２４】
ＧＵＩ画面の右側表示領域は集合表示画面５０である。集合表示画面５０は、ユーザが指定した表１，２，３をそれぞれ集合としてみた場合の各集合間の論理条件判定結果が、表名と共に表示される。論理条件判定結果は、ＧＵＩ画面に表示される設定メニュー（図示省略）によって、ベン図又は真理値表画像、並びに、これらの図ないし画像と表形式データとの同時表示を選択できるようになっている。
【００２５】
ベン図表示の場合は、図４の左側に示すように、個々のフラグにより識別される表をその面積が行の数に対応するベン図に変換するとともに、複数の表の論理積の判定結果を、図４の右側に示すように、ベン図の重なりで表現する。真理値表画像による場合は、複数の表の論理和及び論理積の判定結果を図５のような真理値表画像で表現する。
図４のベン図と図５の真理値表画像は、共に同一内容のデータを表している。すなわち、図４において▲５▼、▲６▼、▲７▼で示される領域のデータは、図５の▲５▼、▲６▼、▲７▼で示される領域のデータと同一となる。
【００２６】
なお、図３は、３つの表を合成する場合の例を示すものであるが、入力枠の数は３つ以上であってもよい。
【００２７】
指定受付部１２は、図３のようなＧＵＩ画面に従い、ユーザがマウス操作により指定した内容を特定する機能である。より具体的には、マウスの動きに連動して画面上を移動するポインタの位置と、そのマウスを通じて指定された操作内容とを識別し、識別した内容により、マウス操作の内容を特定する。上述した表１，２，３及びキー項目の指定、ベン図／真理値表画像／表形式データの指定等は、すべて指定受付部１２により特定した内容に基づいて行われる。
【００２８】
合成表記録部１３は、行、列の表形式データ構造をもつ合成表を生成し、生成した合成表を外部記憶装置２の合成表記録領域に記録する機能である。
合成表は、例えば図６に示すレイアウトのものであり、初期状態ではすべてのセルが空状態になっている。合成させる表の数が事前に判明している場合は、その数分のフラグ項目を各行に配置しておく。図６の例では、合成対象となる表の数に合わせて３つのフラグ項目（フラグ１〜フラグ３）配置されている。なお、フラグ項目は、表合成の際に、事後的に配置するようにしてもよい。
【００２９】
データ比較部１４は、ユーザによって指定された表と合成表とをそれぞれの行及び列の交差領域であるセル単位で比較する機能である。すなわち、同じ項目であっても、その項目に分類されるセルの部分のデータが表と合成表との間で異なる場合があるので、その一致性を判定する。
【００３０】
シート合成部１５は、データ比較部１４による比較の結果、キー項目において同一データとなるセルについては、指定された表の当該セルが属する行のデータを合成表の当該セルが属する行にマージし、キー項目において、指定された表のみに存在するセルについては当該セルが属する行のデータを合成表に新たな行のデータとして追加し、さらに、合成表のマージ又は追加された行に、その表を一意に識別するためのフラグを記録する機能である。フラグとしては、文字、数値等、任意の情報を選ぶことができるが、この実施形態では２値データを用い、フラグが立っている状態を「１」、フラグが立たない状態を「０」で表す。
【００３１】
論理条件判定部１６は、フラグの組合せ、例えばフラグ項目が３つであれば、１１１，１１０，１０１，１００，０１１，０１０，００１が同一となる行の数をその組合せ毎に計数し、この計数結果を合成表にその行がマージ又は追加された複数の表間の論理条件判定結果として特定する機能である。
【００３２】
数値変換部１７は、上記のフラグの組合せ態様を数値に変換し、変換した数値と計数結果とを対応付けて記録する機能である。この場合の数値は、２進数によるものであってもよく、１０進数によるものであってもよい。１０進数による場合は、「１１１」は「７」，「１１０」は「６」・・・のようになる。
【００３３】
データ抽出部１８は、合成表の中から、上記の計数結果分のデータを、数値変換部１７で変換された数値に基づいて抽出する機能である。
【００３４】
＜動作手順＞
次に、上記のように構成される本実施形態のデータ管理システムの動作手順を説明する。
（１）起動
表計算ソフトの実行中に表合成を行う必要が発生した場合、ユーザは、表計算ソフトの操作メニューから「表合成」を選択する。これにより、表合成プログラムが起動し、画面表示部１１が図３に例示したＧＵＩ画面を表示装置４に表示させる。
【００３５】
（２）表等の指定
図３のＧＵＩ画面のトップ表示域５１において、「表１」に対応する入力枠の入力ボタン５２がユーザにより操作されると、画面表示部１１は、ＧＵＩ画面に代えて、合成すべき最初の表を指定するための詳細指定用画面を表示させる。この詳細指定用画面の一例を図７に示す。
詳細指定用画面では、合成したい表を、表の集まりである「Ｂｏｏｋ」、表単位である「Ｓｈｅｅｔ」、一つの表の部分である「選択範囲」を階層的に指定できるようにする。また、「Ｋｅｙ項目」により、表の列定義の一つである所望のキー項目を指定させる。図７の例では、「ＡＢＣ」に属し、「Ｓｈｅｅｔ１」によって識別される表の全範囲を、合成対象となる最初の表として指定され、且つ、その表に含まれるキー項目（ＣｕｓｔＫｅｙ）が指定されている。この詳細指定用画面の「入力実行」ボタンがユーザにより押されることにより、指定受付部１２は、これらの指定内容を特定する。
【００３６】
２番目及び３番目の表についても、それぞれ、ユーザがトップ表示域５１の「表２」、「表３」の入力枠の入力ボタン５２を押すことにより、同様の手順で、その内容が特定される。
このような要領で指定された最初の表の内容を図８、２番目に指定された表の内容を図９、３番目に指定された表の内容を図１０に示す。ここでは、便宜上、最初の表（表１の入力枠により、その内容が特定された表）を「表Ａ」、２番目の表（表２の入力枠により、その内容が特定された表）を「表Ｂ」、３番目の表（表３の入力枠により、その内容が特定された表）を「表Ｃ」とする。キー項目は、いずれも「顧客コード」であるものとする。
【００３７】
（３）表合成
合成対象となる表が定まると、合成表記録部１３は、列定義の中にフラグ項目を設定した図６のレイアウトの合成表を作成し、これを外部記憶装置２のシート領域に記録する。その後、この合成表と指定された表Ａ，Ｂ，Ｃのセル単位のデータを逐次データ比較部１４で比較し、シート合成部１５で、各表の行データを合成表に逐次記録する。また、各表に対応する合成表のフラグ項目に、その行のデータが、どの表から挿入されたかを示すフラグを記録する。さらに、これらのフラグの組合せに基づいて、集合表示画面に表示させる論理条件判定結果を表す画像を生成する。
【００３８】
これらの処理の内容をより具体的に説明する。
合成表は初期状態のときはすべてのセルが空状態になっているので、図１１に示されるように、フラグ項目（フラグ１〜３）を除くセルの部分は、表Ａの内容とまったく同じ内容になる。また、各行の表Ａに対応するフラグ項目である「フラグ１」には、「１」が記録される。
合成表に表Ａのデータが記録された後は、この合成表と２番目の表Ｂとを比較することになる。表Ｂには表Ａと共通の「顧客コード」がキー項目として指定されているので、合成表への項目追加はされないが、表Ａにはない項目である「電話番号」が新たな列定義として追加される。図１２はこの様子を示している。また、表Ｂの「顧客コード」が「００００３」のセルは、合成表に格納されている「顧客コード」のセルと一致する。そこで、このセルが属する行の「電話番号」のデータを合成表に記録するとともに、表Ｂに対応するフラグ項目である「フラグ２」に「１」を記録する。この段階の合成表の内容を図１３に示す。
【００３９】
表Ｂにおいて「顧客コード」が「００００４」、「００００５」、「００００８」のセルが属する行についても同様の処理を行う。「００００９」のセルについては、合成表に記録されていないので、合成表の最終行の次の行に、そのセルが属する行のデータを追加するとともに、その追加した行の「フラグ２」に「１」を記録する。この段階の合成表の内容を図１４に示す。
【００４０】
シート合成部１５は、また、各フラグの記録状況に基づいて合成表のソート処理を行う。ソート処理は、すべてのフラグ項目に共に「１」が記録されている行を最優先とし、次いで、より先に指定された表に対応するフラグ項目に「１」が記録されている行を優先する。図１５は、ソート処理の結果を示したものである。図１５に示すように、ソート処理を行った結果、合成表の上部領域には、表Ａ及び表Ｂの双方に含まれる行が並び、次いで、表Ａのみに含まれる行、表Ｂのみに含まれる行が並ぶ。これらの行の合算値が表Ａ及び表Ｂの論理和の関係になる行を表すことになる。
【００４１】
ソート処理後は、論理条件判定部１６でフラグの組合せが同一となる行の数をその組合せ毎に計数する。上述したように、この計数結果は、合成表にその行がマージ又は追加された表間の論理条件の判定結果となる。図１６は、カウントした結果を示したものである。
【００４２】
画面表示部１１は、このフラグの状態毎の行の件数をもとに集合表示画面５０にベン図又は真理値表画像を描画する。図１７はベン図、図１８は真理値表画像であり、共に図１６に示した行数のカウント結果に対応している。
つまり、図１７及び図１８において▲１▼の領域は表Ａ及び表Ｂの双方に含まれる行であり、図１６の「フラグ１」及び「フラグ２」の双方に「１」が記録されている行のカウント結果に相当する。▲２▼の領域は表Ａのみに含まれる行、すなわち「フラグ１」のみに「１」が記録されている行のカウント結果に相当する。▲３▼の領域は、表Ｂのみに含まれる行、すなわち「フラグ２」のみに「１」が記録されている行のカウント結果に相当する。
このように、フラグの組合せ毎の集計結果（論理条件判定結果）をベン図または真理値表画像により表示すると、表Ａと表Ｂとに共通したキー項目の値をもつ行がどの位あるかを一目で把握することができる。
【００４３】
表Ａと表Ｂとを合成した合成表に、新たに表Ｃを合成する場合も、同様の手順となる。すなわち、合成表にない項目である表Ｃの項目（ｅＭａｉｌ−ＩＤ）が新たに追加され、さらに、データが挿入されたセルを含む行の「フラグ３」に「１」が記録され、ソート処理される。このときの合成表の内容を図１９に示す。また、図１９の合成表の状態をベン図で示すと、図２０のようになる。
【００４４】
（４）データ表示
ユーザが、集合表示画面５０に表示されているベン図又は真理値表画像の任意の領域をマウス操作により指定すると、その領域のデータを合成表から読み出して表示することができる。
例えば、図２０において、表Ａ、表Ｂ、表Ｃが共に重なる領域である▲４▼の領域が指定されたことを指定受付部１２が特定すると、その領域のフラグの組合せに対応する数値の行、すなわち、図１９における「１１１」のフラグ項目の行をデータ抽出部１８で判別し、その行のデータを合成表から抽出する。そして、抽出されたデータを画面表示部１１で表形式画像にして表示する。図２１は、この場合の表示例を示した図表である。図２０の他の領域を指定した場合も同様に、その領域に対応する表示形式画像が表示される。
【００４５】
このように、本実施形態のデータ管理システムでは、合成表とユーザが指定した表とをセル単位で比較し、キー項目において同一データとなるセルが存在する場合は、その表の当該セルが属する行のデータを合成表の当該セルが属する行にマージし、その表のみに存在するセルについては、そのセルが属する行のデータを合成表に新たな行のデータとして追加し、さらに、合成表のマージ又は追加された行に、その表を一意に識別するためのフラグを記録し、合成表にその行がマージ又は追加された複数の表の関係がフラグの組合せに基づいて特定できるようにし、しかも、表やキー項目等の指定をＧＵＩ画面を併用したマウス操作により行うようにしたので、従来の表計算ソフトでは困難であった表合成を、ＤＢの知識や環境作りの必要なく、容易に行えるようになる。その習熟も表計算ソフトの使用方法をある程度理解していれば、充分に操作できるものであり、表合成の際の条件の指定も容易であるため、複合条件を組み合わせた選択操作も迅速に行えるようになる。
【００４６】
なお、本実施形態では、列定義された複数の項目の一つをキー項目とし、マージないし追加を、行単位に行う場合の例を示したが、行、列の定義内容は、逆であってもよい。
【００４７】
また、本実施形態では、表合成プログラムが、表計算ソフトのアドインのような付加機能によって実行される場合の例を説明したが、表合成プログラムは、表計算ソフトと独立したソフトウェアとして、表形式データを直接扱うように構成することも可能である。
【００４８】
また、本実施形態では、キー項目が１つである場合のケースについて説明しているが、１項目では一意にならない場合等には、複数項目を組み合わせて、キー項目とすることも可能である。キー項目の各セルのデータ比較は、通常、データ同士を比較して、一致するか否かで行うが、セル内のデータが全く同じでなくとも近似しているデータを同一とみなす手法を組み合わせて、キー項目のデータ比較を行うこともできる。こうすれば、例えば、カタカナ氏名の全角／半角を無視した比較、アルファベット氏名での大文字／小文字を無視した比較等ができるようになり、利便性が高くなる。
【００４９】
【発明の効果】
以上の説明から明らかなように、本発明によれば、簡単な操作によりスプレッドシートの管理を行うことができる。
【図面の簡単な説明】
【図１】本発明の実施形態によるデータ管理システムの全体構成図。
【図２】データ管理システムの機能ブロック構成図。
【図３】本実施形態によるＧＵＩ画面の一例を示した図。
【図４】ベン図による集合表示の一例を示した図。
【図５】真理値表画像による集合表示の一例を示した図。
【図６】合成表のレイアウト例を示した図。
【図７】詳細指定用画面の例を示した図。
【図８】合成対象となる表Ａの内容を示した図。
【図９】合成対象となる表Ｂの内容を示した図。
【図１０】合成対象となる表Ｃの内容を示した図。
【図１１】表Ａの内容を記録した合成表を示した図。
【図１２】表Ｂから項目を追加した合成表を示した図。
【図１３】表Ａを記録した合成表において、同一データとなるセルが属する表Ｂの行がマージされた合成表を示した図。
【図１４】表Ａを記録した合成表において、同一データとならないセルが属する表Ｂの行が新たに追加された合成表を示した図。
【図１５】表Ａと表Ｂが合成され、ソート処理された合成表を示した図。
【図１６】合成表のフラグの組合せ態様毎の行数をカウントした結果を示した図。
【図１７】表Ａと表Ｂの状態をベン図で表現した集合表示画面の例を示した図。
【図１８】表Ａと表Ｂの状態を真理値表画像で表現した集合表示画面の例を示した図。
【図１９】表Ａ、表Ｂ及び表Ｃを合成した合成表を示した図。
【図２０】図１９の合成表の内容をベン図で表現した集合表示画面の例を示した図。
【図２１】ベン図で選択された領域のデータ抽出結果を示した図表。
【符号の説明】
１　プロセッサユニット
２　外部記憶装置
３　入力装置
４　表示装置
１１　画面表示部
１２　指定受付部
１３　合成表記録部
１４　データ比較部
１５　シート合成部
１６　論理条件判定部
１７　数値変換部
１８　データ抽出部
５０　集合表示画面
５１　指定用画面のトップ表示域
５２　入力ボタン
【図１】
2004102400.tif 000003
【図２】
2004102400.tif 000004
【図３】
2004102400.tif 000005
【図４】
2004102400.tif 000006
【図５】
2004102400.tif 000007
【図６】
2004102400.tif 000008
【図７】
2004102400.tif 000009
【図８】
2004102400.tif 000010
【図９】
2004102400.tif 000011
【図１０】
2004102400.tif 000012
【図１１】
2004102400.tif 000013
【図１２】
2004102400.tif 000014
【図１３】
2004102400.tif 000015
【図１４】
2004102400.tif 000016
【図１５】
2004102400.tif 000017
【図１６】
2004102400.tif 000018
【図１７】
2004102400.tif 000019
【図１８】
2004102400.tif 000020
【図１９】
2004102400.tif 000021
【図２０】
2004102400.tif 000022
【図２１】
2004102400.tif 000023