• ベストアンサー

組み合わせを実際に作成したい

8人を4人づつのA・B2組に振り分ける組み合わせは 70通りと計算では出たのですが、実際に組み合わせを 作成すると70通り出来ません。 エクセルで関数を使って実際の組み合わせを作成することは出来るのでしょうか。 もし、出来るのならば、やり方も教えていただければと思います。 宜しくお願いします。

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

  • ベストアンサー
  • age_momo
  • ベストアンサー率52% (327/622)
回答No.3

#2です。 #NAME?がでましたか???どのセルに出たのでしょうか? もしかしたらバージョン違いで対応していない関数使っちゃいましたかね。 では、少しやり方を変えます。以下の関数なら大昔のExcelから有った と思いますので。。。(質問者さんのExcelの事言ってる訳じゃなくて、 私が大昔から使っているものでね) 以下、入力するセルと式です。そのまま書き込みをコピーしてペーストしてください。 A1  =INT(ROW(A1)/128) B1  =INT(MOD(ROW(B1),128)/64) C1  =INT(MOD(ROW(C1),64)/32) D1  =INT(MOD(ROW(D1),32)/16) E1  =INT(MOD(ROW(E1),16)/8) F1  =INT(MOD(ROW(F1),8)/4) G1  =INT(MOD(ROW(G1),4)/2) H1  =MOD(ROW(H1),2) I1  =SUM(A1:H1) A1-I1をコピーしてA2-I255までペースト 後はI列をオートフィルターに設定して4だけ表示してください。

sysyamatotiousak
質問者

お礼

ありがとうございました。おかげさまで出来ました。 まったく、すばらしい出来でした。 このような計算式は、どこから思い浮かぶのでしょうか。 因みに「#NAME?」は、A列以外全てでした。

sysyamatotiousak
質問者

補足

ついでと言っては失礼ですが、もうひとつ。 7人を4人と3人に分ける場合 6人を3人と3人に分ける場合 なども、この計算式がつかえるのでしょうか? その場合は、どこをどのように変更すれば 良いのでしょうか。

その他の回答 (4)

  • age_momo
  • ベストアンサー率52% (327/622)
回答No.5

どうも補足は気付くのが遅れてしまいますね。すみません。 (メールとかに反映されないので。。。) >7人を4人と3人に分ける場合 I列の =SUM(A1:H1) を =SUM(B1:H1) に変更して4を集める。 >6人を3人と3人に分ける場合 I列の =SUM(A1:H1) を =SUM(C1:H1) に変更して3を集める。というところでしょうか。

sysyamatotiousak
質問者

お礼

何から何まで甘えまして、本当にありがとうございます。 よく分かりました。 今後の参考にさせていただきます。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

#2>「#NAME?」と表示されます。 多分DEC2BIN だと思いますが、この関数を使うには分析ツールアドインを入れる必要があります。

sysyamatotiousak
質問者

補足

エクセルのツールを見てみましたが、確かに分析ツールには チェックが入っていませんでした。

  • age_momo
  • ベストアンサー率52% (327/622)
回答No.2

かなり邪道な方法なのですが、一応、リクエストにお答えして A1-A255までに1,2,3,・・・を入力(自動入力使うか、A1に1入れて A2以降には"=A1+1"を入力してください。) B1  =RIGHT("0000000"&DEC2BIN(A1),8) C1  =VALUE(MID($B2,COLUMN(A1),1)) C1をコピーしてD1-J1にペースト K1  =SUM(C1:J1) B1-K1をコピーしてB2-K255にペースト K列を『データ』⇒『フィルター』⇒『オートフィルター』 タブを押して4を選択 これで『0』と『1』それぞれ4つずつの組が70個出てきます。 最初はC,D,E,Fが0、G,H,I,Jが1ですね。 (入力はこの書き込みを直接コピーしてペーストしていいですよ)

sysyamatotiousak
質問者

補足

提示の通り、エクセルに打ち込みましたが 「#NAME?」と表示されます。 どうしてでしょうか?

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

関数でということなんですが、反って面倒くさそうなのでVBAでやってみました。 ---------------------------------------------------------------- '8個から4個とる組み合わせ 'ワークシート上には選んだ4つを表示(選ばれた組と選ばれなかった組で組み分けされたとします) Public Sub Sample() Dim data() Dim pos(8) As Integer Dim count As Integer Dim i As Integer Dim j As Integer Dim k As Integer Dim base As Range Dim rowPos As Long data = Array("Dummy", "A", "B", "C", "D", "E", "F", "G", "H") Set base = Range("A1") '表示先の基準位置 rowPos = 0 '行の相対的基準位置 '8ビットの数値からビットの立っている数を数えて4つだったらその4つが選ばれたことにする For i = 0 To 255 '8ビットの数の全てで count = 0: k = 1 'Kはマスク For j = 1 To 8 If i And k Then 'ビットが立っている count = count + 1 '立っているビットのカウント pos(count) = j ' 立っていたビットの場所の保存 End If k = k * 2 '次のビット Next If count = 4 Then 'ビットが4つ立っていた For j = 1 To count '保存しておいた位置からデータをシートへ転記する base.Offset(rowPos, j - 1).Value = data(pos(j)) Next rowPos = rowPos + 1 End If Next End Sub

sysyamatotiousak
質問者

お礼

ありがとうございます。 VBAは、良く分かりません。 しかし、一度チャレンジしてみます。

関連するQ&A

  • 組み合わせの表を作成したいのですが・・・

    画像のように9×3の組み合わせをEXCELの表で作成したいと思っています。 組み合わせの数は、3^9通り、即ち19,683通りあります。 途中までは作成したのですが、合っているのか合っていないのか分かりません。 もっと簡単に組み合わせの表が出来ないか、考えています。 エクセルの関数若しくはVBAで計算できる方法があれば教えて頂けると幸いです。 どうかよろしくお願いいたします。

  • 組み合わせの計算

    6人の中で4人組を作る場合、何通りの組み合わせができるのでしょうか? (A-B-C-DとD-C-B-Aのようなものは同じ組み合わせとします) 書き出したところ、15通りになりましたが、合っているかどうかわかりません。 また、組み合わせの計算方法がありましたら教えてください。 よろしくお願いします。

  • エクセルで組み合せ一覧表を作成したいです

    エクセルでシート1のA1~O1の各セルには、アルファベットや数字(1~50)が入っています。 A1~O1までの15個のセルから、6つを選択した時の組み合せ一覧を作成したいと思っています。 組み合わせは計算すると、15C6となるので全5005通りになります。 組み合せの一覧は、シート2に表示させたいです。 (a,b,c,d,e,f)と(b,a,c,d,e,f)は同じものとします。 またA1~O1のセルに入るのは、アルファベットと数字の組み合せが複雑であれば、数字のみとしたいと思います。 関数だけで何とかしようと思いましたが、どうしても無理のような気がしてしまいましたので、こちらにご質問をさせて頂きました。 VBAの知識もないため、自分でプログラムを組む事もできません。 シートにVBAを組み込む方法は、これまでに経験があるので理解しております。 アドバイスを頂けると嬉しく思います。 何卒、よろしくお願い致します。

  • エクセルで組み合わせ作成

    お世話になっております。 エクセルについて悩んでおりますので、どなたかご教授下さいませ。 A~Fの値を持つ6つの項目があります。各項目は必ず選ばれるとは限らず、最小1項目、最大6項目選択される可能でがあります。 組み合わせ数は計算で求めることが出来るのですが、実際にA~Fが選択された形でのパターンをエクセルに表示させたいと考えております。 数式およびVBAなど実現方法はありませんでしょうか。 例としては、  1 2 3 4 5 6  A    A      A        A          A            A  B    B       ・       ・  A A  A   A       ・       ・       ・  A A A A A A  A B A A A A という形となります。 なにとぞよろしくお願いいたします。

  • エクセルで256通りの組み合わせ

    たとえば、A,B,C,Dという箱にそれぞれ1~4の数字を入れると 1111 1112 1113 ・ ・ ・ 4444 と全部で256通りの組み合わせができると思います。 このようにいくつもの値の組み合わせをエクセルで全て作製するにはどのようにしたらよいのでしょうか。 実際には、Aに(10,20,30,40)、Bに(0.5,1.0,1.5,2.0)、Cに(500,600,700,800)、Dに(1.1,1.2,1.3,1.4)という感じの値の組み合わせを全通り作りたいです。 簡単なことかもしれませんが、あまり詳しくないので困っています。 よろしくお願いいたします。

  • 組み合わせの数についてなのですが

    初歩的な質問かもしれません 例えば6人の生徒をABCの3組に分ける組み合わせの数を求める場合 6c2×4c2×2c2 で求めますが 6c2は「6人から2人を選んでA組に入れる」 という計算 4c2は「4人から2人を選んでB組に入れる」という計算だと思います。 しかしこの4人は「6人から2人を選んだ時の組み合わせ」次第で、パターンが変わってくると思うのですが なぜ4c2だけでいいのでしょうか?

  • 組み合わせの表示方法について

    1組目から順番に10組目までの組があります。各組には、A組、 B組、 C組があります。1組目から10組目まですべてを選んで尚且つA組B組C組すべてを選ぶと組み合わせの総数は19683組になるとおもいます。このような組み合わせで、たとえば3組目のA、Bを選択して続いて7組目のA,B,Cを選択して、続いて9組目のAを選択するような選び方で、その組み合わせの表示方法を教えてください。お願いします。 (例) .... A   B   C 1 2 3   *  * 4 5 6 7 * * * 8 9 * 10 

  • 確立と組み合わせの問題

    確立と組み合わせの問題について教えてください。 問題1 9人で旅行に行った。部屋割りを以下のようにするとき、それぞれ何通りの組み合わせがあるか。 (1)4人、3人、2人の3組にわける。 (2)3人ずつA,B,Cの部屋に入れる。 (3)3人ずつ3組に分ける。 (1)、(2)は分かったのですが、どうしても(3)が解けません。 誰かお願いします!

  • Excelですべての組合せ(重複組合せ)を出力するには?

    Excelですべての組合せ(重複組合せ)を出力するには? 次の条件のような場合、Excelですべての組合せ(重複組合せ)をVBAで出力するにはどうしたらいいのでしょうか? 10種類のお菓子の中から、好きなものを3個選んでセットにするとします。 同じものを複数選ぶのはありですが「菓子A、菓子B、菓子C」と「菓子B、菓子C、菓子A」は選んだ順が違うだけで同じ組合せなので、どちらか片方だけにします。 この場合、すべての組合せの数は Excelの関数で求めることができるようで COMBIN(10+3-1,3) = 220 通りあることまではわかりましたが、このすべての組合せの一覧をどのようにして出力したらいいのかがわかりません。 いろいろ検索した結果、順列という方法は見つかりましたが、重複組合せでの方法は見つけることができませんでした。 また、Accessを使っても似たようなことができるのでしょうか? 直積? できれば、3個固定ではなく5個の場合も出来るとうれしいです。 よろしくお願いします。

  • 複数の数字の組み合わせの中から合計が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になったものを検索するという計算式は可能でしょうか? よろしくお願いします。