• ベストアンサー

エクセル変わった表の作り方

例えばABCと三つの文字があるとして、これらの全ての組み合わせは(A,B,C,AB、AC、BC、ABC)七種類ですよね。これをエクセルで一発で表にしてくれる方法ないですかね?A,B,C,D・・・・と入力したら全ての組み合わせが表示されるようにしたいのですが・・・無理ですか?いちいち自分で全部しらべて入力するしかないですかねー?教えてください。お願いいたします。

  • typr
  • お礼率9% (5/54)

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

  • ベストアンサー
回答No.1

実際自分で使ったことないので説明できないのですが、ダウンロードして使えます。 参考まで...。

参考URL:
http://www.ne.jp/asahi/math.edu/ami/myprog/jk_inf.htm

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

   A  B  C    D 1  あ     あ    1 2  い     い    1 3  う     あい   2 4        う    1 5        あう   2 6        いう   2 7        あいう  3 2進数のビット演算で計算してみました。 上図で説明すると、A1:A3に使用する文字(例では あ、い、う)を入力して、 その範囲(A1:A3)を選択した状態で、下記マクロを実行します。 C列に結果の文字列を、D列にその文字列の長さを出力します(ソートのため) 出力はソートしていません。必要ならば手動でソートして下さい。 選択範囲に文字がなかったりした場合のチェックはしていません。 使う文字は計算上、15個まで可能です。実際は10個までしかテストしていません。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入します。 出てきたコードウインドウに下記マクロをコピーして貼り付けます。 Sub Kumiawase()   Dim st() As String   '// 組合せに使う文字   Dim num As Integer   '// 組合せに使う文字数     num = Selection.Rows.Count   ReDim st(num)   '// 組合せに使う文字を取り込む   Dim cot As Integer     For cot = 1 To num       st(cot) = ActiveCell.Offset(cot - 1, 0).Text     Next   Dim v As Integer    '// 使用不使用を決定するための数値   Dim rw As Long     '// 出力行数   Dim strOut As String  '// 組み合わせ結果の文字列   '// ***** ビット演算で組合せを決定する *****   For v = 1 To 2 ^ num - 1     strOut = ""     For cot = 0 To num - 1  '// ビットが立っていれば使う       If v And 2 ^ cot Then         strOut = strOut & st(cot + 1)       End If     Next     ActiveCell.Offset(rw, 2) = strOut     '// 作成した文字列     ActiveCell.Offset(rw, 3) = Len(strOut)  '// ソートのために桁数も出力     rw = rw + 1   Next End Sub

関連するQ&A

  • 自動で3つの表から一つの表にする方法

    EXCELで一つのタブに A/B/Cと3つの表があり それぞれ国名と数値が並んでます。 問題は AにはあるけどBCにはないや、AとCだけにある国名が有ります。 それらを 新しくDという表にABC全ての表から抜けなく全部の国名を抜き取る方法を教えていただけませんか? 毎月の集計に必要なので できれば 関数かマクロでできれば幸いです。

  • ブール代数の簡単化の問題についてです。

    学校の課題でブール代数の簡単化についての問題が出ました。 自分でも解いてみたのですが、自信がなかったり、わからないところがあります。 間違った解き方をしている部分、回答があっていない部分など、ご教授ください。 [1] a'b + a'c' + abc = a'(b + c') + abc [2] ab' + ab + a'b' = a(b' + b) + a'b' = a + a'b' [3] ab + ac + ab'c' = ab + a(c + b'c') = ab + a(c + b') = ab + ac + ab' = a(b + b') + ac = a + ac = a [4] ab+ c + abc + bc' = (ab + abc) + (c + bc') = ab + c + b = (ab + b) + c = b + c [5] ab + abc + ab' + ab'c' = (ab + abc) + (ab' + ab'c') = ab + ab' = a [6] a'b'c' + a'bc' + abc' + ab'c' = a'c'(b' + b) + ac'(b + b') = c'(a' + a) = c' [7] abc + ab'c + abc' + ab'c' + a'b'c' = ab(c + c') + ab'c + c'b'(a + a') = ab + ab'c + c'b' = ab + b'(ac + c') = ab + b'(a + c') = ab + ab' + b'c' = a(b + b') + b'c' = a + b'c' [8] a'bc'd + abcd' + abcd + a'bcd' + a'bcd = a'bc'd + abc(d' + d) + a'bc(d' + d) = a'bc'd + bc(a + a') = a'bc'd + bc [9] abd + ab'd' + acd + ac' = a(bd + b'd') + a(cd + c') = a(1) + a(d + c') = a [10] (a + bc)(a + cd) = a + bc * cd = a + bcd よろしくお願いします。

  • エクセル関数:シフト表を超過勤務表へ入力したい

    エクセルシート1に勤務表、シート2に超過勤務一覧表を作っています。 勤務形態としてはA,B,C,AB,BCの5種類あり、 週2回A,B,Cの各2名の6人体制(7時間労働が6人)、週5回はAB2名,BC2名の4人体制(8時間労働が4名)で動いています。 A,B,Cという勤務体制とAB,BCという勤務体制が混ざることはありません(例:2月10日に田中さんがA,同日に佐藤さんがBCという勤務体制はあり得ない) この週5回のAB,BCという勤務体制の日については1時間の残業が発生しているため、その管理を超過勤務一覧表にて管理しています。(A,B,Cという勤務体制の日については残業が発生していないため管理はしていません。) 超過勤務一覧表ではセルA1,2,3,,,に日付、B1,2,3,,,に名前、C1,2,3,,,に勤務時間(例:ABであれば19:00~20:00、BCであれば20:00~21:00というように記載)、D1,2,3,,,に残業時間数(毎回ほぼ決まって1時間)を記入しています。 現在はシート1の勤務表をプリントアウトし、それを片手に持ちシート2の超過勤務一覧表へ毎回手入力していますが、少しでも業務負担をはかりたく、 IF関数やVLOOK関数などについて調べてみましたがうまくできませんでした。 勤務表にて2月10日に田中さんと佐藤さんがABという勤務形態、鈴木さんと田中さんがBCという勤務形態として働いた場合、それを上述のような一覧表に一部分でもいいので自動入力できるような関数はありませんでしょうか? すべて手入力の状況から少しでも脱することができればと思っています。よろしくお願いします。

  • 算数 数学 組み合わせ

    a,b,c,の3つのカードがあるとします。 組み合わせは、 a b c ab ac bc abc の7個とします。 カードが4つ以上の場合の組み合わせ個数を算出する式を教えてください。

  • 積の符号を問う質問です

    問題 3つの実数a、b、cがあり次の(1)~(3)の条件をすべて満たしている。このとき、a、b、cはそれぞれ正の数か、負の数か。正しい組み合わせを1~5から1つ選べ。 (1)abc>0 (2)ab<0 (3)bc<0  1.a>0、b>0、C>0  2.a>0 b<0 C<0  3.a<0、b<0、C>0  4.a<0、b>0、C<0  5.a>0、b<0、C>0  で答えは4なのですが。この解き方がわかりません。説明には(1)abc<0を満たすものは1,2,3,4 (2)ab<0はabが異符号だから245(3)bc<0はbcが異符号だから345  と書いてあるのですが、答えや解説もわからなく、この問題が出たとき何をどうしてとけばいいのかわからなかったです。解き方教えてください。お願いします

  • 数と式 色々な因数分解 問21-2

    問題 次の式を因数分解せよ a(b+c)^2+b(c+a)^2+c(a+b)^2-4abc 自分の考え 展開してみる a(b^2+2bc+c^2)+b(c^2ac+a^2)+c(a^2+2ab+b^2)-4abc さらに展開する ab^2+2abc+ac^2+bc^2+2abc+a^2b+a^2c+2abc+b^2c-4abc aについて整理して (b+c)a^2+(b^2+c^2)a+bc(b+c)+2abc ここで止まりました 2abcをなんとかどかしたいです。 次どうすればいいしょうか? また考え方が間違っていれば指摘してください。 よろしくお願いします。

  • 組合せの総数がわかりません.

    例えばa,b,c,dの四つの組み合わせ方を挙げます. 組み合わせるものを同じ数字であらわすとしまして, 1123は,a,bを組み合わせてbとcは別々という意味です.ただし,2213も3321も3312も1123と同じ組合せになります. つまり総列挙すると 1123(ab,c,d) 1213(ac,b,d) 1231(ad,c,b) 2113(a,bc,d) 2131(a,bd,c) 2311(a,b,cd) 1122(ab,cd) 1212(ac,bd) 1221(ad,bc) 1112(abc,d) 1121(abd,c) 1211(acd,b) 2111(a,bcd) 1111(abcd) 1234(a,b,c,d) の15通りになるかと思います. 今,4つのアルファベットの組合せでしたが, これをnとすると,組合せの総数はどのようになりますでしょうか? 定式化不可能なのでしょうか?不可能ならこの組合せ総数が指数関数的に増大することを示せればよいのですが.

  • ベクトルの問題教えてください!

    AB=7,AC=8である△ABCがある。AB=b,AC=cとするとbとcの 内積についてb・c=16を満たす。 頂点Aから辺BCに引いた垂線とBCとの交点をHとするときAHをb、cを用いて表せ。 至急お願いします!

  • エクセルで現在ランキング表を作成しています。

    エクセルで現在ランキング表を作成しています。 A1~C3に数値が、D1~F3に文字列が入っています。 A1の数値とD1の文字列、A2の数値とD2の文字列を関連付けるようにし、 別シートに数値の大きい順に列で並べ替え、ランキング順を付けて下図のように したいのですが、文字列を関連付けて並び替えることができません。どうしたらよいでしょうか? シート2のA列がランキング順位、B列が数値の大きい順、C列にBの数値と関連付けた文字列 シート1              シート2 ____A____B____C____D____E____F     A__B___C 1__12__18__00__AA__AB__AC    1__1__25__BC 2__10__08__25__BA__BB__BC    2__2__19__CC 3__05__09__19__CA__AB__CC    3__3__18__AB

  • オリジナル数B 92

    三角形ABCにおいて,BC=a,CA=b,AB=cとする。内積→AB・→ACをa,b,cで表せ。 途中の計算も答えもわかりません 申し訳ありませんが早急にお願いします。

専門家に質問してみよう