• 締切済み

ランダムで抽出した数字と該当する数字は

下記のような表があります。  A B C D E F G H I J K L M N O 1 範囲 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 50回毎 2 3 5 6 9 10 11 13 14 16 19 21 22 25 26  =RANDBETWEEN(1,15) で、5つの乱数を出しています。 A B C D E 乱数 3 1 8 13 4 乱数で選んだ数字が、範囲数字(1~15)に該当しているとき、50回毎のどの数字に当てはまるか、関数で求める方法を知りたいのです。 第1数字 3 が、範囲 3 の時、50回毎の 5 第2数字 1 が、範囲 1 の時、50回毎の 2 第3数字 8 が、範囲 8 の時、50回毎の 13 第4数字 13 が、範囲 13 の時、50回毎の 22 第5数字 4 が、範囲 4 の時、50回毎の 6 と、いう感じです。 下手な説明でわかりにくいかと思いますが、どなたかお教え願いますか。     

  • Mac
  • 回答数3
  • ありがとう数4

みんなの回答

  • capy2009
  • ベストアンサー率72% (337/465)
回答No.3

> =INDIRECT("A"&A3) :3 > ... > でだめですか。 ダメです。例えば =INDIRECT("A"&C3) を例に取ると、C3 セルの値は 8 なので =INDIRECT("A8") と同じ事になり、A8 セルの内容が返ります。A8 には何もデータが入っていないので 0 になるわけです。正しい答えを返すには、C3 → 8 → G1 となるように変換しなければなりません。 > 必要なら行と列を変換してください。 と書いたのはそういう意味です。 そもそも Excel は横に項目(この場合「範囲」「50回毎」など)を並べ、縦にそれぞれの項目に属するデータを並べるという形で使うように設計されています。敢えてその設計に逆らった使い方をするのも自由ですが、私はそんな醜い関数を書く気はないので、ご自分で試行錯誤してみてください。

nnsakuma
質問者

お礼

私事ですが、交通事故に遭い大変お礼の言葉が遅れました。申し訳ありません。役に立っています。有り難うございました。

  • capy2009
  • ベストアンサー率72% (337/465)
回答No.2

セルの内容をセル番地に変えるには、indirect関数を使います。 シンプルにするために、下記の例では縦に配置したデータを使います。必要なら行と列を変換してください。  範囲 50回 乱数   A  B  C 1  1  2  3 2  2  3  1 3  3  5  8 4  4  6  13 5  5  9  4 6  6  10 7  7  11 8  8  13 9  9  14 10 10  16 11 11  19 12 12  21 13 13  22 14 14  25 15 15  26 ここで =INDIRECT("A"&C1) とすれば、C1 の値は 3 なので =INDIRECT("A3") となり、セル A3 に入っている値、つまり 3 が得られます。 次に =INDIRECT("B"&INDIRECT("A"&C1)) とすれば、=INDIRECT("B"&"3") となり、 セル B3 に入っている値、つまり 5 が得られます。 同様に =INDIRECT("A"&C2) は 1 =INDIRECT("B"&INDIRECT("A"&C2)) は 2 となります。 以下同じ。

nnsakuma
質問者

お礼

capy2009さん 早速、回答をいただき有り難うございました。 縦に配置したデータでは、できましたが、横型にするとできません。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 3 5 6 9 10 11 13 14 16 19 21 22 25 26 3 1 8 13 4 =INDIRECT("A"&A3) :3 =INDIRECT("A"&B3) :1 =INDIRECT("A"&C3) :0 =INDIRECT("A"&D3) :0 =INDIRECT("A"&E3) :3 でだめですか。まだまだ初心の粋を出ていませんのでお世話をかけますがよろしくお願いします。

nnsakuma
質問者

補足

お礼のお返事をしましたが届いていなかったらごめんなさい。私事ですが、交通事故に遭い大変お礼の言葉が遅れました。申し訳ありません。役に立っています。有り難うございました。

  • foitec
  • ベストアンサー率43% (1079/2453)
回答No.1

デジタルライフ > Macintosh のカテゴリと何の関係が有るのでしょうか?(OSに関係ないですよね) 察するにExcelのことかと思いますがそれすら明示されていませんね。 専用のカテゴリがあるのでそちらで質問しましょう。

nnsakuma
質問者

お礼

foitecさん 初めての質問でしたので、説明不足でした。 今後注意していきます。

関連するQ&A

  • Excel2002 ランダムに並べ替える関数

    Excel2002で掛算九九の100マス計算を作っています。 マクロを使って、ボタンにマクロを登録し、九九の問題を作成したいのです。 1~10の数字をランダムに重複しないように、A1:J1に表示したいです。 A B C D E 1 9 7 8 1 2・・・ 2 2 3 8 4 1 5 4 でA1:J1の1~10の数字ををランダムに並び替えたいのですが、そういった関数はありますか? RANDBETWEEN関数を使ってみたんですが、重複する数字が返ってきてしまいます。 何か良い方法はありますか?

  • EXCELで該当数字の羅列から、該当数字をチェックする方法。

    エクセルの関数について質問させて頂きまます。 例えば A列   B列   C列 1行   111 2行   222 3行   333 4行   444 5行   555 6行   666 7行   777 8行   888 9行   999 10行   000 上記のような表があるとして、Dの10行目などにチェック欄を作成して、 そこに、数字を入力する事により、B列の数字の一覧から、 該当したものを、例えばC列に”該当あり”のように表示をさせたいと思っております。 例えば、そのチェック欄(Dの10行目)に”333”と入力すると A列   B列   C列 1行   111 2行   222 3行   333  該当あり 4行   444 5行   555 6行   666 7行   777 8行   888 9行   999 10行   000 このような感じです。 もしくは、該当する行の色を赤や青など他の色に変更する方法でも構いません。 説明が下手で分かり辛いかもしれませんが、どなたか、 このような場合の関数などをご存知の方おりましたら、 ご教授頂ければ幸いです。 どうぞ、宜しくお願い致します。

  • EXCEL 乱数発生の記録

    A1~C1 に0~9の乱数を発生[=RANDBETWEEN(0,9)]させ Dの列に再計算[F9を押す]の回数、E~Gの列に出た乱数の値を入れたいのですが、関数で可能でしょうか。   D E F G 1  1 2 5 7・・・1回目は 2,5,7が出た。 2  2 8 1 0・・・2回目は 8,1,0が出た。 3  3 9 4 4・・・3回目は 9,4,4が出た。 4  4 0 3 2・・・4回目は 0,3,2が出た。 このように再計算を行うと下の行に追加していきたいのですが、可能でしょうか。 宜しくお願いします。

  • エクセル、任意の「行」だけを抽出したい。

    こんなことできますか? A1:F100のセル内にランダムに数字が入っています。 質問1) この中から 1行目→3行目→5行目と一つ飛ばしで入っているデータを抽出してH1:M100の範囲内に表示させるにはどのような操作をすればいいのでしょうか?関数とかで簡単に抽出表示させる技とかあればいいのですが・・・。 A1-B1-C1-D1-E1-F1 A2-B2-C2-D2-E2-F2 A3-B3-C3-D3-E3-F3 A4-B4-C4-D4-E4-F4 A5-B5-C5-D5-E5-F5 A6-B6-C6-D6-E6-F6 A7-B7-C7-D7-E7-F7 ・・・ A100-B100-C100-D100-E100-F100 の中から A1-B1-C1-D1-E1-F1 A3-B3-C3-D3-E3-F3 A5-B5-C5-D5-E5-F5 ・・・ を抽出して H1-I1-J1-K1-L1-M1 ・・・ H100-I100-J100-K100-L100-M100 の範囲内に表示させたいです。 質問2) 同様に、 1行目→4行目→7行目と二つ飛ばしで入っているデータを抽出してO1:T100の範囲内に表示させるにはどのような操作をすればいいのでしょうか?関数とかで簡単に抽出表示させる技とかあればいいのですが・・・。 ※ 説明がわかりにくいかもしれませんが、よろしくお願いします。

  • excelで数字の羅列から、該当数字をチェックする方法

    excelの関数または条件付き書式について質問させて頂きます。 例えば・・・    A B C D E 1列 4 5 5 4 6 2列 5 6 6 5 4 3列 5 4 5 4 4 4列 6 6 6 5 4 5列 上記のような表があります。 そこでAの5行目などにチェック欄を作成し、 そこに、数字を入力する事により、1列のAから4列のAまでの数字からAの5列に入力した数字に該当したセルを、塗りつぶすか書式を変更させるかのいずれかで表示させたいと考えております。 もし回答頂けたかたのお時間が許すのであれば、その逆に該当から外れた場合に同様にセルが塗りつぶれるか書式が変わるようにするパターンもご教示していただければ幸いです。 可能であればで結構ですのでよろしくお願いします。

  • エクセルで、0~9数字の中で使ってない数字を抽出す

    エクセルで、A1~L1のセルに0~9の数字がランダムで並んでるとします。0~9数字の中で使ってない数字をM1以降に並べたいのです。関数を使ってやりたいのですが、誰かご教授下さい。 こんな感じですが・・・   A・B・C・D・E・F・G・H・I・J・K・L---M・N 1  1・1・4・9・8・0・3・2・5・5・4・2----6・7 2  4・6・7・3・2・5・1・0・1・9・6・4----8 3  7・0・5・9・1・3・9・4・7・8・7・6----2

  • エクセル 複数範囲から重複する数字を抽出

    エクセルで複数の範囲すべてに同じ数字があった場合、その数字を抽出することは出来ますか? 例:A1| B1 C1 D1 E1|F1 G1 H1 I1|J1 K1 L1 M1| N1 O1 P1 Q1| (1) B1~E1=(20 50 60) (2) F1~I1=(20 50 60) (3) J1~M1=(20 60) (4) N1~Q1=(20 50 80 ) (1)B1~E1、(2)F1~I1、(3)J1~M1、(4)N1~Q1の4つの範囲すべてに入っているのは、”20”になります。 A1に”20”と出したいのですが、どうしたら良いでしょうか。 どうぞよろしくお願いします。

  • 数字の並び換えの最適手順

    N個の異なる数字があります。これを大小の順にならべ換えます。 最適手順数は計算上はLog(N!)/Log(2)です。 その最適手順の一般化は可能でしょうか。 例1:N=4のとき A、B,C,Dと4個の数字があって 1回目 AとBを比較 結果A>Bが判明 2回目 CとDを比較 結果C>Dが判明 3回目 AとCを比較 結果A>Cが判明 4回目 BとCを比較する  B>Cのときは、A,B,C,Dとなって並び替え終了。 こういう都合の良い結果での並び換え終了は手順からはずします。 C>Bのとき 5回目 BとDを比較する B>Dのとき A、C,B,D で終了 D>Bのとき A,C、D、B で終了 例2:N=5のとき A、B,C,D、Eと4個の数字があって 1回目 AとBを比較 結果A>Bが判明 2回目 CとDを比較 結果C>Dが判明 3回目 AとCを比較 結果A>Cが判明 4回目 EとCを比較  5回目 E>CのときEとAを比較、C>EのときEとDを比較 6回目 ここから場合わけひどくなります。 例としてA>E>C>DのときBとCを比較 7回目B>CのときBとEを比較、C>BのときBとDを比較 例3:N=6であれば10回、N=7であれば13回でした。 これらはN=5の手順のあと6個目、7個目の位置決めするだけ。

  • RANDBETWEEN関数で0個または1つを抽出する方法について教えて

    RANDBETWEEN関数で0個または1つを抽出する方法について教えてください。 画像のようなエクセルのA~D列に任意文字列が入っています。 E1に 「A1&(半角スペース)&B1~D1のいずれかのうちの1つ、または、B1~D1のうち1つも選択しない()」 を出力させたいのですが、どう記述すればいいか教えてください。   =A1&" "&IF(COUNTA(B1:D1)=0,"",INDEX(B1:D1,RANDBETWEEN(1,COUNTA(B1:D1)))) を入れると 「A1&(半角スペース)&B1~D1のいずれかのうちの1つ」 は出来るのですが、 「B1~D1のうち1つも選択しない」 というのがどうすればいいのかわかりません。 いろいろ調べたところ、そもそも出来ないのかなぁ・・・と不安になっているのですが どなたか分かる方おしえてください。 よろしくお願いします。

  • エクセルの関数やマクロだけで、ランダムな並べ替えをするには?

    エクセルの機能である[データ]-[並べ替え]操作を使わずに、 ランダムなデータの並べ替えをするには、どうしたらいいでしょうか? 例: E列の乱数結果より、D列の内容をB列に並べ替え表示    A  B  C  D  E  F 1  順位 名称 C  場所 乱数   2   1       青森  5   3   2       埼玉  1   4   3       長野  3   5   4       福井  2   6   5       大分  4   7                   ↓    A  B  C  D  E  F 1  順位 名称 C  場所 乱数   2   1 埼玉    青森  5   3   2 福井    埼玉  1   4   3 長野    長野  3   5   4 大分    福井  2   6   5 青森    大分  4   7                   B列への関数入力または簡単なマクロを教えていただけると助かります。 よろしくお願いします。