• 締切済み

エクセル関数で対応可能でしょうか?

エクセルで対応可能かどうか教えて下さい。 1~65536の乱数を発生させて、1000回試行した時、 ・A 乱数値が1~16384だった時の回数 ・B 乱数値が16385~32768だった時の回数 それぞれA、Bの値は出せるのでしょうか?

みんなの回答

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

No.2です! タイトルの >エクセル関数で対応可能でしょうか? を見逃していました。 一例です。 ↓の画像で、 A1セルに「1」を入力 → Excel2007以降の場合は画面右上 Σのアイコンの下にある下向き矢印の「フィル」のアイコンをクリック → 連続データの作成 → 「列」を選択 → 「停止値」に1000 を入力しOK これで1~1000までの連番がA列に表示されましたので、 B1セルに先ほどの数式 =RANDBETWEEN(1,65536) という数式を入れ、フィルハンドルでダブルクリック! そしてG2セルに =COUNTIF(B:B,"<="&F2) G3セルに =COUNTIFS(B:B,">="&D3,B:B,"<="&F3) という数式を入れています。 これでF9キーを押すたびに出現回数が表示されると思います。 何度も失礼しました。m(_ _)m

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

こんばんは! VBAになりますが、一例です。 まずA1セルに =RANDBETWEEN(1,65536) という数式を入れておいてください。 次に画面左下の数式を入れたセルのSheetのSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long Range("B:C").ClearContents For i = 1 To 1000 ActiveSheet.Calculate If Range("A1") >= 1 And Range("A1") <= 16384 Then Range("B1") = Range("B1") + 1 ElseIf Range("A1") >= 16385 And Range("A1") <= 32768 Then Range("B2") = Range("B2") + 1 End If Next i End Sub 'この行まで これでB1セルに1~16384 だった回数が、 B2セルに 16385~32768 だった回数が表示されると思います。 ※ 中には2度以上同じ数値が出現することがあるかもしれませんが、 それは考慮していません。 1000回のデータを表示させたい場合はコードに少し手を加えれば、別列に表示は可能です。 ※ 何度もマクロを実行するたびに表示される回数が違ってきますが、 これでもよいのでしょうかね?m(_ _)m

  • FEX2053
  • ベストアンサー率37% (7987/21354)
回答No.1

=RAND()関数を1000セルに設定して、COUNTIF関数で 数えればいいだけだと思いますが。 ダイナミック乱数を発生させてにカウントする必要はないと 思いますけど。

関連するQ&A

  • エクセル関数

    次のようにセルに日付と対応する数値があるときに | 2003/4/1 | 2003/8/1 | 2004/3/1 | |****a****|****b*****|****c****| 2003/4/1から2003/10/1に値する期間の数値の合計 "(a+b)" を出すにはどのような関数を使えばいいのでしょうか。 お願いします。

  • RAND関数です

    お願いします。 A1~A20までに入力枠があります この数値は他の箇所より参照しています。 このA1~A20の数値に対してB1~B20に=RAND()で乱数を発生するようにしていますが、ただ、データー入りがA1~A20行が最大で、A1~A7までの時とか毎回変化します。当然、データーの入っていない行にも乱数が発生します。 =IF(ISERROR(RAND()))、” ”、((RAND())))) で表示させないようにとしましたが、できません。 関数の」組み合わせ?マクロのコード? いい方法がありませんでしょうか、宜しくお願いします。

  • エクセル関数等で出来ますか?

    エクセルでA行に数値、 B行以降にA行の数値分、値が入力されています。 A B C D E 1 0 2 4 a b f d 3 2 g l 4 1 s A行の数値分、その行以下に行を挿入し、 B行以降の値を入力する方法はないでしょうか?  A B C D E 1 0 2 4 a b f d 3 a 4 b 5 f 6 d 7 2 g l 8 g 9 l 101 s 11s 宜しくお願いします。

  • エクセル関数

    こんにちは。 次のような場合エクセルでどのような関数を使えばよいのか教えてください。 例>A列に1,2,3の3種の数字がある場合、それに対応するB列(A1ならB1、A5ならB5)において    A列の条件に合うB列の数値の和。 A列が1になっているB列対応セルの数値のみの和を知りたい場合に使う関数です。 意味、分かっていただけるでしょうか? よろしくお願いいたします。

  • エクセル関数。RAND。乱数の出し方。

    今日会社で聞かれました。 乱数の整数を出したいのですが、 この=RANDBETWEEN(a,b)( aとbは任意の整数を入れてました。) だと、少数ででてきてしまって、整数だけの乱数でないために、数値で、桁数を0にして表示させると 同じ整数がでてくることになってしまうのです。 整数だけの、乱数を出す方法はないでしょうか????切実に急いでます。誰か助けてください!!

  • Excelで数値の引用?の方法がわかりません

    エクセルでの数値の引用をしたいのですができません。 具体例をあげますと、 まずA1のセルには乱数を発生させる数式を書きます。(例えば1~3の数値がでる) そしてB1のセルに「りんご」B2に「みかん」B3に「ぶどう」と入力します。 このとき、C1のセルにA1で1がでたら「りんご」を、3がでたら「ぶどう」と表示されるようにしたいです。 数式でC1のセルに「=B?」と入力し、この?の部分をA1のセルの計算結果と対応させることが出来れば出来るんじゃないかと考えたのですが、その肝心の対応させる方法がわかりません。 初歩的な質問で申し訳ありませんが、どなたかやり方がわかる方がいましたらご教授お願いします。

  • Excelの関数について

    Excelの関数について 私のExcelは2003です。 表を作っていて A列とB列に数値を入れてその合計をC列に自動的に出すようにするのは C列に「=SUM(A3,B3)」と入れますよね? 1日数回のデータを取り A列とB列に数値を入力し 1ヶ月ほどデータを取り続けるので その分C列に入れた関数を下へセルの右下にポインタを合わせて十字の記号を出して 下へ関数を入れたのですが その場合C列には0と表示されますよね? これは防げないものなのですか? 後、そのC列に表示された合計値を 次の行のA列に表示させたいのですが そういう関数はありますか? C列の合計値に次の数を足して、合計値をどんどん増やしていくので 例えばC1の値をそのままA2に表示。 C2の値をそのままA3に表示 C5の値をそのままA6に表示としたいのですが 関数があったら教えてほしいです。

  • エクセルの関数について(条件付け)

    エクセルの関数について教えてください。 Aの値に対し、 ・Aの0.1倍の値が5000以下ならば、AからAの0.1倍の数値を引く ・Aの0.1倍の値が5000以上ならば、Aから5000を引く という式はどのようになりますか? 原始的な書き方かもしれませんが、 Aの値が入っているセルをB1とした場合、 =IF((B1*0.1)<5000,B1-(B1*0.1),B1-5000) であっているでしょうか? よろしくおねがいします。

  • ExcelのRAND関数

    ExcelのRAND関数で、0から1の間の乱数を発生させることができます。 たとえば、10万行のデータの各行に一度にRAND関数で乱数を発生させた場合(1件目に=RAND()を入力してから下方向コピーする。)、同じ値が発生することはありうるのでしょうか。 データ量が多くなるほど小数点以下の桁数が増えていくので、そのようなことは起きないようになっているのではないかと思いますが、実際はどうなのでしょうか? 

  • Excel 関数について

    Excel 下記のような場合、どのような関数及び対応したらいいのでしょうか。参考になる、サイトなどありましたら、教えてください。 例 E2に、D2と同じ値のあるセルをA2~C2から探し、同じ値のある、セルの1行上にある数値をE2に返す関数は、あるでしょうか。

専門家に質問してみよう