(57)【要約】【課題】１塊のセルが複数の行または列に配置されている表形式のデータを、塊単位で処理可能な情報処理装置を実現する。【解決手段】表形式のデータのうち、その位置が変換対象の範囲に含まれ、しかも、上記塊に含まれるセルのデータ構造を解析して、１塊が１行になるように上記変換対象を変換する際の変換手順、および、その逆変換手順を特定するデータ構成解析部２３と、上記表形式のデータの変換対象を塊毎に分割し、各塊を上記変換手順に従って変換すると共に、当該変換後の表形式のデータを、行を処理の単位とする操作を受け付け可能な編集処理部１２へ出力する変換処理部２４と、上記編集処理部１２によって操作された表形式のデータの変換対象を行毎に分割すると共に、上記解析結果に基づき、各行を、それぞれ上記逆変換手順に従って上記塊に逆変換する復元処理部２５とを備えている。【選択図】図１
2007122638.tif 000002
【特許請求の範囲】
【請求項１】
表の行および列のうちの一方を処理単位とするとき、複数のセルからなる処理単位が複数設けられた表形式のデータを処理する情報処理装置において、
予め定められる複数の処理単位を塊とするとき、上記表形式のデータのうち、その位置が変換対象の範囲に含まれ、しかも、上記塊に含まれるセルのデータ構造を解析して、１つの塊に含まれるセルが１つの処理単位に含まれるように上記変換対象を変換する際の変換手順、および、その逆変換を行う際の逆変換手順を特定すると共に、当該両手順を示す解析結果を記憶装置に記憶する解析手段と、
上記解析手段による解析結果に基づいて、上記表形式のデータのうち、その位置が変換対象の範囲に含まれるセルを、上記塊毎に分割し、当該各塊を上記変換手順に従って変換することによって、１塊に含まれるセルが１処理単位に含まれるように上記変換対象を変換すると共に、当該変換後の表形式のデータを、上記処理単位を処理の単位とする操作を受け付け可能な情報処理部へ出力する変換手段と、
上記情報処理部によって操作された表形式のデータのうち、その位置が変換対象の範囲に含まれるセルを、上記処理単位毎に分割すると共に、上記記憶装置に含まれた解析結果に基づき、当該分割された各処理単位を、それぞれ上記逆変換手順に従って上記塊に逆変換する復元手段とを備えていることを特徴とする情報処理装置。
【請求項２】
上記表形式のデータの上記各塊のうち、各セルのタイトルが入力されている塊の指定を受け付け、当該塊の解析を上記解析手段へ指示する受付手段を備えていることを特徴とする請求項１記載の情報処理装置。
【請求項３】
上記表形式のデータには、表が複数のページに渡って表示または印刷される場合に、各ページの先頭となる処理単位の前に予め定められた複数の処理単位のセルの内容を表示または印刷するように、上記情報処理部へ指示するページ設定データが含まれており、
上記解析手段は、当該ページ設定データによって指定された上記複数の処理単位を、上記１塊として解析することを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
上記表形式のデータのうち、その位置が変換対象の範囲に含まれるセルのフォーマットを解析し、あるフォーマットが、複数の処理単位毎に繰り返されているか否かを判定し、繰り返されている場合、当該フォーマットが繰り返されている処理単位の数からなる処理単位を、１塊として、当該塊の解析を、上記解析手段へ指示する塊推定手段を備えていることを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
表の行および列のうちの一方を処理単位とするとき、複数のセルからなる処理単位が複数設けられた表形式のデータを処理する情報処理装置において、
予め定められる複数の処理単位を塊とするとき、１塊となる範囲の指定を受け付ける受付手段と、
当該塊を単位として、上記表形式のデータを処理するデータ処理手段とを備えていることを特徴とする情報処理装置。
【請求項６】
上記塊を単位とする処理は、ソート処理、フィルタリング処理、および、各塊を１処理単位ずつに変換する処理の少なくとも１つであることを特徴とする請求項５記載の情報処理装置。
【請求項７】
請求項１〜６のいずれか１項に記載の情報処理装置の各手段として、コンピュータを動作させるプログラム。
【請求項８】
請求項７記載のプログラムが記録された、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表形式のデータを処理する情報処理装置、並びに、そのプログラムおよび記録媒体に関するものである。
【背景技術】
【０００２】
従来から、例えば、表計算プログラムあるいは作表プログラムなどがインストールされたコンピュータなど、表形式のデータを処理する情報処理装置は、広く使われている。当該情報処理装置では、データベースなどとは異なって、データ構造を定義せずに、表の各セルに値を入力していくことができるため、比較的容易にデータを入力できる。また、上記情報処理装置の中には、行や列を単位として、ソートやフィルタなどの処理を実施可能なものも存在している。
【０００３】
これにより、例えば、図２に示すように、１塊のデータが１行に記述されていれば、例えば、図３に示すように、これらのデータをソートしたり、フィルタリング処理したりできる。なお、図２は、一例として、図２の表の各行を、列Ａの値が小さい順にソートした状態を示している。
【０００４】
また、後述する特許文献１には、表とデータベースとの対応関係をＧＵＩ（グラフィカルユーザインターフェース）を用いて定義し、変換手続きを対応定義から自動生成する構成によって、プログラミングレスでデータベースエンジンから獲得したデータを表計算ソフトで使用する形式に変換を行うことが記載されている。
【特許文献１】特開平７−２９６０８４号公報（公開日：１９９５年１１月１０日）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の構成では、１塊のデータが複数行に配置されている表の場合、その表に対して、行または列単位の処理を行うと、本来１塊であるべきデータが、互いに離れた位置の行に分散してしまうという問題を生じる。
【０００６】
具体的には、当該情報処理装置は、データ構造を定義せずに、表の各セルに値を入力することができるので、例えば、表を作成する際に、表が横に長くなるのを防止して表を見やすくするためなどの目的で、例えば、図４に示すように、１塊のデータが複数行に配置されたような表も、比較的容易に作成できる。
【０００７】
ところが、図４に示す表では、１塊のデータが複数行に配置されているため、当該表を、１行を単位としてソートすると、図５に示すように、１塊であるべきデータが、互いに離れた位置の行に分散してしまう。
【０００８】
なお、上記特許文献１には、上述したように、表とデータベースとの対応関係をＧＵＩ（グラフィカルユーザインターフェース）を用いて定義し、変換手続きを対応定義から自動生成する構成によって、プログラミングレスでデータベースエンジンから獲得したデータを表計算ソフトで使用する形式に変換を行うことが記載されているが、この構成を用いたとしても、上記問題を解決することはできない。
【０００９】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、１塊のセルが複数の処理単位に配置されている表形式のデータに対して、何ら支障なく、各塊を単位とした処理を実施可能な情報処理装置を実現することにある。
【課題を解決するための手段】
【００１０】
本発明に係る情報処理装置は、上記課題を解決するために、表の行および列のうちの一方を処理単位とするとき、複数のセルからなる処理単位が複数設けられた表形式のデータを処理する情報処理装置において、予め定められる複数の処理単位を塊とするとき、上記表形式のデータのうち、その位置が変換対象の範囲に含まれ、しかも、上記塊に含まれるセルのデータ構造を解析して、１つの塊に含まれるセルが１つの処理単位に含まれるように上記変換対象を変換する際の変換手順、および、その逆変換を行う際の逆変換手順を特定すると共に、当該両手順を示す解析結果を記憶装置に記憶する解析手段と、上記解析手段による解析結果に基づいて、上記表形式のデータのうち、その位置が変換対象の範囲に含まれるセルを、上記塊毎に分割し、当該各塊を上記変換手順に従って変換することによって、１塊に含まれるセルが１処理単位に含まれるように上記変換対象を変換すると共に、当該変換後の表形式のデータを、上記処理単位を処理の単位とする操作を受け付け可能な情報処理部へ出力する変換手段と、上記情報処理部によって操作された表形式のデータのうち、その位置が変換対象の範囲に含まれるセルを、上記処理単位毎に分割すると共に、上記記憶装置に含まれた解析結果に基づき、当該分割された各処理単位を、それぞれ上記逆変換手順に従って上記塊に逆変換する復元手段とを備えていることを特徴としている。
【００１１】
当該構成に係る情報処理装置では、解析手段が、上記表形式のデータのうち、その位置が変換対象の範囲に含まれ、しかも、上記塊に含まれるセルのデータ構造を解析して、１つの塊に含まれるセルが１つの処理単位に含まれるように上記変換対象を変換する際の変換手順、および、その逆変換を行う際の逆変換手順を特定する。さらに、変換手段は、当該特定された変換手順で各塊を変換する。これにより、上記変換対象は、１塊に含まれるセルが１処理単位に含まれるように変換される。
【００１２】
これにより、上記情報処理部が上記変換後の表形式のデータを処理することによって、上記情報処理部が、上記塊を単位としては行うことができないような処理であっても、行または列の一方である処理単位毎に処理できるものであれば、１塊に含まれるデータが分散されることなく、処理を行うことができる。
【００１３】
一例として、上記処理単位が行であり、上記処理がソートである場合について説明すると、１塊となるセルが複数行に配されている場合、各塊に対して、行単位のソートを行うと、ソートによって、ある塊に含まれるセルが、互いに離れた行に配置される虞れがある。これに対して、変換手段が１塊を１行に変換した後であれば、行を単位とするソートを行ったとしても、ある塊に含まれるセルは、常に１つの行に含まれたままである。
【００１４】
さらに、上記情報処理部によって操作された表形式のデータのうち、その位置が変換対象の範囲に含まれるセルは、復元手段によって、上記処理単位毎に分割される。また、当該分割された各処理単位は、それぞれ上記逆変換手順に従って上記塊に逆変換される。これにより、１塊のセルは、変換手段によって変換される前と同様に、複数の処理単位に配置される。
【００１５】
ここで、復元手段によって復元された表形式のデータは、変換手段によって各塊を１処理単位ずつに変換した後、処理単位を単位とした処理を行い、さらに、処理後の各処理単位を１塊ずつに戻すことによって生成されている。したがって、復元された表形式のデータは、変換手段による変換前の表形式のデータに対して、塊を単位として上記処理を行ったものになっている。
【００１６】
この結果、上記情報処理部が塊を単位とした処理を行うことができず、処理単位を単位とした処理しか行うことができない場合であっても、情報処理装置は、１塊のセルが複数の処理単位に配置されている表形式のデータに対して、何ら支障なく、各塊を単位とした処理を行うことができる。
【００１７】
さらに、上記構成に加えて、上記表形式のデータの上記各塊のうち、各セルのタイトルが入力されている塊の指定を受け付け、当該塊の解析を上記解析手段へ指示する受付手段を備えていてもよい。
【００１８】
当該構成では、情報処理装置は、各セルのタイトルが入力されている塊の指定を受け付け、当該塊の解析を上記解析手段へ指示する。したがって、各セルのタイトルが入力されている処理単位の数だけの処理単位を１塊として、例えば、ソートなどの処理を行うことができる。さらに、各セルのタイトルが入力されている塊を指定するので、ユーザが指定しやすい。
【００１９】
また、上記構成に加えて、上記表形式のデータには、表が複数のページに渡って表示または印刷される場合に、各ページの先頭となる処理単位の前に予め定められた複数の処理単位のセルの内容を表示または印刷するように、上記情報処理部へ指示するページ設定データが含まれており、上記解析手段は、当該ページ設定データによって指定された上記複数の処理単位を、上記１塊として解析してもよい。当該構成では、１塊を指定する操作を、ページ設定データを設定する操作で兼ねることができるので、１塊を指定する際の手間を削減できる。
【００２０】
さらに、上記構成に加えて、上記表形式のデータのうち、その位置が変換対象の範囲に含まれるセルのフォーマットを解析し、あるフォーマットが、複数の処理単位毎に繰り返されているか否かを判定し、繰り返されている場合、当該フォーマットが繰り返されている処理単位の数からなる処理単位を、１塊として、当該塊の解析を、上記解析手段へ指示する塊推定手段を備えていてもよい。
【００２１】
当該構成では、塊推定手段がフォーマットを解析して１塊を推定するので、１塊を指定する手間を削減できる。
【００２２】
一方、本発明に係る情報処理装置は、上記課題を解決するために、表の行および列のうちの一方を処理単位とするとき、複数のセルからなる処理単位が複数設けられた表形式のデータを処理する情報処理装置において、予め定められる複数の処理単位を塊とするとき、１塊となる範囲の指定を受け付ける受付手段と、当該塊を単位として、上記表形式のデータを処理するデータ処理手段とを備えていることを特徴としている。また、上記構成に加えて、上記塊を単位とする処理は、ソート処理、フィルタリング処理、および、各塊を１処理単位ずつに変換する処理の少なくとも１つであってもよい。
【００２３】
ところで、例えば、表を作成する際に、横または縦に長くなることを防止し、表を見やすくするために、１塊となるセルを、複数の処理単位に配置することがある。ここで、いずれの数の処理単位に、１塊となるセルを配置するかは、表の見みやすさなどに左右されるため、表形式のデータ毎に互いに異なっている可能性があり、情報処理装置の製造者が予め設定しておくことは難しい。
【００２４】
ところが、上記構成では、受付手段が１塊となる範囲の指定を受け付けると、データ処理手段は、当該塊を単位として、上記表形式のデータを処理する。したがって、いずれの数の処理単位に、１塊となるセルが配置されていたとしても、データ処理手段は、その表形式のデータに合った単位で、例えば、ソート、フィルタリング、あるいは、各塊を１処理単位ずつに変換する処理などの処理を行うことができる。これにより、１塊のセルが複数の処理単位に配置されている表形式のデータに対して、何ら支障なく、各塊を単位とした処理を行うことができる。
【００２５】
ところで、上記情報処理装置は、ハードウェアで実現してもよいし、プログラムをコンピュータに実行させることによって実現してもよい。具体的には、本発明に係るプログラムは、上記情報処理装置のいずれかの各手段として、コンピュータを動作させるプログラムであり、本発明に係る記録媒体には、当該プログラムが記録されている。
【００２６】
これらのプログラムがコンピュータによって実行されると、当該コンピュータは、上記情報処理装置として動作する。したがって、上記情報処理装置と同様に、１塊のセルが複数の処理単位に配置されている表形式のデータに対して、何ら支障なく、各塊を単位とした処理を行うことができる。
【発明の効果】
【００２７】
本発明に係る情報処理装置は、変換手段が、変換対象を、複数の行または列からなる１塊に含まれるセルが１行または１列に含まれるように変換して、当該行または列を処理の単位とする操作を受け付け可能な情報処理部に出力すると共に、復元手段が、情報処理部によって処理された表形式のデータにおいて、１行または１列を塊に逆変換する。したがって、情報処理装置は、１塊のセルが複数の処理単位に配置されている表形式のデータに対して、何ら支障なく、各塊を単位とした処理を行うことができる。
【００２８】
また、本発明に係る情報処理装置は、受付手段が１塊となる範囲の指定を受け付けると、データ処理手段は、当該塊を単位として、上記表形式のデータを処理するので、１塊のセルが複数の処理単位に配置されている表形式のデータに対して、何ら支障なく、各塊を単位とした処理を行うことができる。
【発明を実施するための最良の形態】
【００２９】
〔第１の実施形態〕
本発明の一実施形態について図１ないし図１３に基づいて説明すると以下の通りである。すなわち、本実施形態に係る情報処理装置１は、１塊のセルが複数の行または列に配置されている表形式のデータに対して、何ら支障なく、各塊を単位とした、ソートなどの処理を実施可能な情報処理装置である。
【００３０】
なお、当該情報処理装置は、例えば、表計算アプリケーションプログラムまたは作表アプリケーションプログラムなど、表形式のデータを処理するアプリケーションプログラムがインストールされた汎用のコンピュータ（例えば、パーソナルコンピュータなど）であってもよい。また、表形式のデータを処理できるものであれば、例えば、制御システムにおいてＨＭＩ（Human Machine Interface ）として使用される制御用表示装置（例えば、プログラマブル表示器など）をはじめとして、種々の情報処理装置に広く適用できる。
【００３１】
具体的には、本実施形態に係る情報処理装置１は、図１に示すように、表形式のデータ（表形式データ）を記憶する表形式データ記憶部１１と、当該表形式データ記憶部１１に記憶された表形式データを、図示しない表示装置の表示画面上に表形式で表示すると共に、ユーザから受け付けた操作に応じて、上記表形式データ記憶部１１に格納された表形式データを更新する編集処理部（情報処理部；データ処理手段）１２とを備えている。
【００３２】
上記編集処理部１２は、例えば、表計算アプリケーションのソフトウェアを情報処理装置１の図示しないプロセッサが実行し、それにより、当該プロセッサが、図示しない記憶装置（ＨＤＤやメインメモリなど）、および、周辺機器（表示装置や入力装置など）を制御することによって実現されている。
【００３３】
一方、上記表形式データには、表に含まれる各セルのデータが含まれている。これら各セルのデータは、表における位置（座標）、すなわち、そのセルが属している行と列との組み合わせに対応して記憶されており、上記編集処理部１２は、例えば、図２に示すように、各セルの内容を、それぞれの表における位置に従い、表形式で表示できる。なお、図２では、一例として、表形式データが５列×１０行の表を示しており、その表全体を表示している場合を例示しているが、当然ながら、表の列数および行数は、これに限るものではなく、また、表の一部のみを表示してもよい。また、図２の例では、編集処理部１２は、表を表示する際、各列と共に、その列を示す文字列（図の例では、Ａ〜Ｅ）を表示し、各行と共に、その行を示す文字列（図の例では、１〜１０）を表示している。なお、以下では、各セルを特定する必要がある場合、例えば、図２に示すセルＢ２のように、列を示す文字列（この場合はＢ）と、行を示す文字列（この場合は、２）との組み合わせて記載する。
【００３４】
さらに、上記編集処理部１２は、表を構成する各セルへの入力／編集操作を受け付けることができる。また、上記編集処理部１２は、セルへの入力／編集操作として、各セルの値の入力／編集操作を受け付けることができるだけではなく、セルに対する式の入力操作を受け付けることもでき、当該セルの値として、受け付けた式の評価結果（演算結果）を表示することもできる。ここで、上記式には、式が入力されるセルを基準とした、絶対または相対的な座標指定によって、他のセルを記述することができる。
【００３５】
また、上記編集処理部１２は、行または列を単位とした編集操作として、例えば、ソートおよびフィルタリング操作などの操作を受け付けることができる。また、編集処理部１２は、表計算機能の一部として、平均計算操作、および、合計計算操作などの操作を受け付けることもできる。
【００３６】
一例として、編集処理部１２は、図２に示す表のうち、行４〜行８に対して、列Ｃをキーとした逆順のソートの指示を受け付けると、図３に示すように、各行を列Ｃの値が小さい順に並び替える（ソートする）ことができる。
【００３７】
さらに、上記編集処理部１２は、各セルに対する書式の設定操作を受け付けることができる。書式形式としては、例えば、そのセルの内容を表示する際の表示形式（数値をどのようにフォーマットするかなど）、そのセルの内容を表示する際のフォントまたは色、そのセルの内容を表示する際の配置、背景色またはパターン、罫線、あるいは、そのセルを保護するか否かなどが挙げられる。図２および図３の例では、タイトルとなる行（図の例では、行３）の各セルのフォントが、太字に設定されている。また、表の外枠となるセルには、表の外枠となる位置に太い罫線が設定されていおり、タイトルとなる行（タイトル行）の各セルには、さらに、各セルの下に太い罫線が設定されている。さらに、各セルには、それ以外の位置に細い罫線が設定されている。
【００３８】
ここで、編集処理部１２は、各セルに対して、入力可能な値を設定することもできるが、特に設定しない限り、各セルへの任意の値または式の入力／編集操作を受け付けることができる。例えば、図２の例では、タイトル行（行３）には、それ以外の行に入れられるべきデータの名称を示す文字列が記入されているのに対して、それ以外の行（行４〜８）には、データの内容を示す数値や文字列が入力されている。
【００３９】
したがって、データベースソフトのように、データのデータ構造を予め定義した後で、各データを入力する構成よりも容易に表形式のデータを入力することができ、比較的容易に、表の項目を増減したり、一部のみが他の部分とデータ構造の異なる表を作成したりできる。
【００４０】
一部のみが他の部分とデータ構造の異なる表としては、例えば、図４に示すように、複数の行を１塊とするような表が挙げられる。なお、図４では、行単位で見ると、行２では、各列Ｂ〜Ｄに”名前”、”年齢”および”住所”が設定されているのに対して、行３では、列Ｃに”性別”が設定されているだけなので、行２および行３は、互いにデータ構造が異なっている。
【００４１】
ただし、図４の表では、２行を単位として見ると、互いに同じデータ構造を持ったデータが繰り返されている。なお、このような表は、表が横に長くなって見にくくなることを防止するためなどの理由で作成されることが多い。
【００４２】
さらに、本実施形態に係る編集処理部１２は、表の各セルに対する結合指示を受け付けることができる。複数のセルが結合されると、編集処理部１２は、例えば、図４に示すセルＢ２およびＢ３のように、これらのセルを１つのセル（セルＢ２）として扱う。具体的には、編集処理部１２は、これらのセルの表示領域全てを１つのセルと見なし、当該表示領域に対して、１つの値または式の入力しか受け付けない。さらに、編集処理部１２は、当該値を表示する際、当該表示領域内に値を表示する。図の例では、当該セルの書式設定として、内容を真ん中に表示するように設定されており、編集処理部１２は、表示領域の真ん中に、セルの内容を表示している。なお、編集処理部１２は、表示領域に対して書式設定が指示された場合、上記結合された１つのセルの書式を設定する。なお、当該結合された１つのセルは、結合前のいずれのセルであってもよいが、本実施形態に係る編集処理部１２は、一例として、結合前の左上のセル（図の例では、Ｂ２）を上記結合された１つのセルとしている。
【００４３】
これにより、図４に示すように、複数行を１塊とするデータを表示する際に、表示領域を有効利用できる。図４の例では、年齢および性別のセル（Ｃ列の各セル）は、他のセルと結合されていないのに対して、名前および住所のセル（Ｂ列およびＤ列のセルのうち、偶数行のセル）は、次の行のセルと連結されている。これにより、名前および住所のセルの内容を表示する際、そのセルの本来の表示領域（１行分の表示領域）だけではなく、連結されたセルの表示領域も使用できる。したがって、１行分の表示領域のみしか使用せずに、名前および住所を表示し、次の行を空欄にする場合と比較して、表示領域を有効利用できる。
【００４４】
ところで、上述したように、本実施形態係る編集処理部１２は、行または列単位での編集操作を受け付けることができるが、複数行を１塊とするデータに対して、この操作を行うと、例えば、図５に示す行６および行９のように、本来１塊であるべきデータが分解されてしまう。
【００４５】
これに対して、本実施形態に係る情報処理装置１には、図１に示すように、複数行を１塊とするタイトル行の入力を受け付けるタイトル行入力受付部（受付手段）２１と、当該受け付けられたタイトル行に含まれる各セルの書式およびデータ構成の解析結果を記憶する解析結果記憶部（記憶装置）２２と、上記タイトル行入力受付部２１が受け付けたタイトル行に含まれる各セルの書式およびデータ構成を解析し、解析結果を示す解析結果情報として、１つの塊に含まれるセルが１行に含まれるように変換対象となるセルを変換する際の変換手順、および、その逆変換を行う際の逆変換手順を特定するための情報を上記解析結果記憶部２２に格納するデータ構成解析部（解析手段）２３と、例えば、解析結果記憶部２２を参照するなどして、データ構成解析部２３による解析結果を取得し、当該解析結果に基づいて、変換対象となる各セルを各塊に区分すると共に、各塊において、１つの塊を構成する複数行が１行になるように変換する変換処理部（変換手段）２４と、上記解析結果記憶部２２に格納された解析結果に基づいて、上記１行に変換された各塊を、元の複数行からなる塊に復元する復元処理部（復元手段）２５とが設けられている。
【００４６】
上記各部材２１〜２５および２６（一部後述）も、編集処理部１２と同様に、ＣＰＵが記憶装置に格納されたプログラムを実行し、図示しない入出力回路などの周辺回路を制御することによって実現される機能ブロックである。特に、本実施形態では、上記各部材は、表計算アプリケーションのソフトウェアによって実現される編集処理部１２が実行可能なマクロプログラム（表計算アプリケーションのマクロプログラム）によって実現されている。なお、上記各部材１１〜１２・２１〜２６のうち、各記憶部１１・２２は、ＲＯＭやＲＡＭなどの記憶装置自体であってもよい。
【００４７】
したがって、これらの手段を有するコンピュータが、上記プログラムを記録した記録媒体（例えば、ＣＤ−ＲＯＭなど）を読み取り、当該プログラムを実行するだけで、本実施形態に係る情報処理装置１を実現できる。なお、例えば、ＬＡＮ、あるいは、他の通信路を介してプログラムをダウンロードするためのプログラムが、上記コンピュータに予めインストールされていれば、これらの通信路を介して、上記コンピュータへ上記プログラムを配付することもできる。
【００４８】
ここで、本実施形態に係る変換処理部２４および復元処理部２５は、変換対象となるセルの範囲の指定を受け付けることができる。さらに、変換処理部２４および復元処理部２５は、１塊となる行を構成するセル全てが空セルである塊を空の塊とすると、例えば、空の塊を含まないように、タイトル行に塊を追加していき、最も広くなった範囲を変換対象とするなどして、変換対象を推定することもできる。
【００４９】
上記構成では、図６に示すステップ１（以下では、Ｓ１のように略称する）において、図４に示す表Ｔ１のように、複数の行を１塊とする表において、各塊を１行へ変換するように指示を受けると、タイトル行入力受付部２１は、複数行からなるタイトル行の入力を受け付ける。
【００５０】
さらに、Ｓ２において、データ構成解析部２３は、上記Ｓ１にて受け付けたタイトル行に含まれる各セルの書式およびデータ構造を解析し、解析結果を示す解析結果情報を上記解析結果記憶部２２に格納する。また、変換処理部２４は、Ｓ３において、当該解析結果に基づいて、変換対象となる各セルを各塊に区分すると共に、各塊において、１つの塊を構成する複数行が１行になるように変換する。なお、変換する際にセルの位置が変化する場合、上記変換処理部２４は、各セルに設定された式の演算結果が変化しないように、各セルの式において評価対象となっているセルの位置を、変換に伴なうセルの位置の移動に応じて変更する。
【００５１】
これにより、例えば、図４に示す表Ｔ１の全てが変換対象である場合、表Ｔ１の各行２〜１３は、それぞれ２行ずつの塊Ｇ１〜Ｇ６に分割され、各塊Ｇ１〜Ｇ６が、図７に示す行２〜７のように、１行ずつに変換される。
【００５２】
ここで、例えば、図４の表Ｔ１では、複数行に渡っていた各塊Ｇ１〜Ｇ５が、図７に示す表Ｔ２では、それぞれが１行ずつに変換されている。したがって、Ｓ４において、編集処理部１２は、図７に示す表Ｔ２に対して、何ら支障なく、例えば、ソート処理、フィルタリング処理など、行を単位にした編集処理を行うことができる。
【００５３】
一例として、図８は、表Ｔ２を、年齢（列Ｃの内容）でソートした後の表Ｔ３を示している。このように、ソート処理は、各塊を１行ずつに変換した表Ｔ２に対して行われているため、図５の場合と異なって、本来１塊であったセルがバラバラにソートされるという不具合が発生せず、図７に示す１塊（図７の１行）は、図８に示す表Ｔ３のように、ソート後も、１塊（１行）のまま保持されている。
【００５４】
なお、この状態において、編集処理部１２は、ユーザの指示に応じて、表計算機能の１つとして予め処理可能な処理（例えば、合計計算処理あるいは平均演算処理など）を行ってもよい。
【００５５】
このように、上記Ｓ４において、行を単位とする各種の編集処理が行われた後、Ｓ５において、１塊（１行）のデータを複数行に戻すように指示を受けると、復元処理部２５は、上記Ｓ２にて上記解析結果記憶部２２に格納された解析結果に基づいて、上記１行に変換された各塊を、元の複数行からなる塊に復元する。なお、復元する際にセルの位置が変化する場合、上記復元処理部２５は、セルに設定された式の演算結果が変化しないように、各セルの式において評価対象となっているセルの位置を、復元時のセルの位置の移動に応じて変更する。
【００５６】
これにより、図８に示す表Ｔ３は、図９に示すように、図４と同様、複数の行を１塊とする表Ｔ４に復元される。ただし、表Ｔ３は、図７に示す表Ｔ２を、年齢を示すセルの値（図７に示す列Ｃ）の値でソートすることによって生成されている。したがって、図９の表Ｔ４では、各塊Ｇ２〜Ｇ６が年齢でソートされている。
【００５７】
このように、本実施形態に係る情報処理装置１は、１塊となるデータを複数行に配置し、各塊の繰り返しによって構成されている表Ｔ１を、上記各塊が１行となった表Ｔ２に変換できる。
【００５８】
したがって、例えば、表が横になるのを防ぎ、表を作成する上での見易さを向上させるために、１塊のデータを複数行に配置した表Ｔ１があったとしても、当該表Ｔ１を、各塊が１行となった表Ｔ２に変換すると共に、情報処理装置１の編集処理部１２が、当該表Ｔ２に対して、行を単位とする処理を行うことによって、１塊となるデータを分割させずに当該処理を行うことができる。
【００５９】
また、本実施形態に係る情報処理装置１は、上記処理後の表Ｔ２およびＴ３では、１行に変換されていた各塊を、元の複数行からなる塊に復元できる。これにより、上記処理の後の表Ｔ３を、元の形式の表Ｔ４、すなわち、例えば、表が横になるのが防止され、見易さが向上された状態の表Ｔ４に復元できる。
【００６０】
ここで、表Ｔ４は、表Ｔ１の各塊を１行に変換した後、行を単位とした処理を行い、さらに、処理後の各行を１塊に戻すことによって生成されているので、当該表Ｔ４は、表Ｔ１に対して、各塊を単位にして上記処理を行った表となっている。したがって、上記編集処理部１２が表Ｔ１の各塊を単位とした処理を行うことができず、行を単位とした処理しか行うことができない場合であっても、情報処理装置１は、１塊のデータを複数行に配置した表Ｔ１に対して、何ら支障なく、各塊を単位とした処理を行うことができる。
【００６１】
より詳細には、本実施形態に係る変換処理部２４は、上記複数行からなるタイトル行を１行に変換する際、図１０に示すように、タイトル行内で縦に並んでいるセルが複数であれば、図１１に示すように、それらのセルが横に並ぶように、それらのセルが含まれる列の隣に列を追加すると共に、上記縦に並んでいるセルのうち、２行目以降のセルの内容を移動できる。また、これにより、上記タイトル行のうち、２行目以降の行が空行になるので、変換処理部２４は、これらの行を削除している。
【００６２】
これに伴なって、本実施形態に係るデータ構成解析部２３は、上記表形式データ記憶部１１を参照して、上記タイトル行の各列において、縦に並んでいるセルの数を取得し、それらの数を示すデータ構成情報を、各データ構成の解析結果として格納している。さらに、上記データ構成解析部２３は、上記タイトル行入力受付部２１が指定を受け付けたタイトル行の行数もデータ構成情報として上記解析結果記憶部２２に格納している。
【００６３】
上記変換処理部２４によるタイトル行の変換処理をさらに詳細に説明すると、変換処理部２４は、当該データ構成情報に基づいて、タイトル行の各列のうち、縦に並んでいるセルが複数（例えば、Ｎ個）である列を特定し、その列の隣に（例えば、右隣）、Ｎ−１列を追加する。さらに、当該列に含まれるセルのうち、２行目以降のＮ−１個のセルの内容を、上記追加されたＮ−１列の１行目に順番に並べている。本実施形態に係る変換処理部２４は、列を追加する際、右隣に列を追加しており、２からＮ−１までの整数をｉとし、元の列がｋ列目の列とするとき、ｉ行目のセルの内容が、ｋ＋ｉ−１列目に配置されるように、セルの内容を移動している。
【００６４】
例えば、図４の表Ｔ１において、行１および２がタイトル行として指定された場合、タイトル行は、図１０に示すようになる。当該タイトル行では、Ｃ列に、２つのセルが縦に並んでおり、ＢおよびＤ列では、１つのセルしか縦に並んでいない。したがって、データ構成解析部２３は、上記データ構成情報として、Ｂ列が１つ、Ｃ列が２つ、Ｄ列が１つであることを示す情報（例えば、（１，２，１）を示すリストなど）を上記データ構成情報として生成する。一方、変換処理部２４は、当該データ構成情報に基づき、図１１に示すように、Ｃ列の隣に新たな列Ｄを追加し、Ｄ列のタイトル行の１行目のセルＣ２に、Ｃ列のタイトル行の２行目のセルＣ３の内容（この例では、”性別”）を移動する。さらに、それにより、タイトル行の２行目が空行になるので、変換処理部２４は、タイトル行の２行目（行３）を削除する。なお、この例では、他の列ＢおよびＤにおいて、縦に並んでいるセルが存在しない。したがって、変換処理部２４は、残余の列（図１０では、列ＢおよびＤ、図１１では、列ＢおよびＥ）を特に変更していない。
【００６５】
なお、上記変換処理部２４は、セルの位置を移動する際（セルの内容を移動する際）、各セルに設定された式の演算結果が変化しないように、各セルの式において評価対象となっているセルの位置を、変換に伴なうセルの位置の移動に応じて変更している。
【００６６】
これにより、例えば、図４の表Ｔ１において、行２および３がタイトル行として指定され、かつ、変換対象が行２および行３に設定された場合、変換処理部２４は、例えば、図１０に示すように複数行から構成されていたタイトル行を、図１１に示すように、１行に変換できる。
【００６７】
さらに、変換処理部２４は、複数のタイトル行を１行に変換するときと同様に、変換対象となる行のうち、上記タイトル行以外の行を、上記指定されたタイトル行と同じ行数毎に分割できる。また、分割されたタイトル行と同じ行数の行のそれぞれを１塊とするとき、上記変換処理部２４は、複数のタイトル行を１行に変換するときと同様、上記データ構成情報に基づいて、各塊を１行に変換できる。これにより、移動したタイトルに対応するデータは、タイトルと同様の行位置に移動される。
【００６８】
例えば、図４に示す表の全てが変換対象である場合、タイトル行以外の行４〜１３は、それぞれ２行ずつの塊Ｇ２〜Ｇ６に分割され、各塊Ｇ２〜Ｇ６が１行ずつに変換される。これにより、タイトル行以外の行４〜１３は、図７に示すように、５行に変換される。例えば、行４および行５からなる塊Ｇ２は、図７では、行３に変換されている。
【００６９】
なお、上記復元処理部２５は、上記セルの内容を移動する際、各セルに設定された式の演算結果が変化しないように、各セルの式において評価対象となっているセルの位置を、復元時のセルの位置の移動に応じて変更している。
【００７０】
また、上記解析結果情報には、上記指定されたタイトル行に含まれる各セルの書式設定を示す書式情報が含まれており、上記データ構成解析部２３は、上記表形式データ記憶部１１を参照して、上記タイトル行に含まれる各セルの書式を取得し、各セルの書式を示す情報を、上記解析結果情報として格納できる。加えて、上記解析結果情報には、上記タイトル行に含まれる各セルについて、いずれのセルと結合されているかを示す結合情報も含まれており、上記データ構成解析部２３は、上記表形式データ記憶部１１を参照して、上記タイトル行に含まれる各セルが、いずれのセルと結合されているかを解析し、その結果を示す結合情報を、上記解析結果情報として格納できる。
【００７１】
一方、上記復元処理部２５は、上記変換処理部２４と逆の処理を行う処理部であって、変換対象とする各行について、解析結果記憶部２２に格納された解析結果のうちのデータ構成情報から、元の１塊において、各列において縦に並んでいるセルの数を取得できる。さらに、復元処理部２５は、各列のうち縦に並んでいるセルの数が複数であると特定された列については、その列の隣（上記変換処理部２４と同じく右隣）に並んでいるセルを、縦に積み重ねて、当該列に上記特定された数だけのセルが縦に並ぶように変換できる。
【００７２】
ここで、上述したように、本実施形態に係る変換処理部２４は、列を追加する際、右隣に列を追加しており、２からＮ−１までの整数をｉとし、元の列がｋ列目の列とするとき、ｉ行目のセルの内容が、ｋ＋ｉ−１列目に配置されるように、セルの内容を移動している。したがって、上記データ構成情報に、列ｋにＮ個のセルが縦に並んでいることを示す情報が記憶されていた場合、本実施形態に係る復元処理部２５は、ｋ＋１からｋ＋Ｎ−１までの整数をｉとし、元の行をｊ行目とするとき、ｊ行目の下にＮ−１行の行を追加すると共に、列ｉのセルが、列ｋのｊ＋ｉ−ｋ行目に配されるように、各セルの内容を移動する。なお、変換対象とする各行について、上記セル内容の移動が行われると、列ｋの隣のＮ−１列が空列になるので、復元処理部２５は、当該Ｎ−１列を削除している。
【００７３】
これにより、復元処理部２５は、タイトル行が複数だった列から始まるＮ列のデータ（Ｎ個のセルの内容）が１列になるように、Ｎ−１行を追加し、上記Ｎ列のデータを縦に積み上げることができる。
【００７４】
さらに、復元処理部２５は、各行を複数行からなる塊ずつに復元すると、上記解析結果記憶部２２に記憶された書式情報に基づいて、１行に変換する前の各セルの書式を特定し、復元された各セルの書式を、１行に変換する前の各セルの書式と同じになるように設定する。また、復元処理部２５は、上記解析結果記憶部２２に記憶された結合情報に基づいて、１行に変換する前の各セルが、いずれのセルと結合されていたかを特定し、復元された各セルを、１行に変換する前と同様に結合できる。これにより、図９に示す表Ｔ４では、罫線やフォントなどの書式設定、および、各セルの結合状態も、図４と同様の状態に復元されている。
【００７５】
上記構成では、図１２に示すＳ１１において、情報処理装置１のタイトル行入力受付部２１が、ユーザによるタイトル行の指定を受け付けると、Ｓ１２において、データ構成解析部２３は、当該Ｓ１１にて指定されたタイトル行を解析して、上記データ構成情報、書式情報および結合情報を含む解析結果情報を上記解析結果記憶部２２に格納する。
【００７６】
ここで、上述したタイトル行を１行に変換する処理を行った後、タイトル行以外の行について、各塊を１行ずつに変換する処理を行ってもよいが、本実施形態に係る変換処理部２４は、タイトル行を１行に変換しながら、タイトル行以外の行について、各塊を１行ずつに変換している。
【００７７】
具体的には、変換処理部２４は、Ｓ２１において、上記データ構成情報に基づいて、タイトル行のうち、複数のセル（Ｎセル）が縦に並んでいる列の隣に、Ｎ−１列追加して、２段目以下（２行目以降）のセルの内容を、追加した列に移動する。
【００７８】
さらに、変換処理部２４は、Ｓ２２において、上記データ構成情報に基づいて、タイトル行と同様に、複数のセル（Ｎセル）が縦に並んでいる列の隣にＮ−１列追加し、Ｓ２３において、移動したタイトルに対応するデータ（セルの内容）をタイトルと同様の行位置に移動する。なお、上記Ｓ２１におけるタイトル行の処理において、タイトル行以外の行についても列が追加されていれば、Ｓ２２の処理を省略してもよい。
【００７９】
上記Ｓ２１〜Ｓ２３の処理は、全てのデータが移動されるまで（Ｓ２４にてYES になるまで）繰り返される。これにより、複数のセル（Ｎセル）が縦に並んでいる列の隣にＮ−１列が追加され、追加された各列のうち、各塊の第１行目のセルには、２段目以下（２行目以降）のセルの内容が移動される。
【００８０】
また、上記Ｓ２１〜Ｓ２４の処理は、タイトル行において、複数のセルが縦に並んでいる列が無くなるまでの間（Ｓ２５にてYES になるまでの間）繰り返される。これにより、複数行からなる塊の複数（Ｇ１〜Ｇ６）によって構成された表Ｔ１（図４参照）が、図７に示す表Ｔ２のように、各塊が１行になるように変換される。
【００８１】
なお、上記Ｓ２１〜Ｓ２４における列の追加およびセルの内容の移動によって、複数行からなる塊を１行に変換した結果、各塊のうち、２行目以降の行は、空行になっているが、変換処理部２４は、例えば、上記Ｓ２４において、タイトル行において、複数のセルが縦に並んでいる列が無くなったことを検出した場合などの時点で、各塊（タイトル行数分の行）のうち、２行目以降の行を削除している。
【００８２】
一方、復元処理部２５が元の複数行の構造へと変換する際の動作を、図１３に示すフローチャートに基づいて説明すると、以下の通りである。すなわち、Ｓ３１において、復元処理部２５は、解析結果記憶部２２に格納された解析結果情報に基づいて、タイトル行数が複数であるか否かを判定する。一例として、本実施形態に係る復元処理部２５は、データ構成情報に基づき、縦に並んでいるセルの数が複数になっている列があるか否かによって、タイトル行数が複数であるか否かを判定している。
【００８３】
タイトル行の行数が複数の場合（上記Ｓ３１にてYES の場合）、復元処理部２５は、Ｓ３２において、解析結果記憶部２２に記憶されていたデータ構成情報に基づき、上述したように、複数行のタイトルを積み上げる。さらに、復元処理部２５は、Ｓ３３において、タイトル行以外の各行についても、上述したように、タイトル行が複数だった列から始まるＮ列のデータ（Ｎ個のセルの内容）が１列になるように、Ｎ−１行を追加し、上記Ｎ列のデータを縦に積み上げる。
【００８４】
さらに、復元処理部２５は、Ｓ３４において、上記解析結果記憶部２２に記憶されていた書式情報に基づいて、各塊を構成する各セルの書式を設定する。さらに、復元処理部２５は、上記解析結果記憶部２２に記憶されていた書式情報に基づいて、各塊を構成する各セルを結合する。
【００８５】
これにより、図８に示すように、１塊のデータが１行に配置されていた表Ｔ３は、図９に示すように、各塊のデータが複数行に配置された表であって、しかも、罫線やフォントなどの書式設定、および、各セルの結合状態も、図４の表Ｔ１と同様の状態に復元された表Ｔ４に復元される。なお、上記Ｓ３１において、タイトル行数が複数ではないと判定した場合、復元処理部２５は、上記Ｓ３２以降の処理を行うことなく、処理を終了する。
【００８６】
ところで、上記では、データ構成解析部２３が、タイトル行入力受付部２１が指定を受け付けたタイトル行を解析する場合について説明したが、本実施形態に係るデータ構成解析部２３は、表形式データに予め設定されているタイトル行を参照し、当該タイトル行を解析してもよい。
【００８７】
具体的には、表が複数ページに渡る場合に、２ページ以降にも、表のタイトル行を表示／印刷するために、編集処理部１２は、表のタイトル行の指定操作を受け付けると、当該タイトル行を示すデータを表形式データに設定できる。さらに、編集処理部１２は、表形式データにおいてタイトル行が設定されている場合、２ページ以降を表示／印刷する際、そのページの表の最初の行の前に、上記設定されたタイトル行を表示／印刷できる。
【００８８】
一方、データ構成解析部２３は、例えば、表形式データに設定されたタイトル行（ページ設定データ）を解析して上記変換処理を行うように指示された場合、あるいは、例えば、１塊のデータが複数行に配置されている表を、１塊のデータが１行に配置された表に変換するように指示されたときに、初期設定として、表形式データに設定されたタイトル行を提示し、特に変更されない場合などに、当該表形式データに設定されたタイトル行を解析できる。これにより、変換処理部２４は、表形式データに設定されたタイトル行に基づいて、１塊となるデータを特定し、１塊のデータが複数行に配置されている表を、１塊のデータが１行に配置された表に変換できる。
【００８９】
また、上記では、タイトル行入力受付部２１がタイトル行の指定操作を受け付け、データ構成解析部２３および変換処理部２４が、当該タイトル行に基づいて、１塊となるデータを特定する場合について説明したが、本実施形態に係るタイトル行入力受付部２１は、タイトル行の入力に代えて、表の途中に配置された１塊の指定操作を受け付けることもできる。この場合、データ構成解析部２３は、複数行からなるタイトル行を解析する場合と同様に、当該入力された塊となる複数行を解析し、変換処理部２４は、タイトル行を１行に変換すると共に、タイトル行以外の行を塊毎に分割して、各塊を１行ずつに変換する場合と同様に、上記指定された塊を１行に変換すると共に、変換対象のうちの上記指定された塊以外の行を塊毎に分割して、各塊を１行ずつに変換する。
【００９０】
例えば、図４に示す表Ｔ１において、行５および行６が１塊であるとの指定をタイトル行入力受付部２１が受け付け、変換対象として表全体が指定されると、データ構成解析部２３は、行５および行６を解析し、変換処理部２４は、図７に示す表Ｔ２を生成できる。
【００９１】
さらに、タイトル行入力受付部２１が表の途中に配置された１塊の指定操作を受け付けた場合、本実施形態に係る変換処理部２４および復元処理部２５は、空の塊を含まないように、指定された１塊の前または後に塊を追加していき、最も広くなった範囲を変換対象とするなどして、変換対象を推定できる。
【００９２】
また、本実施形態に係る変換処理部２４および復元処理部２５は、変換対象を推定した場合、例えば、上記推定した変換対象を初期設定の変換対象として提示し、それが誤っていた場合は変換対象となる範囲の修正指示を受け付けるなどして、推定した変換範囲の修正指示を受け付けることができる。
【００９３】
ここで、一般に、タイトル行の上には、表のタイトルが配置されていることがあるので、上記のように推定すると、表のタイトルも変換対象として推測してしまう虞れがある。このように、表の途中に配置された１塊の指定操作を受け付けた場合は、タイトル行の指定操作を受け付けた場合と比較して、変換対象を誤って推定する可能性が高い。
【００９４】
ところが、変換処理部２４および復元処理部２５は、推定した変換範囲の修正指示を受け付けることができる。したがって、推定が誤っていた場合は、誤った変換対象を変換してしまうことを防止でき、しかも、推定が正しい場合は、変換対象を指定する手間を省略できる。
【００９５】
なお、上記では、タイトル行が表形式データに設定されていた場合と、ユーザがタイトル行を指定した場合と、および、ユーザが１塊となる範囲を指定した場合とのいずれであっても、それらの指定または設定に基づいて１塊となるデータを特定可能なように、上記情報処理装置１が構成されている場合について説明したが、これに限るものではない。これらのいずれかに基づいて１塊となるデータを特定できれば、同様の効果が得られる。
【００９６】
〔第２の実施形態〕
ところで、上記では、表形式データに設定されていたタイトル行、ユーザによって指定されたタイトル行、あるいは、ユーザによって指定された１塊となる範囲によって、データ構成解析部２３および変換処理部２４は、１塊となるデータを特定していたが、これに限るものではない。これらの指定／設定の参照に代えて、または、加えて、表形式データのフォーマットを解析して、１塊となるデータを特定してもよい。
【００９７】
一例として、これらの指定／設定の参照に代えて、表形式データのフォーマット解析によって、１塊となるデータを特定する構成について説明する。すなわち、図１４に示すように、本変形例に係る情報処理装置１ａは、図１に示す情報処理装置１と略同様の構成であるが、タイトル行入力受付部２１に代えて、表形式データのフォーマット解析によって、１塊となるデータを特定する塊推定処理部（塊推定手段）２６が設けられている。
【００９８】
より詳細には、本実施形態に係る塊推定処理部２６は、表形式データを参照して、表のフォーマットを解析し、表において、一定のフォーマットが、ある複数の行数毎に繰り返されている場合、これら複数の行を１塊として推定できる。本実施形態では、フォーマットの一例として、書式設定、セルの結合状態、セルが空であるか否か、あるいは、それらの組み合わせを解析しており、例えば、書式設定としての罫線設定が、ある複数の行数毎に繰り返されている場合、これらの行を１塊として推定する。
【００９９】
例えば、図４の例では、２行毎に同じ罫線設定が繰り返されている。したがって、塊推定処理部２６は、表Ｔ１は、２行毎の塊Ｇ１〜Ｇ６に分割できると判断し、そのうちの１塊（例えば、行１および２）を解析するように、データ構成解析部２３へ指示する。
【０１００】
これにより、塊の推定が正しければ、第１の実施形態に係る情報処理装置１と同様に、１塊のデータを複数行に配置した表（Ｔ１およびＴ４）と、１塊のデータを１行に配置した表（Ｔ２およびＴ３）とを相互に変換できる。
【０１０１】
また、本実施形態に係る塊推定処理部２６は、例えば、１塊と推定した行（複数行）をユーザに提示して、それが誤っていた場合は塊となる行の修正指示を受け付けるなどして、推定した塊の修正指示を受け付けることができる。これにより、推定が正しければ、塊を指定する手間を省略できると共に、塊が誤っていた場合にも、誤った単位で表を変換してしまうという不具合の発生を防止できる。
【０１０２】
なお、上記各実施形態では、１塊となる複数行の各列の中に、複数のセルが縦に並んだ列がある場合、その列の隣に列を追加し、その塊の２行目以降のセルの内容を当該追加した列に移動しているが、これに限るものではない。複数行からなる１塊を１行に変換できれば、他の列（最後の列など）に、上記２行目以降のセルの内容を移動してもよい。
【０１０３】
ただし、上記各実施形態のように、その列の隣の列に移動すれば、複数行を１塊とする表において縦に隣接して表示されていたセル同士を、各塊を１行ずつに変換した表においても隣接して表示させることができる。ここで、横に隣接して表示されていたセル同士は、変換後、いくつかのセルを置いて配置されることになるが、一般に、１塊において、縦に並べられたセルの数は、１塊において、横に並べられているセルの数よりも少ない。この結果、最後の列に移動した場合と比較して、変換後の表を見やすくすることができる。
【０１０４】
なお、上記各実施形態に係るデータ構成解析部２３は、書式情報として、１塊の書式情報を記憶しているが、これに限るものではない。表は、タイトル行となる塊（第１の塊）と、実際のデータが入力される塊（タイトル行以外の塊）のうちの最初の塊（第２の塊）と、実際のデータが入力される塊のうちの最後の塊（第３の塊）と、実際のデータが入力される塊のうちの残余の塊（第４の塊）とは、書式が異なっていることがある。
【０１０５】
したがって、データ構成解析部２３は、解析結果情報のうち、書式情報については、表形式データ記憶部１１に記憶されている変換対象の中から、上記第１〜第４の塊を、それぞれ１塊ずつ選択し、それぞれの書式情報を生成してもよい。また、復元処理部２５は、各行を塊に復元する際、各行を、「タイトル行」、「タイトル行以外の行のうちの最初の行」、「タイトル行以外の行のうちの最後の行」、「タイトル行以外の行のうちの最初でも最後でもない行」のいずれにあたるかを判定し、１行を塊に復元する際、第１〜第４の塊の書式情報のうち、判定結果に応じた書式情報を適用してもよい。
【０１０６】
また、上記各実施形態では、データ構成解析部２３は、解析結果として、書式情報を生成しているが、これに限るものではない。例えば、書式情報を生成する代わりに、書式情報を保持したまま、各セルを移動してもよい。また、上記では、データ構成解析部２３が１塊となるセルを解析する際、解析結果情報として、縦に並んでいるセルの数を取得し、それらの数を示すデータ構成情報を生成しているが、これに限るものではない。
【０１０７】
１つの塊に含まれるセルが１つの処理単位に含まれるように上記変換対象を変換する際の変換手順、および、その逆変換を行う際の逆変換手順を特定すると共に、当該両手順を示す情報を解析結果として生成できれば、同様の効果が得られる。一例として、単に１つの塊に含まれる行数であっても、各行に含まれるセル全てを１行にまとめたり、その逆に分散させることができるので、当該行数を示す情報を、解析結果として生成してもよい。
【０１０８】
ただし、上記各実施形態のように、結合されているか否か（縦に並んだセルの数）を数えた場合、１行に変換する際、以下のセル、すなわち、あるセルに結合された結果、データが入力されないセルを飛ばして配置することができる。したがって、セルが結合されているか否かに拘わらず、一律に変換する上記構成よりも、変換後の表を見やすくすることができる。
【０１０９】
なお、データ構成解析部２３は、セルが結合されているか否かを解析する代わりに、セルの内容が空であるか否かを解析し、内容が空のセルを飛ばして配置してもよい。この場合でも、上記一律に変換する構成よりも変換後の表を見やすくすることができる。ただし、この場合は、解析対象となった塊のセルが偶然空きになっているだけであり、他の塊における同じ位置のセルには、データが入力されている場合も、そのセルを飛ばして配置する虞れがある。したがって、この場合は、複数の塊を解析する方が望ましい。
【０１１０】
なお、上記各実施形態では、１塊となる行が特定された後、変換処理部２４が各塊を１行ずつに変換し、行単位の処理を受け付けた後、復元処理部２５が各行を塊に復元することによって、塊単位の処理を実現しているが、これに限るものではない。
【０１１１】
例えば、１塊となる行が特定された後、編集処理部１２が行単位の操作を受け付ける代わりに、塊単位の操作を受け付けてもよい。なお、この場合、編集処理部１２は、変換処理部２４と同様に内部で１行に変換し、上記受け付けた操作に応じた処理を行った後、復元処理部２５と同様に内部で塊に変換してもよいし、上記特定された塊単位での処理を行うルーチンを新たに作成して、編集処理部１２を実現してもよい。
【０１１２】
いずれの場合であっても、タイトル行入力受付部２１が１塊となる範囲の指定を受け付け、例えば、編集処理部１２、変換処理部２４および復元処理部２５などからなるデータ処理部が、当該塊を単位として、上記表形式のデータを処理できれば、同様の効果が得られる。
【０１１３】
したがって、いずれの数の処理単位に、１塊となるセルが配置されていたとしても、データ処理部は、その表形式のデータに合った単位で、例えば、ソート、フィルタリング、および、各塊を１処理単位ずつに変換する処理などの処理を行うことができる。これにより、１塊のセルが複数の処理単位に配置されている表形式のデータに対して、何ら支障なく、各塊を単位とした処理を行うことができる。
【０１１４】
さらに、上記各実施形態では、複数行が１塊である表と、１行が１塊である表とを相互に変換する場合を例にして説明したが、行と列とを入れ換えても同様の効果が得られる。具体的には、情報処理装置（１・１ａ）は、複数列が１塊である表と、１列が１塊である表とを相互に変換してもよい。なお、上記各説明において、行と列とを入れ換え、上と左とを入れ換え、さらに、下と右とを入れ換えれば、情報処理装置は、複数列が１塊である表と、１列が１塊である表とを相互に変換できる。
【０１１５】
この場合であっても、情報処理装置の編集処理部（１２）が複数列を単位とする処理を行うことができなかったとしても、列を単位とする処理を行うことさえできれば、行の場合と略同様に、情報処理装置が複数列が１塊である表と、１列が１塊である表とを相互に変換することによって、何ら支障なく、複数列を対象とする処理を行った後の表を生成できる。
【産業上の利用可能性】
【０１１６】
表計算アプリケーション、作表アプリケーションをはじめとして、表形式のデータを処理する情報処理装置に広く適用できる。
【図面の簡単な説明】
【０１１７】
【図１】本発明の実施形態を示すものであり、情報処理装置の要部構成を示すブロック図である。
【図２】上記情報処理装置の画面例を示すものであり、表形式データが表形式で表示されている状態を示す図面である。
【図３】上記情報処理装置の画面例を示すものであり、上記表形式データを、行を単位としてソートした状態を示す図面である。
【図４】上記情報処理装置の画面例を示すものであり、１塊のデータが複数行に配置された表が表示されている状態を示す図面である。
【図５】上記情報処理装置の画面例を示すものであり、上記１塊のデータが複数行に配置された表に対して、行を単位とするソートを行った状態を示す図面である。
【図６】上記情報処理装置の動作を示すフローチャートである。
【図７】上記情報処理装置の画面例を示すものであり、上記１塊のデータが複数行に配置された表に対して、各塊を１行ずつに変換した状態を示す図面である。
【図８】上記情報処理装置の画面例を示すものであり、上記表に対して、行を単位とするソートを行った状態を示す図面である。
【図９】上記情報処理装置の画面例を示すものであり、上記表の各行を複数行に配置することによって、上記１塊のデータが複数行に配置された表に復元した状態を示す図面である。
【図１０】複数の行からなるタイトル行の一例を示す図面である。
【図１１】上記変換処理によって、上記タイトル行を１行に変換した状態を示す図面である。
【図１２】上記情報処理装置の動作を示すものであり、上記変換処理の詳細を示すフローチャートである。
【図１３】上記情報処理装置の動作を示すものであり、上記復元処理の詳細を示すフローチャートである。
【図１４】本発明の他の実施形態を示すものであり、情報処理装置の要部構成を示すブロック図である。
【符号の説明】
【０１１８】
１・１ａ  情報処理装置
１２        編集処理部（情報処理部；データ処理手段）
２１        タイトル行入力受付部（受付手段）
２２        解析結果記憶部（記憶装置）
２３        データ構成解析部（解析手段）
２４        変換処理部（変換手段）
２５        復元処理部（復元手段）
２６        塊推定処理部（塊推定手段）
【図１】
2007122638.tif 000003
【図２】
2007122638.tif 000004
【図３】
2007122638.tif 000005
【図４】
2007122638.tif 000006
【図５】
2007122638.tif 000007
【図６】
2007122638.tif 000008
【図７】
2007122638.tif 000009
【図８】
2007122638.tif 000010
【図９】
2007122638.tif 000011
【図１０】
2007122638.tif 000012
【図１１】
2007122638.tif 000013
【図１２】
2007122638.tif 000014
【図１３】
2007122638.tif 000015
【図１４】
2007122638.tif 000016