ここから本文です

エクセルについてご教授いただきたいのですが、よろしくお願い申し上げます。質問...

アバター

ID非公開さん

2017/12/213:37:56

エクセルについてご教授いただきたいのですが、よろしくお願い申し上げます。質問は1から45の数字の中から 重複する数字がないという条件で5個の数字を選びたいのですが、 1. まず1つ数字を選ぶ(例 45) 2. 連続する

数字を1組選ぶ(例 23 24) 3. 下一桁が同じ数字を1組選ぶ (例 2 32) 上記の例では45 23 24 2 32の5個の数字が選出された事になりますが 又、エクセルのシートにボタン等を配置してボタンをクリックする度に毎回違う5個の数字を表示する事は可能でしょうか?難しい質問とは思いますが、エクセルの関数やマクロ等については、素人でよくわからないため、ご教授の程よろしくお願い申し上げます。

補足5個の数字の指定はなく(ランダム) 1から45までの数字で条件に合えばよいのですが。

閲覧数:
41
回答数:
2

違反報告

ベストアンサーに選ばれた回答

mit********さん

2017/12/217:35:16

例えばA1セルからA45セルまでにダブりのない1から45までの数値をランダムに並べることにします。
そのうえでご希望の5つのデータを表示させることにして作業列を作って対応します。
F1セルには次の式を入力してF45セルまで下方にドラッグコピーします。

=RAND()

A1セルには次の式を入力してA45セルまで下方にドラッグコピーします。

=RANK(F1,F:F)

G1ではなくG2セルには次の式を入力してG45セルまで下方にドラッグコピーします。

=IF(A2=A1+1,ROUNDDOWN(MAX(G$1:G1),-2)+100,IF(MOD(A2,10)=MOD(A1,10),MOD(MAX(G$1:G1),100)+1,""))

そこでお求めのデータですがC列に表示するとしてC2セルにはA1セルの数値を表示させることにします。C3セルからC4セルには連続する 二つの数字、C5セルからC6セルには 下一桁が同じ数字をそれぞれ表示させることにします。

C2セルには次の式を入力します。

=A1

C3セルには次の式を入力してC4セルまで下方にドラッグコピーします。

=IFERROR(INDEX(A:A,MATCH(100,G:G,0)-IF(ROW(A1)=1,1,0)),"")

C5セルには次の式を入力してC6セルまで下方にドラッグコピーします。

=IFERROR(INDEX(A:A,MATCH(1,G:G,0)-IF(ROW(A1)=1,1,0)),"")

これで完成ですがエクセルのシートにボタン等を配置してボタンをクリックする度に毎回違う5個の数字を表示する事は可能でしょうかと言っていますが、F9キーを押すことで表のデータを次々に変えることができます。ボタンなどの設置は全く必要ありません。F9キーを押してください。
該当するデータが無い場合にはC3セルからC6セルの中では空白のセルとなる場合もあります。

なお、作業列が目障りでしたらそれらの列を選んで右クリックし「非表示」を選択すればよいでしょう。

ベストアンサー以外の回答

1〜1件/1件中

va3********さん

2017/12/214:06:04

これは、出力の結果にランダム性を持たせたい、という事ですから
Rnd関数が出す結果を応用してみてはどうでしょう

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる