(57)【要約】【課題】  スプレッドシートで作成されたファイルのデータを，ほかのコンピュータシステムで取り込むためテキストファイルに変換する際のデータ変換システムを提供することを目的とする。【解決手段】  スプレッドシートにおけるデータ変換処理の設定値の入力を受け付ける事前設定処理部と，スプレッドシートにおけるデータから設定値における処理対象となる範囲のデータを取得し，設定値に基づいて一単位となるデータ群ごとに，設定値における判定対象となるセルの条件の充足の有無を判定するマトリックス分解変換処理部と，条件の充足性の判定結果に応じて，取得したデータ群のデータをテキストファイルに出力するデータ出力処理部と，を有するデータ変換システムである。【選択図】  図１
2015191665.tif 000002
【特許請求の範囲】
【請求項１】
複数行および／または複数列にわたって関連するデータが入力されたスプレッドシートのデータをテキストファイルに変換するデータ変換システムであって，
前記データ変換システムは，
前記スプレッドシートにおけるデータ変換処理を実行するための，処理対象となる範囲のデータ，項目とデータとの対応関係，および除外対象とするセルか否かを判定するためのセルである判定対象となるセル，を含む，設定値の入力を受け付ける事前設定処理部と，
前記スプレッドシートにおけるデータから前記設定値における処理対象となる範囲のデータを取得し，前記設定値の項目とデータとの対応関係に基づく一単位となるデータ群ごとに，前記設定値における判定対象となるセルについての所定条件の充足の有無を判定するマトリックス分解変換処理部と，
前記所定条件の充足性の判定結果に応じて，前記取得したデータ群のデータをテキストファイルに出力するデータ出力処理部と，
を有し，
前記所定条件が，データがあるか，あるいは所定値であるかを判定するための条件である，
ことを特徴とするデータ変換システム。
【請求項２】
前記項目とデータの対応関係が，
スプレッドシートにおいて縦方向に配置される関連するデータであり，見出しと内容値とからなる縦項目と，
スプレッドシートにおいて横方向に配置される関連するデータであり，見出しと内容値とからなる横項目と，
であることを特徴とする請求項１記載のデータ変換システム。
【請求項３】
前記項目とデータの対応関係に基づく一単位となるデータ群ごとに，所定条件の充足の有無を判定する処理について，
前記内容値で設定されているセル位置から，最小列の列数と，最小行の行数と，最大列の列数と，最大行の行数とを特定し，最小列かつ最小行のセルを最小セル，最大列かつ最大行のセルを最大セルとすることによってデータ群の範囲を設定し，
さらに，最大列から最小列を減じて１加えた値をデータ群列数，最大行から最小行を減じて１加えた値をデータ群行数，として算出し，
カウンタとして列に関する引数Ｘ，行に関する引数Ｙを設け，
Ｘが処理対象となるデータ範囲の列数より小さい間は，データ群の取得および充足性の判定を行うごとにＸにデータ群列数を加算し，データ群列数がデータ範囲の列数を超えるまで，データ群を一単位としてデータを取得および充足性の判定を行い，
処理対象としていたデータ群が最大列まで到達すると，次のデータ群の行を実行するために，処理対象とするデータ群を，Ｙにデータ群行数を加算することによってデータ群を取得する行を変更し，
Ｙがデータ範囲の行数より小さい場合は，行方向にデータ取得処理を行い，これらの処理を繰り返し，
Ｘ，Ｙのいずれもがデータ範囲の行数，データ範囲の列数以上になった場合には，処理を終了させる
ことを特徴とする請求項２記載のデータ変換システム。
【請求項４】
複数行および／または複数列にわたって関連するデータが入力されたスプレッドシートのデータをテキストファイルに変換するデータ変換プログラムであって，
前記データ変換プログラムは，コンピュータを，
前記スプレッドシートにおけるデータ変換処理を実行するための，処理対象となる範囲のデータ，項目とデータとの対応関係，および除外対象とするセルか否かを判定するためのセルである判定対象となるセル，を含む，設定値の入力を受け付ける事前設定処理部，
前記スプレッドシートにおけるデータから前記設定値における処理対象となる範囲のデータを取得し，前記設定値の項目とデータとの対応関係に基づく一単位となるデータ群ごとに，前記設定値における判定対象となるセルについての所定条件の充足の有無を判定するマトリックス分解変換処理部，
前記所定条件の充足性の判定結果に応じて，前記取得したデータ群のデータをテキストファイルに出力するデータ出力処理部，
として機能させ，
前記所定条件が，データがあるか，あるいは所定値であるかを判定するための条件である，
ことを特徴とするデータ変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，スプレッドシートで作成されたファイルのデータを，ほかのコンピュータシ
ステムで取り込むためテキストファイルに変換する際のデータ変換システムに関する。
【背景技術】
【０００２】
コンピュータを利用する際には，さまざまな場面で表計算ソフトウェアなどが使用され
ている。表計算ソフトウェアは，スプレッドシートと呼ばれるＸ軸方向，Ｙ軸方向に対し
てマス目が並んでおり，そのマス目に数値や数式などを入力することで，さまざまな演算
などが可能となっている。その利便性から，シミュレーションの分野以外にも，データ管
理の用途など，広く利用されている。
【０００３】
一方，企業などであらたに業務システムを導入する場合，従来，スプレッドシートで作
成していたファイルのデータを，業務システムに移行する必要がある。この場合，業務シ
ステムでデータの取込ができ，テキスト形式やｃｓｖ形式に手作業でデータを編集する必
要があった。たとえば，表計算ソフトウェアとしてマイクロソフト社のＥｘｃｅｌを用い
た場合，Ｅｘｃｅｌファイルに入力されているデータを選択してテキストファイルにコピ
ーをし，業務システムに移行させたくない行や列を削除した上で，業務システムに取り込
む，といった手作業が必要となる。
【０００４】
手作業で行うことで，必要なデータを削除してしまう，あるいは不要なデータを削除で
きていない，といったこともある。また，時間も手間も要する。
【０００５】
そこで，下記特許文献１のシステムを用いることで処理の自動化が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２４８６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１のシステムは，ｘｍｌファイルで設定された内容に従って，複数のｘｌｓ形
式のファイルをｃｓｖ形式のファイルに変換し，出力するシステムである。このシステム
を用いることによって自動的にｘｍｌ形式のファイルをｃｓｖ形式のファイルに変換する
ことはできる。しかしながら，取り込みたいセルの位置をｘｍｌファイルに一つ一つ直接
記述して設定する必要がある。
【０００８】
そのため，その設定作業の手間や時間がかかる。また，その設定の際にミスが発生する
可能性は依然として存在する。
【０００９】
また，たとえば図２０に示すように，スプレッドシートで，複数の行や列にわたって，
関連するデータが入力されることも多い。図２０の場合には，顧客ごとに，商品の注文数
や注文額が対応づけられている。このように，複数の行や列にわたって関連するデータが
入力されている場合に，それをテキストファイルのデータに変換する際には，顧客ごとに
，注文数や注文額を対応づけて変換しなければならない。しかし，上述の特許文献１のシ
ステムでは，一つのセルに一つのデータが対応している場合が前提となっているため，複
数の行や列にわたって，関連するデータが入力されている場合には対応することができな
い。そのため，汎用性に欠ける問題点がある。
【課題を解決するための手段】
【００１０】
そこで，本発明者は上記課題に鑑み，スプレッドシートで作成されているデータのテキス
トファイルへの変換処理を自動化することで，データ変換時のミスの発生をなくすととも
に，その作業に要する手間や時間を大幅に減らすデータ変換システムを発明した。また，
複数行や複数列にわたって関連するデータが入力されている場合でも，それらを対応づけ
てデータの変換をすることができる。
【００１１】
第１の発明は，複数行および／または複数列にわたって関連するデータが入力されたスプレッド
シートのデータをテキストファイルに変換するデータ変換システムであって，前記データ
変換システムは，前記スプレッドシートにおけるデータ変換処理の設定値の入力を受け付
ける事前設定処理部と，前記スプレッドシートにおけるデータから前記設定値における処
理対象となる範囲のデータを取得し，前記設定値に基づいて一単位となるデータ群ごとに
，前記設定値における判定対象となるセルの条件の充足の有無を判定するマトリックス分
解変換処理部と，前記条件の充足性の判定結果に応じて，前記取得したデータ群のデータ
をテキストファイルに出力するデータ出力処理部と，を有するデータ変換システムである
。
【００１２】
スプレッドシートでは、複数行，複数列にわたって，関連するデータがひとまとまりの
データ（一群のデータ）として入力されている場合もある。その場合，関連するデータは
対応付けてテキストファイルのデータへの変換処理を行わなければならない。そこで，本
発明のように処理を実行することで，一単位となるデータ群ごとにテキストファイルのデ
ータへの変換処理の有無を判定した上で，必要なデータのみを，自動的に変換することが
できる。そのため，データ変換時のミスが発生しなくなるとともに，作業時間や作業の手
間を大幅に減らすことができる。
【００１３】
上述の発明において，前記マトリックス分解変換処理部は，前記設定値に基づいて，前
記スプレッドシートから項目名を抽出して行方向に配置し，前記スプレッドシートにおけ
るデータから前記設定値における処理対象となる範囲のデータを取得し，前記設定値にお
ける対応関係に基づいて，一単位となるデータ群ごとに，前記設定値における判定対象と
なるセルの条件の充足の有無を判定し，前記データ出力処理部は，前記条件の充足性の判
定結果に応じて，前記取得したデータ群のデータを，前記配置した項目名に対応付けてテ
キストファイルに出力する，データ変換システムのように構成することができる。
【００１４】
複数行，複数列に関連づけられたデータが入力されたスプレッドシートの場合，さまざ
まな処理形態があるが，上記のように処理を実行することで，１レコードが１行になった
テキストファイルのデータへの変換処理を簡便に実現することができる。
【００１５】
第１の発明のデータ変換システムは，本発明のデータ変換プログラムをコンピュータに
読み込み実行することで実現できる。すなわち，複数行および／または複数列にわたって関連する
データが入力されたスプレッドシートのデータをテキストファイルに変換するデータ変換
プログラムであって，前記データ変換プログラムは，コンピュータを，前記スプレッドシ
ートにおけるデータ変換処理の設定値の入力を受け付ける事前設定処理部，前記スプレッ
ドシートにおけるデータから前記設定値における処理対象となる範囲のデータを取得し，
前記設定値に基づいて一単位となるデータ群ごとに，前記設定値における判定対象となる
セルの条件の充足の有無を判定するマトリックス分解変換処理部，前記条件の充足性の判
定結果に応じて，前記取得したデータ群のデータをテキストファイルに出力するデータ出
力処理部，として機能させるデータ変換プログラムである。
【００１６】
これらの発明のデータ変換プログラムを用いることで，スプレッドシートの保存場所や
作成場所には依存せず，たとえばクラウド上に保存されているスプレッドシートであって
も，データ変換処理を実行することもできる。
【００１７】
また，このプログラムにより実現されるデータ取込システムをネットワーク上のサーバ
で動作させ，業務システムが，同サーバ上または当該ネットワークに接続する異なるサー
バ上で動作するようにすることができる。これによりネットワークを介してスプレッドシ
ートのデータ取込みができるので，たとえばモバイル端末等で作成されたデータを，ネッ
トワークを介して業務システムに取り込ませることができる。
【発明の効果】
【００１８】
本発明のデータ変換システムによって，スプレッドシートで作成されているデータのテ
キストファイルのデータへの変換処理を自動化することができる。それによって，データ
変換時のミスの発生をなくすとともに，その作業に要する手間や時間を大幅に減らすこと
が可能となる。また，複数の行や列に関連するデータが入力されている場合であっても，
それらを一つのデータ群として処理し，テキストファイルのデータへの変換処理が実行で
きる。
【図面の簡単な説明】
【００１９】
【図１】本発明のデータ変換システムの構成の一例を模式的に示す図である。
【図２】本発明のデータ交換システムにおける変換処理部の構成の一例を模式的に示す図である。
【図３】本発明のデータ交換システムを実現するコンピュータのハードウェア構成の一例を模式的に示す図である。
【図４】本発明のデータ交換システムの処理プロセスの一例を模式的に示すフローチャートである。
【図５】データ変換処理の処理プロセスの一例を模式的に示すフローチャートである。
【図６】取込設定画面の一例を模式的に示す図である。
【図７】テキスト取込画面の一例を模式的に示す図である。
【図８】テキスト変換として選択されたスプレッドシートの一例を模式的に示す図である。
【図９】変数rangeDataに値を格納させた場合を模式的に示す図である。
【図１０】変数excludeFlgColDataを格納させた場合を模式的に示す図である。
【図１１】変数excludeFlgRowDataを格納させた場合を模式的に示す図である。
【図１２】変数excludeFlgColDataに格納した値に対して判定を行い，変数excludeColFlgListに「ＴＲＵＥ」または「ＦＡＬＳＥ」の値を格納する処理を模式的に示す図である。
【図１３】変数excludeFlgRowDataに格納した値に対して判定を行い，変数excludeRowFlgListに「ＴＲＵＥ」または「ＦＡＬＳＥ」の値を格納する処理を模式的に示す図である。
【図１４】データ生成処理部の処理を模式的に示す図である。
【図１５】出力するテキストファイルの一例を模式的に示す図である。
【図１６】実施例３におけるデータ変換システムのシステム構成の一例を模式的に示す図である。
【図１７】データ変換して出力したテキストファイルを，業務システムに取り込む一例を模式的に示す図である。
【図１８】実施例４におけるデータ変換システムのシステム構成の一例を模式的に示す図である。
【図１９】実施例４におけるデータ変換システムの処理プロセスの一例を模式的に示すフローチャートである。
【図２０】内容値が縦に２つの場合のスプレッドシートの一例を模式的に示す図である。
【図２１】設定値の一例を模式的に示す図である。
【図２２】設定値入力画面の一例を模式的に示す図である。
【図２３】スプレッドシートから項目の見出しを取得した場合の一例を模式的に示す図である。
【図２４】見出し部分をテキストファイルに出力する処理の一例を模式的に示す図である。
【図２５】列のローマ字と数字との対応表の一例を模式的に示す図である。
【図２６】設定値における内容値範囲から，データ範囲を取得する処理の一例を模式的に示す図である。
【図２７】データ群の算出方法の一例を模式的に示す図である。
【図２８】データ群の取得処理の一例を模式的に示す図である。
【図２９】スプレッドシートを用いて，データ群の範囲のデータを取得する処理の一例を模式的に示す図である。
【図３０】引数Ｘ＝０，引数Ｙ＝０のときに，取得したデータ群のデータを出力したテキストファイルの一例を模式的に示す図である。
【図３１】引数Ｘ＝１，引数Ｙ＝０のときに，取得したデータ群のデータを出力したテキストファイルの一例を模式的に示す図である。
【図３２】図２０のスプレッドシートに実施例４の処理を実行することで出力したテキストファイルの一例を模式的に示す図である。
【図３３】内容値が１つの場合のスプレッドシートの一例を模式的に示す図である。
【図３４】図３３の場合における設定値入力画面の一例を模式的に示す図である。
【図３５】図３３のスプレッドシートに対して，図３４の設定値に基づいて，実施例４の処理を実行することで出力したテキストファイルの一例を模式的に示す図である。
【図３６】内容値が横に２つの場合のスプレッドシートの一例を模式的に示す図である。
【図３７】図３６の場合における設定値入力画面の一例を模式的に示す図である。
【図３８】図３６のスプレッドシートに対して，図３７の設定値に基づいて，実施例４の処理を実行することで出力したテキストファイルの一例を模式的に示す図である。
【図３９】内容値が縦横複数の場合のスプレッドシートの一例を模式的に示す図である。
【図４０】図３９の場合における設定値入力画面の一例を模式的に示す図である。
【図４１】図３９のスプレッドシートに対して，図４０の設定値に基づいて，実施例４の処理を実行することで出力したテキストファイルの一例を模式的に示す図である。
【発明を実施するための形態】
【００２０】
本発明のデータ変換システム１のシステム構成の一例を図１に，データ変換システム１
における変換処理部１２の一例を図２に模式的に示す。
【００２１】
本発明のデータ変換システム１は，データ変換を行うことを所望するユーザが利用する
コンピュータで機能する。コンピュータは，プログラムの演算処理を実行するＣＰＵなど
の演算装置７０と，情報を記憶するＲＡＭやハードディスクなどの記憶装置７１と，ディ
スプレイなどの表示装置７２と，キーボードやポインティングデバイス（マウスやテンキ
ーなど）などの入力装置７３と，演算装置７０の処理結果や記憶装置７１に記憶する情報
をインターネットやＬＡＮなどのネットワークを介して送受信する通信装置７４とを有し
ている。
【００２２】
なお，図１，図２では各種コンピュータが一台の場合を示したが，複数台にその機能が
分散配置され，実現されても良い。本発明における各手段は，その機能が論理的に区別さ
れているのみであって，物理上あるいは事実上は同一の領域を為していても良い。
【００２３】
本発明のデータ変換システム１は，たとえば企業などにおいて，従前，Ｅｘｃｅｌなど
の表計算ソフトウェアのスプレッドシートで作成されたデータを，当該企業が利用する業
務システムに取り込む際に，そのデータをテキストファイルとして出力するものである。
その結果，容易に業務システムに取込可能となる。
【００２４】
業務システムとは，企業の業務遂行を管理するためのコンピュータシステムである。業
務システムとしては，さまざまなシステムがあり，その限定はないが，たとえば，人事，
給与，財務会計，販売，購買等などを行うためのコンピュータシステムが一例としてあげ
られる。
【００２５】
データ変換システム１は，取込範囲入力受付処理部１０と対象ファイル入力受付処理部
１１と変換処理部１２とを有する。
【００２６】
取込範囲入力受付処理部１０は，データの変換対象となるスプレッドシートにおいて，
どの範囲をテキストファイルにデータ変換するか，その範囲の入力を受け付ける。たとえ
ば図６における取込設定画面のうち，取込方法，対象となるシート，取込範囲（開始位置
と終了位置），除外行および除外列の指定，などの入力を受け付ける。
【００２７】
「取込方法」は，スプレッドシートは複数のシートからなることが多いので，どのシー
トを対象とするかを選択するものである。すなわち，指定したシートのみを取り込むか，
指定したシートを除外して取り込むか，すべてを取り込むか，の指定を受け付ける。また
，「シートの指定」は，取込方法で「指定シートを取込」または「指定シートを除外」を
選択した場合，その対象となるシートを特定するものである。「取込範囲」とは，シート
のどの範囲のデータを取り込むか，の指定を受け付けるものである。図６の場合，開始位
置として「Ａ２」，終了位置として「Ｅ７」が指定されているので，「Ａ２」のセルと，
「Ｅ７」のセルとで構成される範囲を指定することとなる。なお，「セル」とは，スプレ
ッドシートを構成する行方向，列方向に並んでいる「マス目」をいう。
【００２８】
除外行，除外列とは，その行，列を取り込むか否かを判定する基準となる列や行である
。図６では，除外行として「Ａ列」，除外列として「１行目」の指定を受け付けている。
そのため，「Ａ列」において，データがあるか（空白（ＮＵＬＬ）ではないか），あるい
は所定値（たとえば「０」）であるか，を判定し，データがある，または所定値ではない
，と判定できる場合には，その行を取り込む対象とする。一方，データがない（ＮＵＬＬ
である）または所定値である場合には，その行を取込対象から除外する。除外列について
も同様に，「１行目」において，データがあるか（空白（ＮＵＬＬ）ではないか），ある
いは所定値（たとえば「０」）であるか，を判定し，データがある，または所定値ではな
い，と判定できる場合には，その列を取り込む対象とする。一方，データがない（ＮＵＬ
Ｌである）または所定値である場合には，その列を取込対象から除外する。
【００２９】
また，取込みを行った行または列について取込日時情報を記憶し，つぎに取込みが行わ
れる場合，その取込日時情報を取込除外情報とするようにしてもよい。このようにするこ
とで，行や列を追加して運用するようなスプレッドシートであっても，前回取り込んだ分
を除いて自動的に取り込むことができる。
【００３０】
対象ファイル入力受付処理部１１は，データの変換対象となるスプレッドシートの指定
を受け付ける。たとえば図７におけるテキスト取込画面のうち，スプレッドシートの記憶
場所の指定を受け付けることで，取込対象となるスプレッドシートの指定を受け付ける。
【００３１】
変換処理は，対象ファイル入力受付処理部１１で指定されたスプレッドシートに対して
，取込範囲入力受付処理部１０で指定された各条件に従って，変換処理を実行し，変換後
のデータをテキストファイルでデータとして出力する。図７のテキスト取込画面の「テキ
スト変換」が実行されることで，変換処理を実行する。
【００３２】
変換処理部１２は，取込範囲データ抽出処理部１２０と取込範囲データ記憶部１２１と
判定対象データ抽出処理部１２２と判定対象データ記憶部１２３と除外対象データ判定処
理部１２４と除外対象データ記憶部１２５とデータ生成処理部１２６とデータ出力処理部
１２７とを有する。
【００３３】
取込範囲データ抽出処理部１２０は，対象ファイル入力受付処理部１１で入力を受け付
けた取込対象となるスプレッドシートについて，取込範囲入力受付処理部１０で入力を受
け付けた，指定されたシートの指定された取込範囲のセルの値を，所定の変数rangeData
に格納し，取込範囲データ記憶部１２１に記憶させる。なお，取込範囲内に結合セルを検
出した場合，格納の際に空白となったセルすべてに結合セルの値を複製し，データ取込み
を行うようにしてもよい。また，取込範囲外の情報（取込範囲外のセルの値，シート名，
ファイル名）を取込むようにしてもよい。例えば，取込対象となるスプレッドシートにあ
らかじめ取込範囲が入力されており，取込範囲の指定に代えて，当該入力されている取込
範囲を取得するようにしてもよい。取込対象となるスプレッドシートにあらかじめ取込範
囲が入力されているので，取込範囲を間違えることなく簡単に取り込める。
【００３４】
取込範囲データ記憶部１２１は，取込範囲データ抽出処理部１２０で格納した所定の変
数rangeDataを記憶する。取込範囲データ記憶部１２１に記憶する変数rangeDataの一例を
図9に模式的に示す。
【００３５】
判定対象データ抽出処理部１２２は，取込対象となるスプレッドシートから，取込範囲
入力受付処理部１０で入力を受け付けた，除外行，除外列のセルの値を読み込み，変数ex
cludeFlgColData（除外行の場合），excludeFlgRowData（除外列の場合）に格納し，判定
対象データ記憶部１２３に記憶させる。
【００３６】
判定対象データ記憶部１２３は，判定対象データ抽出処理部１２２で格納した所定の変
数excludeFlgColData，excludeFlgRowDataを記憶する。判定対象データ記憶部１２３に記
憶する変数excludeFlgColDataの一例を図１０に，変数excludeFlgRowDataの一例を図１１
に模式的に示す。
【００３７】
除外対象データ判定処理部１２４は，判定対象データ記憶部１２３に記憶した変数excl
udeFlgColData，excludeFlgRowDataに基づいて，どの列が除外対象になるのか，どの行が
除外対象になるのかを判定する。除外対象になるか否かは，その行またはセルの値が空白
（NULL）であるか，所定値（たとえば０）がであるか，などに基づいて判定する。除外対
象にならない場合には「ＴＲＵＥ」を，除外対象になる場合には「ＦＡＬＳＥ」を，変数
excludeColFlgList，excludeRowFlgListに値として格納し，除外対象データ記憶部１２５
に記憶させる。
【００３８】
除外対象データ記憶部１２５は，除外対象データ判定処理部１２４で格納した所定の変
数excludeColFlgList，excludeRowFlgListを記憶する。除外対象データ記憶部１２５に記
憶する変数excludeColFlgListの一例を図１２に，変数excludeRowFlgListの一例を図１３
に模式的に示す。
【００３９】
データ生成処理部１２６は，取込範囲データ記憶部１２１に記憶させた変数rangeData
の行または列のうち，除外対象データ記憶部１２５に記憶させた変数excludeColFlgList
，excludeRowFlgListにおいて「ＴＲＵＥ」の値が入っている行または列を抽出し，変数d
tに格納させることで，データ生成処理を実行する。この処理によって，変数dtについて
は，除外対象となる行または列（「ＦＡＬＳＥ」の行または列）を除外してデータを生成
することができる。
【００４０】
データ出力処理部１２７は，データ生成処理部１２６で生成した変数dtに基づいて，テ
キストファイルを出力する。
【００４１】
以上のような処理を変換処理部１２で実行することで，変換対象となるスプレッドシー
トのデータをテキストファイルに出力することができる。
【実施例１】
【００４２】
つぎに本発明のデータ変換システム１の処理プロセスの一例を図４および図５のフロー
チャートを用いて説明する。
【００４３】
データ変換システム１を利用してスプレッドシートのデータを変換することを所望する
ユーザは，そのコンピュータにおいて所定の操作をすることで，図６に示す取込設定画面
を起動する。
【００４４】
起動後，ユーザは，取込設定画面に対して，それぞれの情報を入力する。ここでは図６
に示す取込範囲等の情報が入力されたとする。入力された情報は，取込範囲入力受付処理
部１０で受け付ける（Ｓ１００）。
【００４５】
たとえば，シートとして「２０１３年４月，２０１３年４月＿２」の各シートの取り込
みと，取込範囲として「Ａ２」から「Ｅ７」のセルを範囲とし，除外行について「Ａ列」
を，除外列について「１行目」を判定対象の列，行とすることの指定を受け付ける。
【００４６】
このようにして取り込み設定画面でスプレッドシートの取り込み範囲等の情報の入力を
取込範囲入力受付処理部１０で受け付けると，ユーザは所定の操作を行うことで，テキス
ト取込画面（図７）を起動する。
【００４７】
そして，図７に示すように，テキスト取込画面で，対象とするスプレッドシートが記憶
されているフォルダ，ファイル名を指定し，その入力を対象ファイル入力受付処理部１１
で受け付ける（Ｓ１１０）。
【００４８】
なお，ファイル名としてはワイルドカード（図７ではワイルドカードとして「＊」（ア
スタリスク）を用いたが，「？」（エクスクラメーションマーク）など任意のワイルドカ
ードを利用できる）を指定しても良い。その場合には，ワイルドカードに相当する部分に
ついては，それに合致するすべてのファイルが対象として指定されたこととなる。
【００４９】
そして，「テキスト変換」が押下されると，それを変換処理部１２で受け付け，変換処
理の開始入力が受け付けられたことを判定し（Ｓ２００），変換処理を開始する。
【００５０】
たとえばテキスト変換として選択されたスプレッドシートが，図８（ａ）および（ｂ）
であったとする。図８（ａ）が「２０１３年４月」のシート，図８（ｂ）が「２０１３年
４月＿２」のシートである。なお，データ変換処理は，同じ処理が行われるので，以下で
は図８（ａ）のシートに対して処理を行う場合を説明する。
【００５１】
変換処理が開始されると，Ｓ１１０で指定されたスプレッドシートの記憶場所から，ス
プレッドシートを読み出し，Ｓ１００で指定された条件に従って，データを読み込む。こ
の際に，複数のスプレッドシート，複数のシートが指定されている場合には，「スプレッ
ドシートの数×シートの数」だけデータの読み込み処理が実行される。
【００５２】
具体的には，まず取込対象となるシート「２０１３年４月」の取込範囲「Ａ２」から「
Ｅ７」の範囲内のセルの値を取込範囲データ抽出処理部１２０が抽出し（Ｓ２１０），内
部的な変数rangeDataに格納する。変数rangeDataの値は，取込範囲データ記憶部１２１に
記憶される。図９に変数rangeDataに値を格納させた場合を模式的に示す。
【００５３】
つぎに除外行および除外列として指定された行または列の値を判定対象データ抽出処理
部１２２が抽出し（Ｓ２２０），内部的な変数excludeFlgColData（除外行の場合），exc
ludeFlgRowData（除外列の場合）に格納する。変数excludeFlgColData，excludeFlgRowDa
taの各値は，判定対象データ記憶部１２３に記憶される。図１０に変数excludeFlgColDat
aを格納させた場合を，図１１に変数excludeFlgRowDataを格納させた場合を模式的に示す
。
【００５４】
判定対象データ抽出処理部１２２は，行を除外するかの判定は，「Ａ列」の値に基づい
て判定するので，「Ａ列」の値を抽出し，変数excludeFlgColDataに格納する。一方，列
を除外するかの判定は，「１行目」の値に基づいて判定するので，「１行目」の値を抽出
し，変数excludeFlgRowDataに格納する。
【００５５】
つぎに除外対象データ判定処理部１２４は，Ｓ２１０で格納した変数rangeDataの行数
と列数をカウントする（Ｓ２３０）。図９の場合には，行数を６行，列数を５行としてカ
ウントすることとなる。
【００５６】
そして，除外対象データ判定処理部１２４は，判定対象データ記憶部１２３に記憶した
変数excludeFlgColData，excludeFlgRowDataについて，どの列が除外対象になるのか，ど
の行が除外対象になるのかを判定する（Ｓ２４０）。判定した結果は，内部的な変数excl
udeColFlgList，excludeRowFlgListに格納し，除外対象データ記憶部１２５に記憶させる
。
【００５７】
列については，変数excludeFlgColDataに格納した値のうち，空白（ＮＵＬＬ），ある
いは「０」などの所定値であるかを判定し，空白または所定値でない場合には判定結果を
格納する内部的な変数excludeColFlgListに「ＴＲＵＥ」を，空白または所定値である場
合には変数excludeColFlgListに「ＦＡＬＳＥ」を値として格納する。この処理は，Ｓ２
３０でカウントした列数分だけ繰り返す。すなわち，Ｓ２３０では５列とカウントしてい
るので，変数excludeFlgColDataに格納した値について，順番に５回，値の判定処理を行
うこととなる。図１２に，変数excludeFlgColDataに格納した値に対して判定を行い，変
数excludeColFlgListに「ＴＲＵＥ」または「ＦＡＬＳＥ」の値を格納する処理を模式的
に示す。
【００５８】
変数excludeFlgColDataの場合，１列目に「顧客コード」，３列目に「商品コード」，
５列目に「注文数」の値が入っており，それ以外が「空白」であるので，変数excludeCol
FlgListのうち，Item(0)，Item(2)，Item(4)に「ＴＲＵＥ」が，Item(1)，Item(3)に「Ｆ
ＡＬＳＥ」が値として格納されることとなる。
【００５９】
また，行については，変数excludeFlgRowDataに格納した値のうち，空白（ＮＵＬＬ）
，あるいは「０」などの所定値であるかを判定し，空白または所定値でない場合には判定
結果を格納する内部的な変数excludeRowFlgListに「ＴＲＵＥ」を，空白または所定値で
ある場合には変数excludeRowFlgListに「ＦＡＬＳＥ」を値として格納する。この処理は
，Ｓ２３０でカウントした行数分だけ繰り返す。すなわち，Ｓ２３０では６行とカウント
しているので，変数excludeFlgRowDataに格納した値について，順番に６回，値の判定処
理を行うこととなる。図１３に，変数excludeFlgRowDataに格納した値に対して判定を行
い，変数excludeRowFlgListに「ＴＲＵＥ」または「ＦＡＬＳＥ」の値を格納する処理を
模式的に示す。
【００６０】
変数excludeFlgRowDataの場合，１行目に「００１００５」，２行目に「００１００５
」，３行目に「００１００８」，４行目に「００１００８」，５行目に「００１０１０」
，６行目が「空白」であるので，変数excludeRowFlgListのうち，Item(0)，Item(1)，Ite
m(2)，Item(3)，Item(4)に「ＴＲＵＥ」が，Item(5)に「ＦＡＬＳＥ」が値として格納さ
れることとなる。
【００６１】
以上のように除外対象データ判定処理部１２４で，除外対象とする行，列を判定すると
，データ生成処理部１２６は，除外対象データ記憶部１２５に記憶させた変数excludeCol
FlgList，excludeRowFlgListの値に基づいて，内部的な変数dtに，取込対象となるレコー
ドを取込範囲データ記憶部１２１から抽出し，追加する。すなわち，変数excludeColFlgL
ist，excludeRowFlgListに格納した値のうち，「TRUE」である行または列については，ra
ngeDataのレコードを変数dtに追加し，「FALSE」である行または列については，rangeDat
aのレコードを変数dtに追加しない処理を実行することで，取込対象となるデータの生成
をする（Ｓ２５０)。データ生成処理部１２６の処理を図１４に模式的に示す。
【００６２】
変数dtには通常はrangeDataのレコードの値が格納されるが，レコードとして値ではな
く，計算式を格納していれば，変数dtとして計算式を格納してもよい。
【００６３】
そしてデータ生成処理部１２６で生成した変数dtが変換後のデータであるので，データ
出力処理部１２７が，それをテキストファイルとして出力する(Ｓ２６０）。図１５が出
力するテキストファイルの一例である。
【００６４】
以上のようにして，スプレッドシートのうち，必要な行，列のデータをテキストファイ
ルにデータ変換して出力することができる。
【００６５】
このようにデータ変換したテキストファイルのデータを業務システムなどで利用したい
場合には，図７のテキスト取込画面のうち「実行」ボタンを押下することで，業務システ
ムに取り込むことができる。
【実施例２】
【００６６】
実施例１の取込範囲入力受付処理部１０，対象ファイル入力受付処理部１１では，取込
設定画面に取込範囲，除外行，除外列などの値の入力が，テキスト取込画面にフォルダや
ファイル名等の値の入力が行われ，それを受け付けることで取込範囲等の各種の設定を行
う場合を説明したが，この設定を，取込対象とするスプレッドシートのセル，行または列
などから直接，ユーザが指定可能となり，それを受け付けるように構成しても良い。
【００６７】
まず，データ変換システム１で所定の操作を行うことにより，取込対象となるスプレッ
ドシートを開くと，取込対象のファイル名，保存場所であるフォルダ名を対象ファイル入
力受付処理部１１で記憶する。そして，取込範囲入力受付処理部１０は，スプレッドシー
トのイメージを，取込範囲設定画面に表示させる。
【００６８】
ユーザは取込範囲設定画面に表示したスプレッドシートのイメージに対して，マウスや
タッチパネルなどを用いて取込範囲を指定すると，取込範囲入力受付処理部１０が，取込
範囲の開始位置となる左上のセル（指定された範囲を構成する各セルの行番号と列番号の
組み合わせのうち，最小の行番号と最小の列番号の組み合わせのセル）と終了位置となる
右下のセル（指定された範囲を構成する各セルの行番号と列番号の組み合わせのうち，最
大の行番号と最大の列番号の組み合わせのセル）を取得し，取込範囲として入力を受け付
ける。
【００６９】
つぎにユーザは，取込範囲設定画面に表示したスプレッドシートのイメージに対して，
マウスやタッチパネルなどを用いて除外行，除外列を指定すると，取込範囲入力受付処理
部１０が，それらの情報の入力を受け付ける。
【００７０】
以上のような処理によって，ユーザは取込対象のスプレッドシート上で直接指定をする
ことができるため，行番号や列番号を入力せずに済む。また操作も簡便になり，かつ誤入
力を防止することができる。
【００７１】
このように，取込範囲入力受付処理部１０は，スプレッドシートを表示し，その表示上
で取込範囲の指定の入力を受け付けるように構成することで，データ変換の対象として取
り込む範囲の指定を，スプレッドシートの表示上で行えるので，操作が容易になる。
【００７２】
また，取込範囲入力受付処理部１０は，スプレッドシートを表示し，その表示上で，デ
ータ変換から除外する行および／または列の指定の入力を受け付けるように構成すること
で，データ変換の際に，取り込むことが不要な行，列の指定を，スプレッドシートの表示
上で行えるので，操作が容易になる。
【００７３】
なお，データ変換システム１上で取込対象とするスプレッドシートを起動してもよいが
，別のアプリケーションプログラム，たとえば当該スプレッドシートを用いる表計算ソフ
トウェア上で開き，ユーザが指定したセルの情報を当該アプリケーションプログラムから
取得するように構成しても良い。
【実施例３】
【００７４】
データ変換システム１で出力するテキストファイルは，企業などで用いる業務システム
で取り込むこともできる。実施例３におけるデータ変換システム１のシステム構成の一例
を図１６に示す。本実施例におけるデータ変換システム１では，さらに，データ取込処理
部１３を備えている。
【００７５】
データ取込処理部１３は，変換処理部１２におけるデータ出力処理部１２７で出力した
テキストファイルを，業務システムに取り込ませるものである。なお，業務システムの既
存データベースにデータ取込処理部１３で取り込ませる場合には，テキストファイルと，
業務システムのレコードのデータ構造との対応関係をあらかじめ定義付けしておき，それ
に基づいて取り込ませることとなる。
【００７６】
データ取込処理部１３では，テキストファイルにおけるデータ項目ごとに，業務システ
ムのデータ構造に対応づけてデータを取り込み，業務システムのレコードの値として追加
して記憶させる。たとえば出力したテキストファイルが図１５であり，テキストファイル
の１つめの項目が顧客コード(CUSU0010001)，２つめの項目が商品コード（CUSU001002）
，３つめの項目が注文数（CUSU001003）の各レコードに対応している場合，テキストファ
イルにおける１つめの項目（左側の列のデータ）は，業務システムの顧客コードのレコー
ドの値として，２つめの項目（真ん中の列のデータ）は，業務システムの商品コードのレ
コードの値として，３つめの項目（右側の列のデータ）は，業務システムの注文数のレコ
ードの値として，それぞれテキストファイルからデータを抽出し，業務システムのレコー
ドに記憶させる。これを模式的に示すのが図１７である。
【００７７】
業務システムに新たにデータベースを作成し，取り込ませる場合には次のようにしても
よい。すなわち，取込対象のスプレッドシートファイルについて，項目行の設定を受け付
けこの設定情報に基づき各列における項目名を取得し，項目名以外の各列のデータについ
てそれぞれ属性を判断し，さらに各列のデータの最大桁数に所定の桁数を加えた桁数を算
出し，当該得られた項目名，属性および桁数を設定することによってテーブル定義を行う
ようにしてもよい。属性の判断は，通常，数値であるか文字であるかを判断することによ
って行う。
【００７８】
取込対象のスプレッドシートファイルの情報に基づいてデータベースのテーブル定義を
行うので，利用者があらかじめデータベース上でテーブル定義を行う手間を低減すること
ができる。
【００７９】
なお，テーブル定義のテーブル名についてはファイル名の全部または一部を用いるよう
にしてもよい。このようにすることで，さらにユーザの手間を低減することができる。
【実施例４】
【００８０】
つぎに，本発明の別の実施態様として，複数行および／または複数列に関連するデータ
が入力されたスプレッドシートについて，テキストファイルに出力する場合を説明する。
この場合のデータ変換システムのシステム構成の一例を図１８の概念図に示す。また，本
実施例の処理プロセスの一例を図１９のフローチャートに示す。
【００８１】
本実施例で処理対象とするスプレッドシートの一例を図２０に示す。図２０の場合には
，顧客に対して，商品ごとに注文数と注文額の２つの内容値が関連づけられている場合を
示している。
【００８２】
本実施例におけるデータ変換システムでは，事前設定処理部１４とマトリックス分解変
換処理部１５とデータ出力処理部１６とを有する。
【００８３】
事前設定処理部１４は，本実施例の処理を実行するために，項目とデータとの対応関係
などの設定値の設定を事前に受け付け，記憶する処理である。設定値としては，テキスト
ファイルに出力する際の見出し，内容値（データの値），読込対象とする内容値があるセ
ルの範囲，内容値の項目，除外対象とするか否かの判定対象とするセルなどの情報がある
。設定値の一例を図２１に示す。
【００８４】
設定値における縦項目とは，スプレッドシートにおいて縦方向に配置される，関連する
データであり，その見出しと内容値とからなる。図２０の場合，縦項目の見出しとして「
顧客コード」，「顧客名」が，縦項目の内容値としてセルの位置「Ａ４」，「Ｂ４」があ
る。また，横項目とは，スプレッドシートにおいて横方向に配置される，関連するデータ
であり，その見出しと内容値とからなる。図２０の場合，横項目の見出しとしてセルの位
置「Ｂ１」，「Ｂ２」，「Ｂ３」が，横項目の内容値としてセルの位置「Ｃ１」，「Ｃ２
」，「Ｃ３」がある。また，内容値範囲とは読込対象となるデータがあるセルの範囲であ
るので，図２０の場合，セルの開始位置として「Ｃ４」，終了位置として「Ｇ１３」とな
る。さらに，内容値の項目とは，読込対象となる一群のデータの項目を示すものであり，
その見出しとしてセルの位置が「Ａ１」，「Ａ２」，内容値として「Ｃ４」，「Ｃ５」と
なる。判定対象となるセルは，取込みの除外対象とするセルか否かを判定するためのセル
であり，区分とは所定条件を充足するか否かを示している。また，設定値は，当該セルの
位置の内容値に基づいて所定条件を充足するか否かを判定することを示す。したがって，
所定条件としてデータがあるか（空白（ＮＵＬＬ）ではないか），あるいは所定値（たと
えば「０」）であるか，とした場合，注文数のセルの値に基づいて，所定条件の充足の有
無を判定することとなる。
【００８５】
マトリックス分解変換処理部１５は，実施例１乃至実施例３とは異なり，本実施例では
，複数のセルに項目とデータが関連づけられているので，事前設定処理部１４で受け付け
た事前設定に基づいてその関連づけを分解した上で，テキスト変換処理をする。
【００８６】
データ出力処理部１６は，マトリックス分解変換処理部１５で出力したデータをテキス
トファイルを出力する。
【００８７】
つぎに本実施例の処理プロセスの一例を図１９のフローチャートを用いて説明する。な
お，スプレッドシートとして図２０の場合で説明する。
【００８８】
まず，ユーザは，そのコンピュータにおいて所定の操作をすることで，図２２に示す設
定値の入力画面を起動する。そして，この入力画面に，ユーザは設定値をそれぞれ入力し
，事前設定処理部１４ではその入力を受け付け（Ｓ３００），記憶する。このようにして
受け付けた設定値が図２１である。
【００８９】
そしてユーザがスプレッドシートからテキストファイルへのデータ変換処理を開始する
場合には，そのコンピュータにおいて所定の操作をすることで，マトリックス分解変換処
理部１５は，事前設定処理部１４で記憶した設定値に基づいて，スプレッドシートから見
出し部分の値を取得する（Ｓ３１０）。図２１の場合，縦項目の見出しとして「顧客コー
ド」「顧客名」が設定値として設定されているので，その値として「顧客コード」，「顧
客名」を取得する。横項目の見出しとしてセルの位置「Ｂ１」，「Ｂ２」，「Ｂ３」が設
定値として設定されているので，その値として「商品コード」，「商品名」，「単価」を
取得する。また，内容値の項目の見出しとしてセルの位置「Ａ１」，「Ａ２」が設定値と
して設定されているので，その値として「注文数」と「注文額」を取得する。これを模式
的に示すのが図２３である。
【００９０】
そして，データ出力処理部１６は，マトリックス分解変換処理部１５がＳ３１０で取得
した見出し部分の値に基づいて，「見出し行」を作成して，それをテキストファイルに出
力する（Ｓ３２０）。すなわち，縦項目の見出し，横項目の見出し，内容値の項目の見出
しをそれぞれ所定方向に並べてテキストファイルに出力する。この処理を模式的に示すの
が図２４である。
【００９１】
つぎにマトリックス分解変換処理部１５は，設定値における内容値範囲の情報に基づい
て，その範囲の情報を取得する（Ｓ３３０）。図２１の設定値の場合，開始位置として「
Ｃ４」のセル，終了位置として「Ｇ１３」のセルが設定されているので，その情報を取得
する。なお，この際に，データを取得した範囲の列数，行数をもカウントする。スプレッ
ドシートにおいては，行数はもともと数値で管理されているので，そのままカウントでき
るが，列数は「Ａ」，「Ｂ」，「Ｃ」といったように，ローマ字で管理されていることが
多い。そこで，図２５に示すような，列のローマ字と数字との対応表をあらかじめ備えて
おき，それに基づいて，列数のカウントをすると良い。この処理を図２６に示す。
【００９２】
そしてマトリックス分解変換処理部１５は，Ｓ３３０で取得した内容値範囲の情報に基
づいて，スプレッドシートからデータを取得する（Ｓ３４０）。上述の場合，「Ｃ４」か
ら「Ｇ１３」のセルのデータを取得し，これを内部的変数に記憶させる。
【００９３】
つぎにマトリックス分解変換処理部１５は，１単位となるデータ群を取得する（Ｓ３５
０）。データ群の取得処理は，内容値項目における内容値で設定されている最小のセルと
最大のセルを特定し，それに基づいて，データ群の範囲として設定する。すなわち，設定
値が図２１の場合，内容値項目の内容値としてセルの位置「Ｃ４」と「Ｃ５」が設定され
ているので，最小列が「Ｃ」，最小行が「４」，最大列が「Ｃ」，最大行が「５」である
ことが特定できる。そのため，最小のセルとして「Ｃ４」，最大のセルとして「Ｃ５」と
特定できるので，データ群の範囲として「Ｃ４」，「Ｃ５」を設定する。またデータ群の
取得処理の際には，データ群列数（データ群における列数），データ群行数（データ群に
おける行数）を算出する。上述の場合，データ群列数は１，データ群行数は２として算出
できる。データ群の算出方法について模式的に示すのが図２７，データ群の取得処理を模
式的に示すのが図２８である。
【００９４】
そしてマトリックス分解処理部は，カウンタとなる引数Ｘ，Ｙに初期値「０」をそれぞ
れ代入する（Ｓ３６０）。このカウンタとなる引数Ｘは列に対するものであり，引数Ｙは
行に対するものである。Ｘ，Ｙのいずれもがデータ範囲行数，データ範囲列数以上になっ
た場合には，テキスト変換処理の終了を示すこととなる。
【００９５】
引数Ｘの値がデータ範囲列数未満であれば（Ｓ３７０），設定値を参照して，Ｓ３４０
で取得して内部変数で記憶した値のうち，データ群の範囲の値（データ）を取得する（Ｓ
３８０）。具体的には，縦項目の１項目として「Ａ４」＋Ｙ行の値を，２項目として「Ｂ
４」＋Ｙ行の値を，横項目の１項目として「Ｃ１」＋Ｘ列の値を，２項目として「Ｃ２」
＋Ｘ列の値を，３項目として「Ｃ３」＋Ｘ列の値を，内容値項目の１項目として「Ｃ４」
＋Ｘ列＋Ｙ行の値を，２項目として「Ｃ５」＋Ｘ列＋Ｙ行の値を，判定対象のセルとして
「Ｃ４」＋Ｘ列＋Ｙ行の値を，それぞれ取得する。この処理を模式的に示すのが図２９で
ある。
【００９６】
上述の場合，引数Ｘ，Ｙはそれぞれ初期値０が代入された状態なので，縦項目の１項目
は「００１００１」，２項目は「顧客Ａ」，横項目の１項目は「００１００００１」，２
項目は「商品Ａ」，３項目は「１００」，内容値項目の１項目は「１０」，２項目は「１
，０００」，判定対象セルは「１０」となる。
【００９７】
そしてマトリックス分解判定処理部は，判定対象のセルの値が所定条件，たとえば空白
（ＮＵＬＬ）あるいは「０」，であるかを判定する（Ｓ３９０）。上述の例では判定対象
セルが「１０」なので条件を充足せず，データ出力処理部１６は，Ｓ３８０で取得した各
値を，テキストファイルにそれぞれ出力する（Ｓ４００）。この状態を模式的に示すのが
図３０である。なお，判定対象セルの値が「ＮＵＬＬ」であった場合には，Ｓ３９０の処
理は実行せずに（すなわちデータ出力処理部１６におけるテキストファイルへの出力処理
は行わずに），後述するＳ４１０の処理を実行する。
【００９８】
そして引数Ｘに，データ群列数の値，上述の例では，「１」を加算する（Ｓ４１０）。
すなわち，引数Ｘを１に更新する。これによって，処理対象とするデータ群をつぎのデー
タ群にずらすこととなる。
【００９９】
そして再度，Ｓ３７０以降の処理を実行させる。そうすると，引数Ｘは１なので，デー
タ範囲列数未満であるから（Ｓ３７０），上述と同様に，設定値を参照して，Ｓ３４０で
取得して内部変数で記憶した値のうち，データ群の範囲の値（データ）を取得する（Ｓ３
８０）。具体的には，引数Ｘは１，Ｙは初期値０が代入された状態なので，縦項目の１項
目は「００１００１」，２項目は「顧客Ａ」，横項目の１項目は「００１００００２」，
２項目は「商品Ｂ」，３項目は「２００」，内容値項目の１項目は「２０」，２項目は「
４，０００」，判定対象セルは「２０」となる。
【０１００】
そうすると，判定対象セルには「２０」があるので条件を充足せず（Ｓ３９０），デー
タ出力処理部１６がテキストファイルに，Ｓ３８０で取得した各値を，テキストファイル
にそれぞれ出力する（Ｓ４００）。この状態を模式的に示すのが図３１である。そして，
引数Ｘにデータ群列数「１」を加算し，引数Ｘを２に更新する（Ｓ４１０）。
【０１０１】
以上のように，Ｓ３７０乃至Ｓ４１０の処理を引数Ｘが５になるまで反復すると，Ｓ３
７０において，データ範囲列数と引数Ｘとが同じ値となるので，Ｓ４２０の処理を実行す
る。すなわち，引数Ｘを０とし，引数Ｙにデータ群行数の値「２」を加算して，引数Ｙを
２にして更新する。そして引数Ｙは，データ範囲行数未満であるので（Ｓ４３０），Ｓ３
８０以降の処理を実行する。Ｓ４２０の処理は，処理対象としていたデータ群が最大列ま
で到達したので，つぎのデータ群の行を実行するために，処理対象とするデータ群を変更
する処理である。
【０１０２】
そして上記と同様に，設定値を参照して，Ｓ３４０で取得して内部変数で記憶した値の
うち，データ群の範囲の値（データ）を取得する（Ｓ３８０）。上述の場合，引数Ｘは初
期値０，Ｙは２が代入された状態なので，縦項目の１項目は「００１００２」，２項目は
「顧客Ｂ」，横項目の１項目は「００１００００１」，２項目は「商品Ａ」，３項目は「
１００」，内容値項目の１項目は「空白（ＮＵＬＬ）」，２項目は「空白（ＮＵＬＬ）」
，判定対象セルは「空白（ＮＵＬＬ）」となる。そうすると，判定対象のセルの値が所定
条件を充足するので，データ出力処理部１６は，Ｓ３８０で取得した値をテキストファイ
ルに出力せずに，そのまま破棄をする。そして，引数Ｘにデータ群列数１を加算し（Ｓ４
１０），Ｓ３７０以降の処理を実行する。
【０１０３】
以上のような処理を引数Ｙが１０になるまで反復する。引数Ｙが１０に更新されると（
Ｓ４２０），データ範囲行数と引数Ｙとが同じ値となるので，そのまま処理を終了する。
以上のような処理を実行することで，スプレッドシートのデータをテキストファイルに変
換して出力することができる。出力結果となるテキストファイルを図３２に示す。
【０１０４】
以上のような処理を実行することで，複数行または複数列に関連するデータが入力され
たスプレッドシートについて，テキストファイルに出力することができる。
【０１０５】
上述では，内容値が縦に２つの場合を説明したが，内容値が１つの場合，内容値が横に
２つの場合，内容値が縦横複数の場合であっても同様に処理が実行できる。
【０１０６】
内容値が１つの場合のスプレッドシートの一例を図３３に示す。この場合，たとえば，
事前設定処理部１４の設定値入力画面で受け付ける設定値としては，図３４がある。また
この設定値に基づいて，図１９の処理を実行したテキストファイルの出力結果が，図３５
である。
【０１０７】
内容値が横に２つの場合のスプレッドシートの一例を図３６に示す。この場合，たとえ
ば，事前設定処理部１４の設定値入力画面で受け付ける設定値としては，図３７がある。
またこの設定値に基づいて，図１９の処理を実行したテキストファイルの出力結果が，図
３８である。
【０１０８】
内容値が縦横複数の場合のスプレッドシートの一例を図３９に示す。この場合，たとえ
ば，事前設定処理部１４の設定値入力画面で受け付ける設定値としては，図４０がある。
またこの設定値に基づいて，図１９の処理を実行したテキストファイルの出力結果が，図
４１である。
【産業上の利用可能性】
【０１０９】
本発明のデータ変換システム１を用いることで，スプレッドシートで作成されているデ
ータを自動化することができる。それによって，データ変換時のミスの発生をなくすとと
もに，その作業に要する手間や時間を大幅に減らすことが可能となる。また，複数の行や
列に関連するデータが入力されている場合であっても，それらを一つのデータ群として処
理し，テキストファイルのデータへの変換処理が実行できる。
【符号の説明】
【０１１０】
１：データ変換システム
１０：取込範囲入力受付処理部
１１：対象ファイル入力受付処理部
１２：変換処理部
１３：データ取込処理部
１４：事前設定処理部
１５：マトリックス分解変換処理部
１６：データ出力処理部
７０：演算装置
７１：記憶装置
７２：表示装置
７３：入力装置
７４：通信装置
１２０：取込範囲データ抽出処理部
１２１：取込範囲データ記憶部
１２２：判定対象データ抽出処理部
１２３：判定対象データ記憶部
１２４：除外対象データ判定処理部
１２５：除外対象データ記憶部
１２６：データ生成処理部
１２７：データ出力処理部
【図１】
2015191665.tif 000003
【図２】
2015191665.tif 000004
【図３】
2015191665.tif 000005
【図４】
2015191665.tif 000006
【図５】
2015191665.tif 000007
【図６】
2015191665.tif 000008
【図７】
2015191665.tif 000009
【図８】
2015191665.tif 000010
【図９】
2015191665.tif 000011
【図１０】
2015191665.tif 000012
【図１１】
2015191665.tif 000013
【図１２】
2015191665.tif 000014
【図１３】
2015191665.tif 000015
【図１４】
2015191665.tif 000016
【図１５】
2015191665.tif 000017
【図１６】
2015191665.tif 000018
【図１７】
2015191665.tif 000019
【図１８】
2015191665.tif 000020
【図１９】
2015191665.tif 000021
【図２０】
2015191665.tif 000022
【図２１】
2015191665.tif 000023
【図２２】
2015191665.tif 000024
【図２３】
2015191665.tif 000025
【図２４】
2015191665.tif 000026
【図２５】
2015191665.tif 000027
【図２６】
2015191665.tif 000028
【図２７】
2015191665.tif 000029
【図２８】
2015191665.tif 000030
【図２９】
2015191665.tif 000031
【図３０】
2015191665.tif 000032
【図３１】
2015191665.tif 000033
【図３２】
2015191665.tif 000034
【図３３】
2015191665.tif 000035
【図３４】
2015191665.tif 000036
【図３５】
2015191665.tif 000037
【図３６】
2015191665.tif 000038
【図３７】
2015191665.tif 000039
【図３８】
2015191665.tif 000040
【図３９】
2015191665.tif 000041
【図４０】
2015191665.tif 000042
【図４１】
2015191665.tif 000043
【手続補正書】
【提出日】平成27年7月17日(2015.7.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数行および／または複数列にわたって関連するデータが入力されたスプレッドシートのデータをテキストファイルに変換するデータ変換システムであって，
前記データ変換システムは，
前記スプレッドシートにおけるデータ変換処理を実行するための，処理対象となる範囲のデータ，データ取得の一単位となるデータ群の範囲を設定する内容値を含む内容値項目，項目とデータとの対応関係，および除外対象とするデータか否かを判定するためのセルである判定対象セル，を含む，設定値の入力を受け付ける事前設定処理部と，
前記スプレッドシートにおけるデータから前記設定値における処理対象となる範囲のデータを取得し，前記一単位となるデータ群ごとに，それぞれの判定対象セルについて所定条件の充足の有無を判定するマトリックス分解変換処理部と，
前記所定条件の充足性の判定結果に応じて，前記取得したデータ群のデータをテキストファイルに出力するデータ出力処理部と，
を有し，
前記所定条件が，それぞれの判定対象セルにデータがあるか，あるいは所定値であるかを判定するための条件であり，
前記一単位となるデータ群ごとに，それぞれの判定対象セルについて所定条件の充足の有無を判定する処理が，
前記内容値項目の内容値で設定されているセル位置から，最小列の列数と，最小行の行数と，最大列の列数と，最大行の行数とを特定し，最小列かつ最小行のセルを最小セル，最大列かつ最大行のセルを最大セルとすることによって一単位となるデータ群の範囲を設定し，
さらに，最大列から最小列を減じて１加えた値をデータ群列数，最大行から最小行を減じて１加えた値をデータ群行数，として算出し，
カウンタとして列に関する引数Ｘ，行に関する引数Ｙを設け，
前記データ群ごとのそれぞれの判定対象セルは、前記設定値の判定対象セルの列数にＸを加算し、前記設定値の判定対象セルの行数にＹを加算することによって特定されるセルであり，
Ｘが処理対象となるデータ範囲の列数より小さい間は，データ群の取得および充足性の判定を行うごとにＸにデータ群列数を加算し，データ群列数がデータ範囲の列数を超えるまで，データ群を一単位としてデータを取得および充足性の判定を行い，
処理対象としていたデータ群が最大列まで到達すると，次のデータ群の行を実行するために，処理対象とするデータ群を，Ｙにデータ群行数を加算することによってデータ群を取得する行を変更し，
Ｙがデータ範囲の行数より小さい場合は，行方向にデータ取得処理を行い，これらの処理を繰り返し，
Ｘ，Ｙのいずれもがデータ範囲の行数，データ範囲の列数以上になった場合には，処理を終了させる
ことを特徴とするデータ変換システム。
【請求項２】
前記項目とデータの対応関係が，
スプレッドシートにおいて縦方向に配置される関連するデータであり，見出しと内容値とからなる縦項目と，
スプレッドシートにおいて横方向に配置される関連するデータであり，見出しと内容値とからなる横項目と，
であることを特徴とする請求項１記載のデータ変換システム。
【請求項３】
複数行および／または複数列にわたって関連するデータが入力されたスプレッドシートのデータをテキストファイルに変換するデータ変換プログラムであって，
前記データ変換プログラムは，コンピュータを，
前記スプレッドシートにおけるデータ変換処理を実行するための，処理対象となる範囲のデータ，データ取得の一単位となるデータ群の範囲を設定する内容値を含む内容値項目，項目とデータとの対応関係，および除外対象とするデータか否かを判定するためのセルである判定対象セル，を含む，設定値の入力を受け付ける事前設定処理部，
前記スプレッドシートにおけるデータから前記設定値における処理対象となる範囲のデータを取得し，前記一単位となるデータ群ごとに，それぞれの判定対象セルについて所定条件の充足の有無を判定するマトリックス分解変換処理部，
前記所定条件の充足性の判定結果に応じて，前記取得したデータ群のデータをテキストファイルに出力するデータ出力処理部，
として機能させ，
前記所定条件が，それぞれの判定対象セルにデータがあるか，あるいは所定値であるかを判定するための条件であり，
前記一単位となるデータ群ごとに，それぞれ判定対象セルについて所定条件の充足の有無を判定する処理が，
前記内容値項目の内容値で設定されているセル位置から，最小列の列数と，最小行の行数と，最大列の列数と，最大行の行数とを特定し，最小列かつ最小行のセルを最小セル，最大列かつ最大行のセルを最大セルとすることによって一単位となるデータ群の範囲を設定し，
さらに，最大列から最小列を減じて１加えた値をデータ群列数，最大行から最小行を減じて１加えた値をデータ群行数，として算出し，
カウンタとして列に関する引数Ｘ，行に関する引数Ｙを設け，
前記データ群ごとのそれぞれの判定対象セルは、前記設定値の判定対象セルの列数にＸを加算し，前記設定値の判定対象セルの行数にＹを加算することによって特定されるセルであり，
Ｘが処理対象となるデータ範囲の列数より小さい間は，データ群の取得および充足性の判定を行うごとにＸにデータ群列数を加算し，データ群列数がデータ範囲の列数を超えるまで，データ群を一単位としてデータを取得および充足性の判定を行い，
処理対象としていたデータ群が最大列まで到達すると，次のデータ群の行を実行するために，処理対象とするデータ群を，Ｙにデータ群行数を加算することによってデータ群を取得する行を変更し，
Ｙがデータ範囲の行数より小さい場合は，行方向にデータ取得処理を行い，これらの処理を繰り返し，
Ｘ，Ｙのいずれもがデータ範囲の行数，データ範囲の列数以上になった場合には，処理を終了させる
ことを特徴とするデータ変換プログラム。