【事件の表示】
　特願２００６−　５１１４９「スプレッドシートによる、まばらな文字列データの表示法」拒絶査定不服審判事件〔平成１９年　８月１６日出願公開、特開２００７−２０７２０４〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続きの経緯・本願発明
 　本願は、平成１８年１月３１日の出願であって、その請求項１に記載された発明（以下、「本願発明」という。） は、願書に添付された明細書、特許請求の範囲及び図面の記載からみて、その特許請求の範囲の請求項１に記載された次のとおりのものと認める。
　「【請求項１】
表計算ソフトウェア、及び、多数の線で区切られた「欄」を持ってこの中に文字列データを格納した「表」を使用しているソフトウェア、及び、この「表」を使用している「方法」において、文字列データのない「欄」は取り除いて、文字列データのある「欄」のみを「圧縮順配列」によって記憶させておき、文字列データのない「欄」は自動的に省略して、文字列データのある「欄」を表示する画面を構成する「文字列データ表示方法」。」
 　 
２．引用例
（１）原査定の拒絶の理由に引用された錦織昭峰、「スプレッドシートのためのまばらなデータの表示法」、日本シミュレーション学会第１７回シミュレーション・テクノロジー・コンファレンス発表論文集、日本、日本シミュレーション学会、１９９８年６月、ｐ．２７９−２８２（以下、「刊行物１」という。）には、
　ア　「１　まえがき
　Ｌｏｔｕｓ１−２−３あるいはＥｘｃｅｌなどで代表される表計算ソフトウエアでは、多数の縦横の線で区切られたセルと呼ばれる四角の「欄」をもち、この中にデータを格納したスプレッドシート（あるいはワークシート）と呼ばれる「表」を使っている。
　従来、コンピュータのディスプレイ上にデータを表示する際には、セルの並んだ順番にそのままに表示するか、あるいは、使用者が指定した行あるいは列のみを表示していた。しかしながら、スプレッドシートが非常に大きく、しかも、データがまばらな場合（すなわち、スプレッドシートであらわされたマトリックスが希薄配列である場合）には、閲覧すべきデータが少数であるにもかかわらず、何度も画面を切り替えてディスプレイに表示するしか表示法がなかった。
　本研究では、表計算ソフトウェアなどで用いられるスプレッドシートにおいて、取り扱うデータがまばらにしか存在しない場合に、データがない部分を省略して記憶し、データのある部分のみを自動的に表示させる方法を提案する［１］。筆者は、この方法を、大規模なスプレッドシートを用いた大学成績処理に適用している［２］。」（２７９頁左欄１行〜右欄８行）、
　イ　「２　データ構造
　多次元の配列は、その大きさに対して必要な記憶領域が指数関数的に増加するために、非常に多くのメモリ量を消費する。例えば、１０×１０の英文字配列は１００バイトのメモリしか必要としないけれども、１００×１００の配列は１０，０００バイトのメモリを、１，０００×１，０００の配列は１，０００，０００バイトのメモリが必要となる。しかしながら、希薄な配列あるいは疎配列（ｓｐａｒｓｅ　ａｒｒａｙ）においては、すべての要素が実際に存在しているわけではない。そのため、配列全体にメモリを割り当てるのではなく、実際に存在する配列要素のみに必要に応じてメモリを割り当てる方法、すなわち、動的な割り付け方法が有効となる。
　希薄配列を実現する方法としては、主に、リスト連結、二分木、ポインタ配列がある［３］。最も代表的な市販スプレッドシート・パッケージであるＬｏｔｕｓ１−２−３のように、セルに数値だけでなく関係式が入力でき、１セルに２００バイト以上のメモリを要する場合には、それらの方法は確かに有効である［４］。
　リスト連結、二分木の場合、メモリは効率よく利用できる。しかし、動的に割り付けられたデータが、論理的に連続したものであっても、物理的に連続して記憶されているという保証がない。すなわち、ある列の非零要素が主記憶上の番地にその順に並び、かつ、連続して格納されているとは限らない。そのため、キャッシュメモリのヒット率が低下して処理が遅くなる［５，６］。
　本研究では、各セルには数値のみが入力されている場合を考察する。数値のみを取り扱う場合には、１セルが４または８バイト程度であり、非零要素のみを圧縮した順配置表現によって記憶することを考える［７］。これは、順配置表現の一種であることから、論理上連続したデータは必ず連読して記憶されている。更に、各セルのメモリが小さいので、その連続したデータはキャッシュメモリにまとめてコピーされてくることになる。それ故に、キャッシュメモリのヒット率が高くなるので処理も速い。
　以上に述べたように、四つの表現法の処理速度やメモリ効率について考察した結果、非零要素のみの動的割り付けを前提とし、唯一、高速な処理が期待できる「圧縮順配置」表現を採用する。
　一般にスプレッドシートでは、様々な形で行あるいは列毎の処理が行われる。その処理には、それぞれ行方向・列方向のデータか必要となる。しかしながら、例えば、列毎に入力されたデータを、その並び順、すなわち、マトリクスの列方向に圧縮配置表現を用いて割り付けた場合には、行方向のデータを直接指すポインタがないので、これらの処理を高速に実現することは容易ではない。もし、ある行のすべてのデータを知ろうとするならば、すべての列について、配列内での論理的位置を示す行番号をキーに探索を行い、主記憶上に散らばったデータを集めていかなければならない。このような不便な点をなくすために、マトリクス上で任意の位置のデータが入力された時点で、行方向と列方向の二重に、圧縮順配置表現によってデータを割り付けることを考える。
　この割り付け方法では、行毎のデータも一つの並びを成し、主記憶上でも隣接することになる。そのため、行毎の処理を行う際に、キャッシュメモリのヒット率は高くなって高速な処理が可能となる。」（２７９頁右欄９行〜２８０頁右欄１６行）、
　ウ　「３　提案法
　以下の説明に用いるスプレッドシート（以下、シートと略す）の大きさは図１に示すように２０行・２０列とし、表示できる画面はその内の５行・５列としているが、実際には、コンピュータで用いられるディスプレイで一度に表示できないぐらいの多数の行数と列数を持つシートを対象としている。また、シートの中のデータは、２桁の数字のみを用いているが、文字であっても良い。図２には、第４行・第３列を左上とした場合の、従来の表示による画面を示している。
　表示する画面を決めるための具体的な手順は、以下の通りである。
　（ａ）データがまばらにしか存在しないシート（図１を参照）において、表示したい画面の中心となる「表示基点」を人力する。すなわち、元のシートの第何列・第何行を、画面のどの位置とするかを指定する。
　（ｂ）表示基点の行（あるいは列）にデータがあれば表示する行（あるいは列）とし、その隣の行（あるいは列）には表示するデータがあるかをどうかを次々と調べて、表示するかどうかを決める。
　（ｃ）（ｂ）において、表示すると決めた行（あるいは列）の数が、画面で表示可能な数の限界に達したならば、ディスプレイ上の画面に実際に表示する。
　図３は、図１に示した元のシートの第４行・第３列を左・上の表示基点とし、行と列を同時に一つずつ調べて表示した画面である。図４は、行は第４行から第８行までに固定し、列を一列ずつ調べて表示した画面である。また、列を第３列から第７列までに固定し、行を一行ずつ調べて表示することもできる。
　また、図１で表されるような、データがまばらにしか存在しない、非常に大きなシートでは、データのないセルも含めたすべてのセルを記憶しておく必要はない。データのないセルは取り除いて、データのあるセルのみを連続して順番に記憶させた圧縮順配列により、不要なメモリを省くことができる。すなわち、図１のような大きなシートを概念上取り扱っているにすぎない。
　提案法では、全くデータを含まないセルを削除して、一度に、より広い範囲を表示させるので、従来の表示法と比較して、より見やすく、より効率よく閲覧できる機能が実現できる。例えば、図３では、５行×５列の２５個のセルの表示画面によって、元のシートの第４行から第９行までの６行と、第３列から第１０列までの８列で表された４８個のセル（２５個のセルの約１．９倍）を表示したことになる。データを含まないセルが多ければ多いほど、より広い範囲のセルを一度に表示できる。」（２８０頁右欄１７行〜２８１頁左欄２８行）、
　エ　「４　シミュレーション実験
　データヘのアクセス及び表示時間を測るために、ＦＯＲＴＲＡＮにより数値実験を行う。スパース配列の大きさは１０００行×１０００列とし、乱数を用いて発生させた非零要素は１万個（非零要素率は１％）とする。表示画面は１５行×１５列とする。
　ＦＵＪＩＴＳＵのワークステーションＳ−４／ＥＣで実験した結果、１秒以下で任意の画面が得られた。一例として、第１００行・第１００列を左上とした場合には、従来では第１１５行・第１１５列までを表示する。この配列の例では、第１２３行・第１８９列までを表示するので、約９．１倍の画面を一度に表示している。非零要素率が３％の例では、第１２３行・第１３１列までを表示するので、約３．２倍の画面を一度に表示している。」（２８１頁左欄２９行〜右欄５行）、
　オ　「５　あとがき
　提案法は、データを全く含まないセルを削除して、一度に、より広い範囲を表示させるため、従来の表示法と比較して、より見やすく、より効率良く閲覧できる機能が実現できる。
　また、様々なデータの物理構造によるメモリ使用効率あるいは処理速度等に関して考察してきた結果、配列の非零要素のみを圧縮した順配置により表現して、更に行方向・列方向の二重に割り付ける方法が適していると考えられる。データを高速に処理するためには、この二重のデータをうまく使い分けるアルゴリズムが必要となる。」（２８１頁右欄６行〜１７行）が記載されている。
　
　これらの記載ア〜オ及び図面図１〜図４によれば、刊行物１には、
「多数の縦横の線で区切られたセルと呼ばれる四角の「欄」をもち、この中にデータを格納したスプレッドシート（あるいはワークシート）と呼ばれる「表」を使っている表計算ソフトウエアにおける該スプレッドシートのためのまばらなデータの表示方法であって、データのないセルは取り除いて、データのあるセルのみを連続して順番に記憶させた圧縮順配列により、不要なメモリを省き、データのある部分のみを自動的に表示させるデータ表示方法。
　表示する画面を決めるための具体的な手順は、以下の通りである。
　（ａ）データがまばらにしか存在しないシート（図１を参照）において、表示したい画面の中心となる「表示基点」を入力する。すなわち、元のシートの第何列・第何行を、画面のどの位置とするかを指定する。
　（ｂ）表示基点の行（あるいは列）にデータがあれば表示する行（あるいは列）とし、その隣の行（あるいは列）には表示するデータがあるかをどうかを次々と調べて、表示するかどうかを決める。
　（ｃ）（ｂ）において、表示すると決めた行（あるいは列）の数が、画面で表示可能な数の限界に達したならば、ディスプレイ上の画面に実際に表示する。」の発明（以下、「引用発明」という。）が記載されているといえる。
　
３．対比
　そこで、本願発明と引用発明とを対比する。
　引用発明の「セル」、「欄」は、本願発明の「欄」に相当し、引用発明の「スプレッドシート（あるいはワークシート）」、「表」は、本願発明の「表」に相当する。
　また、引用発明の「縦横の線」、「区切られた」、「格納した」、「表計算ソフトウエア」、「取り除いて」、「圧縮順配列」、「記憶させ」及び「表示」は、本願発明の「線」、「区切られた」、「格納した」、「表計算ソフトウエア」、「取り除いて」、「圧縮順配列」、「記憶させ」及び「表示」に相当する。
　本願発明の「文字列データ」は，引用発明の「データ」と相違するが、上位概念化すると「データ」といえ、本願発明の「表計算ソフトウェア、及び、多数の線で区切られた「欄」を持ってこの中に文字列データを格納した「表」を使用しているソフトウェア、及び、この「表」を使用している「方法」」は、「多数の線で区切られた「欄」を持ってこの中に文字列データを格納した「表」を使用している「方法」」を含むものであるから、引用発明の「多数の縦横の線で区切られたセルと呼ばれる四角の「欄」をもち、この中にデータを格納したスプレッドシート（あるいはワークシート）と呼ばれる「表」を使っている表計算ソフトウエアにおける該スプレッドシートのためのまばらなデータの表示方法」は、本願発明の「表計算ソフトウェア、及び、多数の線で区切られた「欄」を持ってこの中にデータを格納した「表」を使用しているソフトウェア、及び、この「表」を使用している「方法」」に相当する。
　引用発明は、記憶について、「データのないセルは取り除いて、データのあるセルのみを連続して順番に記憶させた圧縮順配列により、不要なメモリを省」くものであるから、「データのないセルは取り除いて，データのあるセルのみを圧縮順配列によって記憶させて」いるといえる。
　引用発明は、画面の構成について、「データのある部分のみを自動的に表示させる」ものであり、「表示する画面を決めるための具体的な手順は、以下の通りである。（ａ）データがまばらにしか存在しないシート（図１を参照）において、表示したい画面の中心となる「表示基点」を人力する。すなわち、元のシートの第何列・第何行を、画面のどの位置とするかを指定する。（ｂ）表示基点の行（あるいは列）にデータがあれば表示する行（あるいは列）とし、その隣の行（あるいは列）には表示するデータがあるかをどうかを次々と調べて、表示するかどうかを決める。（ｃ）（ｂ）において、表示すると決めた行（あるいは列）の数が、画面で表示可能な数の限界に達し
たならば、ディスプレイ上の画面に実際に表示する。」のであるから、「データのないセルは自動的に省略して、データのあるセルを表示する画面を構成する」ものであるといえる。
　
　したがって、本願発明と引用発明は、「表計算ソフトウェア、及び、多数の線で区切られた「欄」を持ってこの中にデータを格納した「表」を使用しているソフトウェア、及び、この「表」を使用している「方法」において、データのない「欄」は取り除いて、データのある「欄」のみを「圧縮順配列」によって記憶させておき、データのない「欄」は自動的に省略して、データのある「欄」を表示する画面を構成する「データ表示方法」。」の点で一致し、以下の点で相違する。
　
　相違点
　本願発明では、「データ」が、「文字列データ」である対して、引用発明では、「文字列データ」でない点。
　
４．当審の判断
　以下、相違点について検討する。
　刊行物１では、「データ」に関し、「本研究では、各セルには数値のみが入力されている場合を考察する。」（刊行物１の記載イ）と数値を扱うことが、記載されている。
　しかしながら、刊行物１には、「また、シートの中のデータは、２桁の数字のみを用いているが、文字であっても良い。」（刊行物１の記載ウ）と「データ」を文字とすることが示唆されている。
　また、多数の線で区切られた「欄」を持ってこの中にデータを格納した「表」を使用しているソフトウェアにおいて、「データ」として、「文字列データ」を用いることは周知な技術事項である（例えば、特開平１０−１８７８４９号公報の図面図４（ａ）（ｂ）には、データとして、「定価」、「定価＊０．９５」という文字列データが図示されている。特開２００１−２２８６０号公報の図面図２１には、「牛乳　￥１７０　パン　￥１５０　きゅうり　￥６０」という文字列データが図示されている。）。
　してみると、引用発明において、上記周知な技術事項を採用し、「データ」を「文字列データ」とすることは、当業者が容易に想到できたことである。
　なお、本願発明の「文字列データ」が「文字列データのデータ番号」であるとしても、当該技術分野において、データ番号と別な文字列データを対応させることは慣用手段であるから、該構成を格別なものとすることはできない。
　
　本願発明の効果について
　本願発明の効果は、「本発明は、文字列データを全く含まない欄を削除して、一度に、より広い範囲を表示させるので、従来の表示法と比較して、より見やすく、より効率よく閲覧できる機能が実現できる。例えば、図１では、５行×５列の２５欄の表示画面によって、元の「表」の第４行から第９行までの６行と、第３列から第１０列までの８列で表された４８欄（２５欄の約１．９倍）を表示したことになる。文字列データを含まない欄が多ければ多いほど、より広い範囲の欄を一度に表示できる。」（明細書３頁２行〜７行）というものである。
　これに対し、引用発明の効果は、「提案法は、データを全く含まないセルを削除して、一度に、より広い範囲を表示させるため、従来の表示法と比較して、より見やすく、より効率良く閲覧できる機能が実現できる。」（刊行物１の記載オ）、「提案法では、全くデータを含まないセルを削除して、一度に、より広い範囲を表示させるので、従来の表示法と比較して、より見やすく、より効率よく閲覧できる機能が実現できる。例えば、図３では、５行×５列の２５個のセルの表示画面によって、元のシートの第４行から第９行までの６行と、第３列から第１０列までの８列で表された４８個のセル（２５個のセルの約１．９倍）を表示したことになる。データを含まないセルが多ければ多いほど、より広い範囲のセルを一度に表示できる。」（刊行物１の記載ウ）である。
　そして、引用発明にデータとして周知な技術事項である文字列データを用いる場合にも、引用発明と同様な効果が予想されるといえる。
　してみると、本願発明の効果は、引用発明、周知な技術事項の効果から予想される範囲内のものであり、格別なものとはいえない。
　
５．むすび
　以上のとおり、本願発明は、刊行物１に記載された発明に基づき当業者が容易に発明することができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　したがって、本願は、請求項２に記載された発明について検討するまでもなく、拒絶されるべきものである。
　よって、結論のとおり審決する 。