dポイントプレゼントキャンペーン実施中!

数字の組み合わせについて、
パッと計算できるソフトをご存じないでしょうか?

実は、数字を組み合わせる事務処理で困ってます。

ほかの方の質問も拝見して、エクセルのソルバーを使ってみましたが、数字の組み合わせ&桁が多いためか、時間がめっちゃかかり、うまくいきませんでした。

作業のイメージはこのような↓感じです。

(イメージ)ーーーーーーーーーーーーーーーーーーーーーーーーーーー
合計504,508円になるように下記の数字を組み合わせる。

501 5,304 990 2 92,004  8,493 ,,,,,,,,,,,,,,,,,
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
この組み合わせる数字が分かりません。
何か方法をご存知の方、是非、教えてください。よろしくお願いいたします。

A 回答 (5件)

    • good
    • 0

条件がわかりませんが、(同じ数値を何度使ってもよく、使わない数値があっても良い)のであれば、数値aを使えば、a+(a/a)+(a/

a)+(a/a)+(a/a)+(a/a)+(a/a)、、、、、 あるいはa-(a/a)-(a/a)-(a/a)-(a/a)-(a/a)-(a/a)、、、 で整数値ならどのような数値でも作れると思いますが、、、
    • good
    • 0

実際やったこと無いので分からないですが、やるとして思いつくのは、


それぞれの数値を計算に含むかどうかで0or1の表記にする2進数風の表示を用いて
(数字が10個なら2^10=1024、20個なら2^20=1024*1024)
行分の2進数風の表示を作り、該当する桁目の数字が0か1かで加えるかどうかを判断する。
という式によって各行番号に応じて合計を求め、MATCHで該当するセルの行を検索し、
その行の2進数風の表示から、何を足したかを割り出す。
というような流れを思い浮かべました。
数字の数によってやはり重くなってしまうと思われますが、どれくらいの数でどれだけ重くなるかわからないので、他に方法が無いようでしたら、試しにどうぞ。

(イメージでの例:左右順番逆ですが)
1行目:1=501
2行目:10=5304
3行目:11=501+5304
4行目:100=990
5行目:101=501+990
6行目:111=501+5304+990
7行目:1000=2

6795をMATCH(完全一致)で列全体を対象に検索した場合、6がヒットします。
INDIRECTでその行数目の2進数風の表示111を取得し、
該当する501,5304,990を抽出するわけです。
    • good
    • 0

こんばんは。



私は、アドインのSolver 以上のものは知りません。
もちろん、市販のソルバーがあるのですが、値段が高い上に、使い方が今ひとつわかりません。私は、詳しくは分からないのですが、直感的に使っています。

イメージと書かれている数字で、近似値を求めるなら、すぐにできます。

どのぐらいの量の数字なのですか?
中には、Solver に向かないものもあります。
できれば、こちらでも、試しに、本当にSolver でそんなに時間が掛かるものか、実証してみたいのですが、それは、公開できませんか?

ただし、16桁以上は、最初から無理です。
    • good
    • 0

> 合計504,508円になるように



必ずその金額になる組み合わせが存在するんでしょうか?
存在しない場合、合計額未満で一番近い金額の組み合わせ?合計額前後で一番近いもの?

前者なら、解析的に解ける可能性はあるかもですが…。


リュックサックに遠足のおやつを詰めるけど、きっちり500円になるように、そのおやつを選ぶか?
とかの、いわゆる「ナップザック問題」と呼ばれる種類の問題になります。

ぶっちゃけ、解くのはちょっと面倒です。
そういうサイトを参考にするとか、「excel ナップザック問題」なんかのキーワードで情報収集してみるとか。

ナップザック問題をExcelで解く
http://www.geocities.co.jp/SiliconValley-Oakland …

挙げられている解き方以外にも、遺伝的アルゴリズムを使った方法とか、面白いですが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!