(57)【要約】      （修正有）【課題】表計算ソフトウェアで用いられるスプレッドシートにおいて、文字列データを全く含まない欄を削除して、一度に、より広い範囲を表示させる。【解決手段】表示したい画面の基点となる「表示基点」を指定する。表示基点から、その隣の行（あるいは列）に表示する文字列データがあるかどうかを次々と調べて、文字列データがあればその行（あるいは列）を表示すると決める。表示すると決めた行（あるいは列）の数が、画面で表示可能な数の限界に達したならば、ディスプレイ上の画面に「文字列データ番号」を表示する。その「文字列データ番号」に対応する文字列を、別に設けられた「表示欄」に表示する。【選択図】図１
2007207204.tif 000002
【特許請求の範囲】
【請求項１】
表計算ソフトウェア、及び、多数の線で区切られた「欄」を持ってこの中に文字列データを格納した「表」を使用しているソフトウェア、及び、この「表」を使用している「方法」において、文字列データのない「欄」は取り除いて、文字列データのある「欄」のみを「圧縮順配列」によって記憶させておき、文字列データのない「欄」は自動的に省略して、文字列データのある「欄」を表示する画面を構成する「文字列データ表示方法」。
【請求項２】
請求項１に記載の「文字列データ表示方法」を使用している「物」、すなわちハードウェア。
【発明の詳細な説明】
【発明の詳細な説明】
表計算ソフトウェアなどで用いられるスプレッドシートにおいて、取り扱う文字列データがまばらにしか存在しない場合に、文字列データがない部分を省略して、文字列データがある部分を記憶し、文字列データのある部分を表示させる仕方である。
ＥＸＣＥＬあるいはＬｏｔｕｓ１−２−３などで代表される表計算ソフトウェアでは、多数の縦横の線で区切られたセルと呼ばれる四角の「欄」をもち、この中にデータを格納したスプレッドシート（あるいはワークシート）と呼ばれる「表」を使っている。
従来、コンピュータのディスプレイ上にデータを表示する際には、セルの並んだ順番にそのままに表示するか、あるいは、使用者が指定した行あるいは列のみを表示していた。しかしながら、「表」が非常に大きく、しかも、文字列データがまばらな場合（すなわち、「表」であらわされた「行列」（Ｍａｔｒｉｘ）が希薄配列である場合）には、閲覧すべき文字列データが少数であるにもかかわらず、何度も画面を切り替えてディスプレイに表示するしか表示法がなかった。
本発明は、このような場合に、文字列データのない「欄」は自動的に省略し、文字列データのある「欄」のみを表示することを可能にする。
以下の説明に用いる「表」の大きさは図４に示すように２０行・２０列とし、表示できる画面はその内の５行・５列としているが、実際には、コンピュータで用いられるディスプレイで一度に表示できないぐらいの多数の行数と列数を持つ「表」を対象としている。「表」の中の数値は、第何番目の「文字列データ」であるかを示す「文字列データ番号」である。図２には、従来の表示による画面を示している。
表示する画面を決めるための具体的な手順は、以下の通りである。
（イ）文字列データがまばらにしか存在しない「表」（図４を参照）において、表示したい画面の中心となる「表示基点」を入力する。すなわち、元の「表」の第何列・第何行を、画面のどの位置とするかを指定する。
（ロ）表示基点の行（あるいは列）に文字列データがあれば表示する行（あるいは列）とし、その隣の行（あるいは列）には表示する文字列データがあるかをどうかを次々と調べて、表示するかどうかを決める。図５と図６を参照。
（元の図４の第４行・第３列を左・上の表示基点として調べている途中であるので、図５と６において「−」で示した欄は未定である。）
（ハ）（ロ）において、表示すると決めた行（あるいは列）の数が、画面で表示可能な数の限界に達したならば、ディスプレイの画面上に「文字列データ番号」を表示する。図１を参照。
（ニ）（ハ）において、ディスプレイの画面上に表示された「文字列データ番号」のうちで、閲覧したい箇所の番号を指定して、その文字列データを「表示欄」に表示させる。図３を参照。
図１は、図４に示した元の「表」の第４行・第３列を左・上の表示基点とし、行と列を同時に一つずつ調べて表示した画面である。図７は、列は第３列から第７列までに固定し、行を一行ずつ調べて表示した画面である。図８は、行は第４行から第８行までに固定し、列を一列ずつ調べて表示した画面である。
このように、文字列データがまばらにしか存在しない場合には、すなわち、図１に示したように、第６行の第３列から１０列まで、第３列、５列、７列の第４行から９行までに表示すべき文字列データが無い場合には、その１行及び３列を省略して、（コンピュータの）ディスプレイに表示する。同様に、図７に示したように、第６，９，１０行の第３列から７列までに表示すべきデータが無い場合には、その３行を省略してディスプレイに表示する。また、図８に示したように、第３，５，７，９列の第４行から８行までに表示すべき文字列データが無い場合には、その４列を省略してディスプレイに表示する。
また、図４で表されるような、文字列データがまばらにしか存在しない、非常に大きな「表」では、文字列データのない「欄」も含めたすべての「欄」を記憶しておく必要はない。文字列データのない「欄」は取り除いて、文字列データのある「欄」のみを連続して順番に記憶させた「圧縮順配列」により、不要なメモリを省くことができる。すなわち、図４のような大きな「表」を概念上取り扱っているにすぎない。
「圧縮順配列」を以下に説明する。いま、一例として、図４の表示したい「表」の中にある文字列データを、行方向と列方向に記憶させる。この「表」に関しては、文字列データのある「欄」のみを記憶するために、文字列データ及びその論理的位置からなる構造体を作成する。これは、文字列データのみを集めて、（すなわち、文字列データのない「欄」を取り除いて、文字列データのある「欄」だけに圧縮して、）順配置したデータ構造である。例えば、「表」の第４行に対しては、
列番号          ：    １    ２    ６    ８  １０  １３
文字列データ番号：  １３  １４  ６８  １６  １７  １８
である。具体的には、（例えば、）配列名ｃｏｌｉｎｄ，ｃｏｌｎｕｍを用いて、
ｃｏｌｉｎｄ（４，３）＝６，  ｃｏｌｎｕｍ（４，３）＝６８
のように記憶する。例えば図７においては、第４行から順に第５行、第６行、・・・とずらす。それに対応して、
ｃｏｌｉｎｄ（４，．），ｃｏｌｉｎｄ（５，．），ｃｏｌｉｎｄ（６，．），・・・
を調べる。第３列から７列までの範囲内で文字列データがあれば、その行を表示する。
また同様に、例えば、「表」の第５列に対しては、
行番号          ：    １    ３
文字列データ番号：  ６５    ９
である。具体的には、（例えば、）配列名  ｒｏｗｉｎｄ，ｒｏｗｎｕｍを用いて、
ｒｏｗｉｎｄ（５，２）＝３，  ｒｏｗｎｕｍ（５，２）＝９，
のように記憶する。例えば図８においては、第３列から順に第４列、第５列、・・・とずらす。それに対応して、
ｒｏｗｉｎｄ（３，．），ｒｏｗｉｎｄ（４，．），ｒｏｗｉｎｄ（５，．），・・・
を調べる。第４行から８行までの範囲内で文字列データがあれば、その列を表示する。
次に、指定された欄に記載された文字列データの内容を表示する際には、配列ｄａｔｃｏｎ（．）で指定されたメモリから文字列を読み込んでくる。例えば、第４行第６列の文字列データ番号６８に対して、ポインタｄａｔｃｏｎ（６８）で指定されたメモリから文字列を読み込んできて、別に設けられた「表示欄」には以下のように表示される。
2007207204.tif 000003
（３）システム設計
（３．１）プログラム全体の構造設計
（３．２）ファイルおよびデータベース設計
2007207204.tif 000004
図３を参照。また、第３行第５列の文字列データ番号９に対して、ポインタｄａｔｃｏｎ（９）で指定されたメモリから文字列を読み込んで、「表示欄」には以下のように表示される。
2007207204.tif 000005
（２）人的および物的資産の投入計画
（３）プロジェクトチームのメンバー構成
2007207204.tif 000006
以上に述べたのは、行方向と列方向の二重に記憶した方法である。これ以外にも、データ構造はある。例えば、ななめ方向、対角線毎に文字列データを記憶するデータ構造である。この場合には、一方向は、例えば、１行１列の文字列データ番号１から、９行９列の文字列データ番号３５までの配列である。他方向は、例えば、３行１８列の文字列データ番号１１から、１５行６列の文字列データ番号４９までの配列である。
本発明は、文字列データを全く含まない欄を削除して、一度に、より広い範囲を表示させるので、従来の表示法と比較して、より見やすく、より効率よく閲覧できる機能が実現できる。例えば、図１では、５行×５列の２５欄の表示画面によって、元の「表」の第４行から第９行までの６行と、第３列から第１０列までの８列で表された４８欄（２５欄の約１．９倍）を表示したことになる。文字列データを含まない欄が多ければ多いほど、より広い範囲の欄を一度に表示できる。
【図面の簡単な説明】
【図１】行と列を同時に調べた場合の、ディスプレイによる表示画面（元の「表」の第４行・第３列を、表示画面の左・上の表示基点とし、表示の限界を５行・５列とした場合）
【図２】ディスプレイによる従来の表示画面
【図３】表示された文字列データ
【図４】表示したい「表」（スプレッドシートあるいはワークシート）（「表」の大きさを２０行・２０列とした場合）
【図５】基点から数えて、２行と２列を表示すると決めたときの状態
【図６】基点から数えて、４行と４列を表示すると決めたときの状態
【図７】行のみを調べた場合の、ディスプレイによる表示画面（表示の限界を５行・５列とした場合）
【図８】列のみを調べた場合の、ディスプレイによる表示画面（表示の限界を５行・５列とした場合）
【図１】
2007207204.tif 000007
【図２】
2007207204.tif 000008
【図３】
2007207204.tif 000009
【図４】
2007207204.tif 000010
【図５】
2007207204.tif 000011
【図６】
2007207204.tif 000012
【図７】
2007207204.tif 000013
【図８】
2007207204.tif 000014