(57)【要約】【課題】  単純なアルゴリズムに基づくものであって、各数値の合計値を端数処理した値と各数値を端数処理した値の合計値を一致させるための、汎用の表計算ソフト上でも実行可能な数値データ処理方法を提供する。【解決手段】  各数値を端数処理して処理値を得る端数処理過程と、各数値を合計し、合計値を端数処理した値を目標値とする目標値算出過程と、１つ以上の処理値に対して単位調整値を加算する組み合わせおよび減算する組み合わせに基づいて、処理値を調整した値を候補値とし、それぞれの候補値からなる複数の候補値群を得る候補値算出過程と、各候補値群において、候補値と元の数値との差を算出し、差の合計値を距離とする距離算出過程と、各候補値群のうち、候補値の合計値が目標値と一致し、かつその中で距離が最小となるものを最適値群とする最適値決定過程を備える。【選択図】      図１
2018049346.tif 000002
【特許請求の範囲】
【請求項１】
複数の数値からなるデータについて、各数値の合計値を端数処理した値と、各数値を端数処理した処理値の合計値が一致するように、処理値を調整する、コンピュータを用いた数値データ処理方法であって、
各数値を端数処理して処理値を得る端数処理過程と、
各数値を合計し、合計値を端数処理した値を目標値とする目標値算出過程と、
１つ以上の処理値に対して単位調整値を加算する組み合わせおよび減算する組み合わせに基づいて、処理値を調整した値を候補値とし、それぞれの候補値からなる複数の候補値群を得る候補値算出過程と、
各候補値群において、候補値と元の数値との差を算出し、差の合計値を距離とする距離算出過程と、
各候補値群のうち、候補値の合計値が目標値と一致し、かつその中で距離が最小となるものを最適値群とする最適値決定過程を備えることを特徴とする数値データ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の数値からなるデータについて、各数値の合計値を端数処理した値と、各数値を端数処理した処理値の合計値が一致するように、処理値を調整する、コンピュータを用いた数値データ処理方法に関する。
【背景技術】
【０００２】
複数の数値からなるデータについて、各数値およびそれらの合計値を所定の桁数で四捨五入して表示する場合に、各数値の合計値を四捨五入した値と、各数値を四捨五入した値の合計値が一致しない場合がある。たとえば、図２に示すように、Ａ，Ｂ，Ｃの３項目からなるデータにおいて、各項目の数値の合計は９９．６であり、これを小数第一位で四捨五入した値は１００であるが、各項目の数値を四捨五入した値の合計値は９９であり、両者は一致していない。
【０００３】
そこで、この両者の数値を一致させるために、特許文献１に示すような処理を行うものが提案されている。特許文献１の発明は、データの各項目（１月〜１２月）の数値の百分率を小数第二位で四捨五入した値の合計値が１００．０になるように、四捨五入した値のうちのいくつかについて、０．１を加算または減算するものであり、加減算後の値と、元の百分率の値の差が最も小さくなるように、加減算する項目を選択するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３３２００８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の発明は、図２や図３のフローチャートに示されるように、複数の条件分岐などを有する複雑なアルゴリズムに基づくものであり、プログラミングに手間がかかり、またプログラムのインストールや実行処理を伴うため、使い勝手が悪いものであった。
【０００６】
本発明は、上記事情を鑑みたものであり、単純なアルゴリズムに基づくものであって、各数値の合計値を端数処理した値と各数値を端数処理した値の合計値を一致させるための、汎用の表計算ソフト上でも実行可能な数値データ処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、複数の数値からなるデータについて、各数値の合計値を端数処理した値と、各数値を端数処理した処理値の合計値が一致するように、処理値を調整する、コンピュータを用いた数値データ処理方法であって、各数値を端数処理して処理値を得る端数処理過程と、各数値を合計し、合計値を端数処理した値を目標値とする目標値算出過程と、１つ以上の処理値に対して単位調整値を加算する組み合わせおよび減算する組み合わせに基づいて、処理値を調整した値を候補値とし、それぞれの候補値からなる複数の候補値群を得る候補値算出過程と、各候補値群において、候補値と元の数値との差を算出し、差の合計値を距離とする距離算出過程と、各候補値群のうち、候補値の合計値が目標値と一致し、かつその中で距離が最小となるものを最適値群とする最適値決定過程を備えることを特徴とする。なお、端数処理とは、数値の所定の位以下をなくす処理であり、四捨五入、切り捨て、切り上げ、最近接偶数まるめなど、種々の処理を含む。また、単位調整値とは、端数処理した処理値の最小の位の単位数であり、たとえば、小数第一位で四捨五入して処理値の最小の位が一の位であれば、単位調整値は１であり、小数第二位で四捨五入して処理値の最小の位が小数第一位であれば、単位調整値は０．１である。
【発明の効果】
【０００８】
本発明は、１つ以上の数値に対して単位調整値を加算する組み合わせおよび減算する組み合わせに基づく候補値群から、距離が最小となるものを最適値群とするものであり、これはすなわち、あり得る調整の組み合わせについて一通り計算を行い、その中から元の数値との差が小さいものを選択するものであるから、複雑な条件分岐などが不要で、汎用の表計算ソフト上でも容易に実行可能である。
【図面の簡単な説明】
【０００９】
【図１】本発明の数値データ処理方法を実装した表計算ソフトの表示画面である。
【図２】各数値の合計値を端数処理した値と、各数値を端数処理した処理値の合計値が一致しない場合を例示する表である。
【発明を実施するための形態】
【００１０】
本発明の数値データ処理方法の具体的な構成について、各図面に基づいて説明する。ここでは、汎用の表計算ソフト上にこの処理方法を実装した場合を実施例に挙げる。表計算ソフトは、キーボードやマウスなどからなる入力装置、ディスプレイなどからなる出力装置、ソフトを動作させるＣＰＵ、ソフトならびに数値データおよび計算結果などを保存する記憶装置を構成要素とする標準的なコンピュータにより実行される。表計算ソフト上で本発明の数値データ処理方法を実行することにより、コンピュータが数値データ処理装置となり、各種の手段（端数処理手段、目標値算出手段、候補値算出手段、距離算出手段、最適値決定手段）として機能する。
【００１１】
図１に示すのは、本発明の処理方法を実装した表計算ソフトの表示画面を示すものであって、出力装置に表示されるものである。表１〜表５があるが、表１は入出力欄となり、表２〜表５は計算領域となる。以下、これに基づき、具体的な処理の流れを説明する。なお、ここではＡ，Ｂ，Ｃの３項目からなる数値データを対象とする。
【００１２】
まず、表１のＡ，Ｂ，Ｃのデータ欄に、数値を入力する。入力した数値は、記憶装置に保存される。また、記憶装置に保存済みの数値データを読み込むものであってもよい。ここでは、Ａ，Ｂ，Ｃの値をそれぞれ『３５．１，３３．２，３１．３』（表中の具体的な数値を『』で示す、以下同じ）とする。さらに、入力された数値は、表２のデータ欄にも表示される。そして、端数処理手段が機能して、これらの数値を四捨五入して処理値『３５，３３，３１』とする。処理値は、記憶装置に保存されるとともに、表１の２列目（見出しの最左列を除く、以下同じ）の四捨五入欄および表２の３行目（見出しの最上行を除く、以下同じ）の四捨五入欄にそれぞれ表示される。さらに、これらの処理値の合計値（９９）が算出され、記憶装置に保存されるとともに、表１の四捨五入欄の最下行および表２の四捨五入欄の最右列に表示される。
【００１３】
次に、目標値算出手段が機能して、Ａ，Ｂ，Ｃの各数値を合計する。合計値『９９．６』は、記憶装置に保存されるとともに、表１のデータ欄の最下行および表２のデータ欄の最右列に表示される。また、目標値算出手段は、この合計値を小数第一位で四捨五入して目標値『１００』とする。目標値は、記憶装置に保存されるとともに、表２の合計値の下側の目標値欄に表示される。さらに、目標値算出手段は、目標値『１００』と処理値の合計値『９９』の差を算出して調整量『１』とする。調整量は、記憶装置に保存されるとともに、表２の４行目の調整量欄の最右列に表示される。
【００１４】
次に、候補値算出手段が機能して、複数の候補値群を得る。まず、この実施例においては、元の数値を小数第一位で四捨五入しており、処理値の最小の位が一の位であるから、単位調整値は１となる。そして、表３に示すように、Ａ，Ｂ，Ｃの３つの処理値のうちの１つ以上の処理値に対して単位調整値を加算する組み合わせおよび減算する組み合わせが予め設定されている。より詳しくは、表３の上から、１つの処理値に１を足す組み合わせが３通り、２つの処理値に１を足す組み合わせが３通り、３つの処理値に１を足す組み合わせが１通り、１つの処理値から１を引く組み合わせが３通り、２つの処理値から１を引く組み合わせが３通り、３つの処理値から１を引く組み合わせが１通りの、計１４通りの組み合わせとなる。さらに、表３の最右列には、各組み合わせにおける調整値の合計が表示されている。そして、候補値算出手段は、この表３の各組み合わせに基づき、処理値に対して単位調整値を加減算して、候補値を算出する。候補値は、記憶装置に保存されるとともに、表４の、表３に対応する行の各欄に表示される。たとえば表３の１行目は、Ａの処理値に１を足すので、表４の１行目のＡ，Ｂ，Ｃの候補値は、『３６（３５＋１），３３，３１』となる。この１つの調整値の組み合わせに基づくＡ，Ｂ，Ｃの候補値を、候補値群とよぶ。ここでは、調整値の組み合わせが１４通りなので、それぞれの候補値からなる１４の候補値群が算出される。さらに、候補値算出手段は、各候補値群の候補値の合計値を算出する。合計値は、記憶装置に記憶されるとともに、表４の最右列に表示される。
【００１５】
次に、距離算出手段が機能して、各候補値群の中で、処理値に調整値を加減算した候補値について、元の数値との差（絶対値）を算出する。算出した差は、記憶装置に保存されるとともに、表５の、表３および表４に対応する行の各欄に表示される。さらに、距離算出手段は、各候補値群について、算出した差を合計する。合計値は、記憶装置に保存されるとともに、表５の最右列に表示される。この合計値を、距離とよぶ。たとえば表３の１行目は、Ａの処理値に１を足すので、Ａの候補値『３６』と元の数値『３５．１』の差『０．９』が算出され、表５の１行目のＡの欄に表示される。一方、Ｂ，Ｃについては処理値に調整値を加減算していないので、Ａの差がそのまま距離となる。また、表３の４行目は、ＡとＢの処理値に１を足すので、Ａの候補値『３６』と元の数値『３５．１』の差『０．９』およびＢの候補値『３４』と元の数値『３３．２』の差『０．８』が算出され、表５の４行目のＡおよびＢの欄に表示される。そして、ＡとＢの差の合計値『１．７』が距離となる。
【００１６】
次に、最適値決定手段が機能して、各候補値群について、候補値の合計値と目標値の差を算出する。算出した差は、表４の最左列の一致の欄に表示される。この値が０であれば、候補値の合計値と目標値が一致することになる。また、最適値決定手段は、各候補値群について、距離と、各候補値群の距離の中の最小値との差を算出する。ただし、候補値に調整値を加算したグループ（表５の上側半分）と候補値から調整値を減算したグループ（表５の下側半分）で分けて算出している。算出した差は、表５の最左列の最小の欄に表示される。この値が０であれば、候補値に調整値を加算したグループと減算したグループのそれぞれにおいて、距離が最小であることになる。さらに、最適値決定手段は、各候補値群のうち、候補値の合計値が目標値と一致し、かつその中で距離が最小となるものを、最適値群として、表３の最左列の最適の欄に星印を表示する。ここでは、３行目の、Ｃの処理値に１を加えて、『３５，３３，３２』とした候補値群が、最適値群となる。そして、最適とされたＡ，Ｂ，Ｃについての調整値『０，０，１』は、表２の４行目の調整量欄に表示される。また、最適値群『３５，３３，３２』およびその合計値『１００』は、表２の５行目のまるめ欄および表１の最右列のまるめ欄に表示される。なお、調整量が０の場合、そもそも調整する必要がないので、調整値は全て０となり、処理値がそのまま最適値となる。
【００１７】
以上のようにして、Ａ，Ｂ，Ｃの３項目の数値『３５．１，３３．２，３１．３』からなるデータについて、各数値の合計値『９９．６』を端数処理した値『１００』と、各数値を端数処理した処理値『３５，３３，３１』の合計値『９９』が一致するように、処理値のうちＣの値に単位調整値『１』を加えて、最適値『３５，３３，３２』が得られた。これは、元の数値との差が最も小さくなるように数値が調整されたものである。この本発明の方法は、１つ以上の数値に対して単位調整値を加算する組み合わせおよび減算する組み合わせを設定し（表３）、この調整値の各組み合わせに基づいて複数の候補値群を算出し（表４）、各候補値群について元の数値との距離を算出して（表５）、距離が最小となるものを最適値群とするものである。これはすなわち、あり得る調整の組み合わせについて一通り計算を行い、その中から元の数値との差が小さいものを選択するものであるから、複雑な条件分岐などが不要で、本実施形態のように、汎用の表計算ソフト上でも容易に実行可能である。そして、実際に処理を行う際には、表１のＡ，Ｂ，Ｃのデータ欄に数値を入力するだけでよく、操作も非常に容易である。また、あり得る調整の組み合わせに基づく複数の計算結果を全て表示するので、正誤確認が容易であり、信頼性が高い。
【００１８】
なお、上記の説明においては、コンピュータが数値データ処理装置となって各種の手段（端数処理手段、目標値算出手段、候補値算出手段、距離算出手段、最適値決定手段）として機能し、順次処理を行うように記載してあるが、これは、処理の内容や考え方をわかりやすく説明するためのものである。上記の実施形態は、表計算ソフト上に実装されたものであり、実際には、上記の各手段は明確に区別されるものではなく、複数の処理が同時並行的に行われ、また上記説明とは処理の順序が異なる場合もある。そのようなものも、当然に本発明に含まれる。
【００１９】
また、上記の実施形態においては、１つ以上の処理値に対して単位調整値を加減算する組み合わせについて、１つの処理値に１を加減算する場合、２つの処理値に１を加減算する場合、３つの処理値に１を加減算する場合という全通りの組み合わせを設定しているが、実際には、全通りの組み合わせを設定する必要はない。これは、たとえば数値を小数第一位で四捨五入した場合、四捨五入後の処理値と元の数値との差は最大で±０．５であるから、単位調整値を加減算すべき処理値の数（数値を小数第一位で四捨五入した場合、この数は調整量に等しい）は、最大で項目数の１／２となる（小数第一位以外で四捨五入した場合も同様である）。よって、単位調整値を加減算する処理値の数が項目数の１／２を超える場合（たとえば、項目数が３である上記の実施形態においては、２つの処理値に１を加減算する場合および３つの処理値に１を加減算する場合）については、設定する必要がなく、これにより、計算量を削減して処理速度を向上させることができる。さらに、データの項目数が増えても、各数値がランダムなものである限り、確率的には単位調整値を加減算すべき処理値の数が２以内に納まる場合がほとんどである。よって、データの項目数が多い場合であっても、単位調整値を加減算する処理値の数が２以内の場合（すなわち、１つの処理値に単位調整値を加減算する場合および２つの処理値に単位調整値を加減算する場合）のみを設定し、対応できない場合にはエラー表示をするなどして、さらに計算量を削減してもよい。
【００２０】
本発明は、上記の実施形態に限定されない。たとえば、データの項目数はいくつでも対応可能であり、上記のように、単位調整値を加減算すべき処理値の数を減らしてもよい。また、全体の総計とその中の小計があるような複数階層のデータにも対応可能である。その場合、まず総計の値に対して小計の最適値を算出し、次に小計の最適値を目標値として各数値の最適値を算出すればよい。さらに、上記の実施形態では、端数処理として四捨五入を行っているが、それ以外に、切り捨て、切り上げ、最近接偶数まるめなどを行ってもよい。また、本発明は汎用の表計算ソフト上で実行することに適したものであるが、専用のプログラムやハードウェアにより実行してもよい。
【図１】
2018049346.tif 000003
【図２】
2018049346.tif 000004