• ベストアンサー

組み合わせパターンについて

質問です! ExcelのA1からG1のセルに、1から7の数字が入力されています。 A1が1、B1が2・・・G1が7 そこから異なった5つを選びセットを作りたいです。 21通りあることが分かるのですが、全てのパターンをExcelで抽出したいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2です! 補足に >順不同でも同じ数字の組み合わせは表示されないようにしたいのです。 とありましたので・・・ 「順列」を選択して実行されていませんか? 「組合せ」を選択 → 「標本セル範囲」をクリック → A1~G1を範囲指定 →  「リスト開始セル」をクリック → 表示開始セルを選択 → 「抜き取り数」で「5」を選択 → 実行 これで重複なしで21種類のデータが表示されると思います。 これでもダメならごめんなさいね。m(_ _)m

orange211
質問者

お礼

できましたーーーー!!! ご指摘のとおり、順列にしてました。。。 これで明日の残業が免れそうです! ありがとうございます!!!!

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 検索していると、↓のURLがヒットしました。 かなりの優れものだと思います。 http://ichikura.com/excel/percombhlp.htm さっそく、ダウンロードさせてもらい試してみました。 Alt+F8キー → 「main」を選択・実行すると ↓のような画面が表示されます。 「組合せ」を選択 → 「標本セル範囲」をクリック → A1~G1を選択 → 「リスト開始セル」 → A3を選択 → 「抜き取り数」で「5」を選択し「実行」 これで画像のような感じに表示されました。 ※ 本来であれば自分でコードを考えなければならないと思いますが、 かなり手抜きでごめんなさいね。m(_ _)m

orange211
質問者

お礼

ありがとうございます! すごく使いやすいです。 補足させてもらったのですが、同じ組み合わせが表示されないようにしたいです。 でもすごく便利です。 ありがとうございました!

orange211
質問者

補足

質問に書き忘れてしまったのですが、順不同でも同じ数字の組み合わせは表示されないようにしたいのです。

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

>21通りあることが分かるのですが A2セル以降に書き出しました。 i = 1 For a = 1 To 3   For b = a + 1 To 4     For c = b + 1 To 5       For d = c + 1 To 6         For e = d + 1 To 7           i = i + 1           Cells(i, 1).Resize(, 5).Value = Array(a, b, c, d, e)         Next e       Next d     Next c   Next b Next a

orange211
質問者

お礼

ありがとうございます。 お恥ずかしながら、マクロがちょっと分からないのです。。。

関連するQ&A