- 締切済み
excelの組合せ計算について
0か1かが入る組合せの全通りがわかる計算を教えてください! 具体的に言うと、3この数字の場合は000、001、010、011、111になると思うのですが、それをエクセルで自動的に全通り出す式もしくはマクロが知りたいです。 3この場合は頭で考えればできるのですが、例えば8この場合、00000000、00000001、00000010、…等をすべて出すのは大変なのでエクセルで一気に出せないかと思った次第です。 すいませんが回答お待ちしております!
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- bunjii
- ベストアンサー率43% (3589/8249)
- m_and_dmp
- ベストアンサー率54% (987/1817)
エクセルの関数に10進数から2進数に変換する DEC2BIN() というのがあります。 2進数から10進数は、 BIN2DEC() です。 これらの関数が、関数ウイザード(fxボタン)にないときは、分析アドオンを組み込んでください。↓に説明があります。 http://yasu0120.blog130.fc2.com/blog-entry-19.html 予備知識として、8桁の2進数の最大値は 11111111、十進数に直すと 255 です。 関数を使って計算する場合は、 =BIN2DEC(11111111) とします。 つぎに、 セルA1に 0、 セルB1に =DEC2BIN(A1) と記述します。 セルA2に 1、 セルB2に =DEC2BIN(A2) と記述します。 A列が10進数、B列が2進数を表します。 つぎに、 セルA1,B1,A2,B2 を範囲選択し、セルB2の右下のコーナーにマウスポインタを持って行きマウスポインタの形が十字「+」になったところでマウス左ボタンを押したまま下方へドラッグ(オートフィル)します。 256行まで(A列の10進数の値が255になるまで)やります。 これですべての2進数が出ます。 NO.1さんの回答は、 =DEC2BIN(ROW()) となっていますが、スマートな方法です。
- kagakusuki
- ベストアンサー率51% (2610/5101)
8個の場合は、次の数式を適当なセル(ここでは仮にA1セルとします)に入力してから、そのセルをコピーして、その下にある254個の連続したセル(A2~A255)に貼り付けて下さい。(255個以上に貼り付けてしまっても、余分な組み合わせは表示されませんので、貼り付ける個数をオーバーしてしまっても構いません) =IF(ROWS($1:1)<2^8,TEXT(DEC2BIN(ROWS($1:1)),REPT("0",8)),"")
- web2525
- ベストアンサー率42% (1219/2850)
2進数Xビットで表される最大数 2^X(2のX乗)です ちなみに3この数字の場合は 000,001,010,011,100,101,110,111 2^3=8通りです
- 中京区 桑原町(@l4330)
- ベストアンサー率22% (4373/19606)
=DEC2BIN(ROW()) これをA1からA63にコピーしてください