• ベストアンサー

組み合わせパターンを作りたいのですが、どのようにすれば効率的ですか?

こんにちは。 現在、以下のアンケートがあります。          選択肢(Aはよい、Bはふつう、Cは悪い) 問1 ××× A B C 問2 ××× A B C 問3 ××× A B C ・ ・ ・ 問11 ××× A B C ここで、問1~問11までの設問全体の組み合わせのパターンがどれだけどんなものがあるのか一気に出したいのですが、どのような方法がありますでしょうか?もし、ソフトがあればご紹介して頂ければ幸いです。 例えば、 パターン1としては、問1~問11までが全てAというパターン、 パターン2としては、問1~問11までが全てBというパターン、 パターン3としては、問1~問11までが全てCというパターン、 パターン4としては、問1~問10まではAで問11だけがBというパターン ・ ・ ・ など、3の11乗パターン存在すると思ってます。 こうしたパターンの一覧表を一気に作りたいのですが、どのようにすればよろしいでしょうか。 ご教示頂ければ幸いです。宜しくお願い申し上げます。

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

  • ベストアンサー
noname#60992
noname#60992
回答No.5

下記のプログラムをVB6で作ってみました。(あまりきれいではないですけど)pen4-2.8G メモリ512MBで90秒ほどで修了しました。 エクセルのことはよくわかりませんがそんなに難しくはないと思います。 Private Sub Command1_Click() Dim str_out As String s_time = Now() str_out = "" For i1 = 1 To 3 For i2 = 1 To 3 For i3 = 1 To 3 For i4 = 1 To 3 For i5 = 1 To 3 For i6 = 1 To 3 For i7 = 1 To 3 For i8 = 1 To 3 For i9 = 1 To 3 For i10 = 1 To 3 For i11 = 1 To 3 str_out = i11 & i10 & i9 & i8 & i7 & i6 & i5 & i4 & i3 & i2 & i1 Debug.Print str_out str_out = "" Next i11 Next i10 Next i9 Next i8 Next i7 Next i6 Next i5 Next i4 Next i3 Next i2 Next i1 Debug.Print s_time Debug.Print Now End Sub

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • pori_boy
  • ベストアンサー率60% (18/30)
回答No.6

こんにちは エクセル+関数のみを使う方法の一例です #エクセルでは最大行数に65536 という制約があり  そのために少し変なことしてるかもしれません。 0. B列からV列の列幅を3に,X列からZ列の列幅を15に  (見易さのためです) 1. A列にオートフィルを使って0から59048まで入力 (A1からA59049までが埋まると思います) 2. B1からK1まで以下の関数を入力 B1: =MOD(INT(A1/power(3,9)),3) C1: =MOD(INT(A1/power(3,8)),3) D1: =MOD(INT(A1/power(3,7)),3) E1: =MOD(INT(A1/power(3,6)),3) F1: =MOD(INT(A1/power(3,5)),3) G1: =MOD(INT(A1/power(3,4)),3) H1: =MOD(INT(A1/power(3,3)),3) I1: =MOD(INT(A1/power(3,2)),3) J1: =MOD(INT(A1/power(3,1)),3) K1: =MOD(INT(A1/power(3,0)),3) 3. B1からK1までを59049行目までコピー 4. M1に以下の関数を入力 M1: =IF(B1=0,"A",IF(B1=1,"B","C")) 5. M1をM1からV59049まで全部にコピー 6 X1からZ1まで以下の関数を入力 X1: =CONCATENATE("A",M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1) Y1: =CONCATENATE("B",M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1) Z1: =CONCATENATE("C",M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1) 7. X1からZ1までを59049行目までコピー とすると、X1からZ59049のセルに一覧がでます。 ---- VBAがわかるのであればそちらがおすすめですが このために覚える必要もないですね。

全文を見る
すると、全ての回答が全文表示されます。
回答No.4

 私はVer.2から使用していますが、確かにMathematicaは高価ですね。3^11は177147になりますから、これをエクセルで作ることは、出来ないことはないですが、一覧性は困難でしょうね。  マクロを作り、Pen4,3G メモリ2Gならなんとかなるかも知れません。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

アンケートにおける分析方法について(ちょっと難しいかもしれませんが。。。)の質問に対しても書きましたが、Mathematicaを使用してください。3^11程度は簡単に作れます。

maro77
質問者

お礼

Mathematicaは、40万と想定外に高額であったため、この作業だけで買うのはちょっと悩みました。なので、別の方法がないか検討させて頂きました。 やはり、Mathematicaが一番なのですかねぇ・・・ もし、エクセルなどを使ってよい方法がありましたらご教示頂ければ幸いです。 宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
noname#60992
noname#60992
回答No.2

作ることは可能かと思いますが、作ることに意義があるかは疑問です。 参照するのが大変で 答えのパターンは3^11で間違いありません。 何で作るのかにもよってきますがエクセルでしたらVBAをつかってループを11個作って書き出すというのが一番簡単かな? 連番を3進数に変換させたりするのも考え方としては簡単だとおもいます。 コンピューターのほうで質問されれば、どなたかが作ってくださるかもしれません。 その際には、何を使って(ソフトウエア)作るのかも書いていただけたらよいかと思います。

maro77
質問者

お礼

ありがとうございます。 参考になります。 もう少し待ってみて、別の方法がない場合は、コンピュータの方に相談したいと思います。 本当にありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

「作り方」としては、最終的に AAAAAAAAAAA AAAAAAAAAAB AAAAAAAAAAC ... と並べるとして、 A B C を3つコピーします。 それぞれの前に、A,B,C をつけます。 A B C A B C A B C に対して、 AA AB AC BA BB BC CA CB CC これを3つコピーして、それぞれの前に、A,B,C をつけます……と繰り返せばできます。 ただし、 3^11 って、 177,147 なんですが。 実用上「作れない」でしょう。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 計算 組み合わせ パターン 3人組

    A14人 B19人 C27人 ABCからそれぞれ一人づつ選び3人組を作る場合組み合わせは何パターンは出来ますか?

  • 問79がわかりません。重複組み合わせの問題です。出

    問79がわかりません。重複組み合わせの問題です。出来れば〇と|を使った解法を教えていただきたいです。 ちなみに、(a+b+c)の6乗です。

  • 数字の組み合わせパターンの取得について

    a組 1,2,3,4,5,6,7,8,9 b組 1,2,3,4,5,6,7,8,9 c組 1,2,3,4,5,6,7,8,9 上記のような各組から、それぞれ1つずつ番号を選択し 出来上がる組み合わせパターン全てを取得したいのですが どうしてもうまく取得できません。 各組の番号の重複はしないように取得したいので 9*8*7=154の組み合わせ全てを取得したいです。 (計算合ってますかね・・・) 例○:1,2,3 2,1,3 ・・・ 例×:1,2,1 2,4,4 ・・・ 質問も初めてなので、書き方など不明な点や不手際があれば あわせてご回答いただけると感謝です。

    • ベストアンサー
    • PHP
  • アクセス フォーム内で、パターン名から複数条件の組み合わせにて自動抽出

    アクセス フォーム内で、パターン名から複数条件の組み合わせにて自動抽出を行い。 その後さらにそこから条件抽出を行う方法について教えてください。 条件項目はパターン(個別条件の組み合わせ)、a,b,c,d(個別条件)とあるとして パターン=1:a=1,c=3,d=4 a=1,c=2,d=2 a=2,b=3,c=5 パターン=2:a=3,c=3,c=3 a=2,c=4,d=1 のような場合、1つのフォームでパターン、a,b,c,dを選択し条件抽出を行う方法を教えてください。 ☆なるべく複数クエリを使用したくはないです。できればパターン表テーブルを利用したいです。 以上、よろしくお願いします!

  • 組み合わせ

    A、B、Cの三つの群があって、それぞれの中にAは1~6、Bは7~12、Cは13~19の地点があります。たとえば「Aの1」から「Cの1」へ行ってひとつのパターンで、折り返しC1→A1で1パターンとして考えます。Aは6個、Bは6個、Cは7個のすべての箇所を行き来するパターンは全部で幾通りあるかExcelで表計算できるか、パターンを全部簡単に表示することをExcelでできるでしょうか。または別の方法(ソフトなど)がいるのでしょうか?

  • ビットパターンについての設問2

    先日、ビットパターンについて質問いたしましたlindenhallです。 新たな設問が出てきましたので、以下記載いたします。 解説付きで解答いただけると幸いです。 1.A=(1100), B=(1010)のビットパターンに対し、A・A-のビットパターンは(a)になり、 A・Bのビットパターンは(b)になる。したがって、 X=A・Aー+ A・B の論理演算結果の真理値表のビットパターンは(c)になる。ただし「・」は論理積演算子、「+」は論理和演算子、A-, B-はおのおのA,Bの否定演算子を表すものとする。 2.デジタルカメラTの1枚の写真は、ある記録方式では1600×1200ピクセルである。1ピクセルを24ビットのフルカラーで撮影するものとする。このとき、1ピクセルは( )ビット必要であり、バイト単位では( )必要である。したがって、1枚の写真は( )バイト必要である。 よろしくお願いいたします。

  • 組み合わせをすべて出力したい

    c sharp環境です。 フレームワークは.net 4.5.2になります。 組み合わせを全パターン出力したいと思ってます。 例: A B C 出力したいパターン: A B C A C B B A C B C A C A B C B A 組み合わせが3つであればいいのですが、実際には最大で6つの文字の 組み合わせ全パターンを出力する必要があります。 (文字の数は動的なので、1~6まであります) 例:A B C D E F linqなどを活用すれば簡単にできるものでしょうか? 泥臭くループを続けていく方法しか思い浮かびません。 良いやり方がありましたら、教えてください。 よろしくお願いします。

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

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

  • エクセルで一番勝率のいい組み合わせを知りたい。

    下記のようなデータがあります。(2000行ほど) 日付   システム名  ポイント システムパターン 2005/06/05 A   100    A-1 2005/06/05 B   200    B-1 2005/06/05 C   -500   C-1  2005/06/06 C   -100   C-4 2005/06/07 B   -100   B-2 2005/06/07 C   800   C-3 このようなデータがあるとします。 *日によってそれぞれのシステムの出現は出たり出なかったりします。 *ABCのそれぞれには何通りかのシステムパターンがあり日によってA-1の組み合わせが出るときもあればA-3のようなパターンもある。 1.どのシステムを組み合わせたときが一番ポイントを取ることができるのか? 2.どのシステムパターンの出現が一番優秀(ポイントを多く取れる)のか? 3.一番ポイントが取れないときはどのような組み合わせか?(組みあわせではなくひとつだけでもよい) 4.どのシステムパターンの出現は一番当てにならない(ポイントがマイナス)なのか? 以上の4点のうちどれかひとつでも分かる方。データの抽出の手法や関数を教えていただけるでしょうか。 よろしくお願いします。

  • Excelで組み合わせ!8人で3コースを巡回するパターンを作成したい

    Excel初心者です 8人でA,B,Cの3コースを巡回する組み合わせを作成したいのですが、 例えば、Aコースが1番目の人と2番目の人が組で 以下Bが3&4,Cが5&6、で7&8は休みでスタートします こういうのを一つのパターンとして、次回は同じコースを回らずかつ 違う人と組んでさらに休みも同じように振り分けたいのです 補足として、1年間の日程で巡回するのは決まった曜日です 組み合わせとして1番目の人は他の2~7番目の人と組む形が できるようにしたいです。(8人全員に当てはまります) ちなみに、コースが三つなので8×3で 24パターンあるってことですよね 休みを含めると8×4で32あることになるのかな? よろしくお願いします