- 締切済み
ランダムで抽出した数字と該当する数字は
下記のような表があります。 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 と、いう感じです。 下手な説明でわかりにくいかと思いますが、どなたかお教え願いますか。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- capy2009
- ベストアンサー率72% (337/465)
> =INDIRECT("A"&A3) :3 > ... > でだめですか。 ダメです。例えば =INDIRECT("A"&C3) を例に取ると、C3 セルの値は 8 なので =INDIRECT("A8") と同じ事になり、A8 セルの内容が返ります。A8 には何もデータが入っていないので 0 になるわけです。正しい答えを返すには、C3 → 8 → G1 となるように変換しなければなりません。 > 必要なら行と列を変換してください。 と書いたのはそういう意味です。 そもそも Excel は横に項目(この場合「範囲」「50回毎」など)を並べ、縦にそれぞれの項目に属するデータを並べるという形で使うように設計されています。敢えてその設計に逆らった使い方をするのも自由ですが、私はそんな醜い関数を書く気はないので、ご自分で試行錯誤してみてください。
- capy2009
- ベストアンサー率72% (337/465)
セルの内容をセル番地に変えるには、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 となります。 以下同じ。
お礼
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 でだめですか。まだまだ初心の粋を出ていませんのでお世話をかけますがよろしくお願いします。
補足
お礼のお返事をしましたが届いていなかったらごめんなさい。私事ですが、交通事故に遭い大変お礼の言葉が遅れました。申し訳ありません。役に立っています。有り難うございました。
- foitec
- ベストアンサー率43% (1080/2457)
デジタルライフ > Macintosh のカテゴリと何の関係が有るのでしょうか?(OSに関係ないですよね) 察するにExcelのことかと思いますがそれすら明示されていませんね。 専用のカテゴリがあるのでそちらで質問しましょう。
お礼
foitecさん 初めての質問でしたので、説明不足でした。 今後注意していきます。
お礼
私事ですが、交通事故に遭い大変お礼の言葉が遅れました。申し訳ありません。役に立っています。有り難うございました。