ここから本文です

現在、エクセルの問題で悩んでおります。 例えば、 1〜18の番号を与えられた玉が...

アバター

ID非公開さん

2015/9/621:21:40

現在、エクセルの問題で悩んでおります。
例えば、
1〜18の番号を与えられた玉があります。
1・2・3・4・5の番号がついた計5個の箱を用意しており、玉をこの箱にランダムでいれていきます。

1〜18の玉は1回使っても再び使えます。
(箱にいれても何度も使えます。1の箱に18の玉をいれても2の箱に18がいれられます。)
この組み合わせ数は何通りあるでしょうか。
また、この組み合わせの玉の和の総計が小さい方から順に表示させていきたいと考えています。
例えば、
1の箱(1の玉)・2の箱(1の玉)・3の箱(1の玉)・4の箱(1の玉)・5の箱(1の玉)=総計5
1の箱(1の玉)・2の箱(1の玉)・3の箱(1の玉)・4の箱(1の玉)・5の箱(2の玉)=総計6
1の箱(1の玉)・2の箱(1の玉)・3の箱(1の玉)・4の箱(2の玉)・5の箱(1の玉)=総計6・・・・・・・
という順で表示させたいのです。

マクロも初心者で時間がかかっています。

1 2 3 4 5 計
1 1 1 1 1 5
2 1 1 1 1 6
1 2 1 1 1 6
1 1 2 1 1 6
1 1 1 2 1 6

見たいな感じで一つずつ打っています。
何かいい案は無いでしょうか?

よろしくお願いします。

閲覧数:
58
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

wuc********さん

2015/9/621:55:01

理論的にはマクロで
2~5の列を固定して、1の列の数字を+1ずつしていく。
19になる場合、1に戻して2の列の数字を+1する。
2の列が19になる場合は1に戻して3の列の数字を+1する。
3の列が(以下略)
という繰り返しで1~5の列全てが18になった時点でストップ。
計の列には同じ行の1~5の列の数字の合計を入れるようにした上で、
最後に計の列を使ってソートしてやれば望みの表示が出来るかと思います。

が、あくまで「理論的には」
今回の処理には18の5乗=1,889,568の行が必要ですが、
エクセルの行数は2010以降でも1,048,576行ですので行数が足りずに処理が停止します。
無理矢理やるなら、複数シートに分けるなどの工夫が必要ですね。

  • アバター

    質問者

    ID非公開さん

    2015/9/622:12:01

    なるほど!見えてきました。
    が・・・・。すいませんマクロも初心者でして、・・・。
    確かにエクセルでは桁が足りないですね。
    ありがとうございます。

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

nek********さん

2015/9/621:41:47

箱1から5までがそれぞれ1~18のときをすべて考えて箱ごとに配列に入れ
そのあとそれぞれ総計を計算して,小さいほうから並べればよいのでは?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる