• ベストアンサー

組合せ 

tintagelの回答

  • tintagel
  • ベストアンサー率77% (214/277)
回答No.5

またまたまた「tintagel」です。 組み合わせ回数が問題になっているようですね。 打ち切り方法と新しい方法を考えました。 紹介してある方法のロジック改良です。   ランダムテーブルを昇順に並ます。   組み合わせの合計値が目標値を超過すれば打ち切りです。   (以上ではありません。ランダム数字に0がある可能性を考慮して下さい。)   (降順なら未満で打ち切りです。) 新たに考えた方法です。   ランダムテーブルを3つに分解します。   負のテーブル、0のテーブル、正のテーブルを絶対値の昇順で並べます。   目標値が負の場合、負のテーブルから検査します。   組み合わせの合計値の絶対値が目標値の絶対値を超過した場合、正のテーブルの方に切り替えます。   組み合わせの合計値が目標値を超過した場合、負のテーブルに切り替えます。   後は同様に処理を繰り返します。   (目標値との比較結果を超過で合わせるため、負の場合絶対値にしています。ロジックを一本化できるでしょう。)   目標値が正の場合も同様に処理をします。   0の扱いは正解があれば正解に0テーブルの組み合わせです。   (ランダムの中には0は1つとは限りません。)   目標値が0の場合は正、負のどちらかのテーブルで始めれば良いでしょう。   (ただし、0テーブルの組み合わせを忘れずにして下さい。) ランダムの数字を順番を変更した場合は並べる前と後の対応テーブルを作成し、出力の時は前の番号で出力して下さい。 後、数字が小数の場合など、エクセルの限界値にも気を付けて下さい。 (丸めがあると結果が正しく出力されません。)

noname#6140
質問者

お礼

tintagelさん、nagataさん、ARCさん、皆様のご教示 ありがとうございます。 当方の質問内容に不備があり、皆様にご迷惑おかけして恐縮です。 今回の質問趣旨は、下記のとおりです。 当方の売掛債権に対する支払いが債務者からあります。 この支払い額の割り当て月を検索、特定して、 その債務者の支払い該当月分を売掛帳から消去する目的です。 各債務者が支払いするごとに、その債務者の過去、数ヶ月の月ごとの売掛債権のどれを消去するべきかを特定する目的です。各債務者は1ヶ月だけ、あるいは数か月分まとめて支払います。月をまたいでランダムに支払います。 支払い金額、すなわち目標値は1000円から5億円、小数、ゼロ、マイナスはありません。未払い残月数、すなわち"i"は1から最大で20程度で債務者ごとにバラケます。 実際の処理は、支払いの都度、その債務者の未払い残月数(i)を与えて、未払い月毎の金額をすべて組合せ、合計して書き出し、その中から、支払額に一致する組合せのものを選択します。 例:債務者Aさんが850万円を支払いした。 Aさんの残高: 2000年1月--200万 2000年2月--100万 2000年3月--122万 2000年4月--550万 2000年5月--マイナス200万(返品があった) 2000年6月--300万 2000年7月--200万 答え:A-(1,2,4月) B-(1,2,4,5,7月) C-(4,6月) 当初の質問で条件の記入不足があり、お詫び申し上げます。

関連するQ&A

  • 複数の数字の組み合わせの中から合計がAになる組み合わせを探す方法

    例えば、1~10の数字があって、その中から合計が10になる組み合わせを探す、という計算式はExcelで作成することはできますか?(答えは[1+2+3+4][1+2+7][1+3+6][1+4+5][1+9][2+3+5][2+8][3+7][4+6]の9通り) もしくは、複数の組み合わせで計算させて、合計が10になったものを検索するという計算式は可能でしょうか? よろしくお願いします。

  • nCr 組合せ数字からの順位の逆算

    1~100までの3つの数字の組合せでは、 1番目  1、2、3 2番目  1、2、4   ・   ・   ・ 161700番目 98,99,100 となりますが、任意の3つの組合せ数字が何番目なのかを求める方法はあるのでしょうか? このケースでは、2、3、4の組合せは4951番目になる。というような事です。 これは単純に 100C2 + 1 で計算しました。 このようにnとrの数値を変えて加算していけばできそうな気もするのですが繰り返し計算が多すぎて混乱しています。 もっとシンプルな方法はないのでしょうか?

  • エクセル関数について

    エクセル関数での計算式を教えてください。   3 5 -4 -9 8 11 -1 -5 8 と、数字がありますが、プラスの数字の合計とマイナスの数字の合計をそれぞれに計算したいのですが、どんな関数を使用し、又計算式を教えてください。

  • 応用した計算式を教えて欲しいです。

    皆さん、すいません、1つ下ぐらいに質問した者ですが、 基本の計算式を教えてもらったのですが、応用した計算式ができず 困っていまして、できましたらもう一度ご教授ください。 Aの1~3000までのセルの中に ランダムなプラスの数字、ランダムなマイナスの数字が縦にランダムに並んでます。 (例えば、0.54、0.15、0.3、0.015などが連続で並んでいたり、-0.57、-0.01、-0.25が連続で並んでいたり、0.25が1回だったり、-1.2が2回連続だったり、0があったり、等々) ※0も出現するので、その時はプラスマイナスゼロ扱いでお願いします。 0.54 0.15 0.3 0 0.015 -0.57 -0.01 -0.25 0.25 0 -1.2 -1.2 0 -1.2 その時に、 プラスの数字が並んでいる数の合計、 マイナスの数字が並んでいる数の合計、 を隣のセル(どこでもいいです)に出したいのですが、 この計算式のやり方がわかりません。。。 上記の例なら、下記のような答えになるはずなんです。 1.005 -0.83 0.25 -3.6 皆さんよろしくお願いします。

  • 組合せ問題

    組合せの問題です 以下の10個の数字のうち、5個を任意に選んで合計が「19」となる組合せはいくつあるか。 1,1,2,2,3,3,4,4,5,5 これを計算で求めるにはどうしたらよいでしょう? ※ この問題では合計「19」で、選択する数字も10個(重複2個迄)しかありませんが、これが大きい数字となるととても場合分けで上げきれません。

  • Excelの組み合わせをカウントしたいです。

    こんにちは。 Excelの組み合わせをカウントしようと試行錯誤したのですが 未だに完成出来ないので質問させて頂きます。 A列に1から10までの数字がランダムで500行ほどあり、 A列の中で1と言う数字があった場合、 その下のセルに2があればその組み合わせを1とカウントし、 B列に合計を表示したいのですが、これは可能でしょうか? どうかご教授下さいますよう、宜しくお願い致します。

  • エクセルの計算式でオートサムで単純にセルの合計を計算表示したいのですが

    エクセルの計算式でオートサムで単純にセルの合計を計算表示したいのですが マイナスの数字もプラスと認識して合計表示する方法教えて下さい

  • EXCEL関数で数字の認識のさせ方

    エクセルで、あるセルの数値がマイナスの値だった場合はこの数式、プラスだった場合はこの数式で計算という風にネストを組み立てたいのですが、プラスとマイナスの数字の認識のさせ方がうまくいきません。 数字のプラスマイナスを認識させる方法ってあるのでしょうか? 「""」で囲ってというのはわかるのですが・・・。

  • エクセルで組み合わせ計算

    質問があります。エクセル使えば計算とか、いろいろ覚えれば簡単に出来ると言われ前に組み合わせ計算教わった記憶が、あるんですが忘れてしまったので分かる方教えて下さい。 質問内容は、 数字で1・2・3・4・5・6・7があります。 7個の数字を3個ずつ組み合わせしたいんです。 (1・2・3)(1・2・4)(1・2・5)このような感じ何ですが 同じ数字がダブらない様にしたいんです。途中で(2・3・1)があると先に書いた(1・2・3)があるので×何ですが全部で35通りの組み合わせになると思うんですが、この様な計算も1欄で組み合わせ表示が出来るんでしょうか? また、この程度のエクセルレベルは初級位でしょうか? 宜しくお願いします。

  • 3つの数の組み合わせの求め方

    情けない質問なんですが、朝からずっと考えていて結局あきらめました。 1~18まで3つの数字を組み合わせる場合の式を教えてください。同じ数字の組み合わせはありません。 18までだと816通りありますが、例えば12までの組み合わせが何通りになるかと言う計算式が知りたいのです。 最初 1-2-3 2番目 1-2-4 … 18までの場合の最後16-17-18 よろしくお願いします。