• ベストアンサー

エクセルでランダム表示したい

エクセルのセルA1からセルA20までとか「MM/DD/YYYY hh:mm:ss」の形式でランダム表示させる関数なんてあるでしょうか? できれば、3月1日~5月31までとか期限を制限してランダムに表示できたらうれしいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.6

="3/1"+RAND()*91.9999 #1、#2、#3さんいずれの方法でもいいと思いますが、あなたがソートすると自動で再計算されてしまうので、元のデータとは変わってしまい、昇順、降順にならないのです。 ソートをするなら自動再計算を停止するか、関数ではなく、値でコピー/貼り付けしてからでないとだめです。 自動再計算を停止するには、(Excel2003なら)、ツール―オプション―計算方法で、 計算方法、「自動」を「手動」にする。(今ここにExcel2003より高いバージョンがないが、2007,2010ではオフィスボタンでオプションを選べたと思うが) 値でコピー/貼り付けするのは、範囲を選択コピーして同じ範囲に「形式を選択して貼り付け」で、「値」を選んで貼り付ける。

siraku
質問者

お礼

回答ありがとうございました。 解決いたしました。

その他の回答 (6)

noname#204879
noname#204879
回答No.7

[No.2補足]へのコメント、 ランダム表示とはバラバラ表示のことですよね? ソートしてもバラバラなのはランダム表示だからです。お分かりかなぁ~? それはサテオキ、昇順あるいは降順にソートしたければ、[値の貼り付け]を実行してから行うべきです。 なぜならソートする過程で[再計算]が実行されるからです。=RAND()関数はそういう性格のものです。 お分かりかなぁ~?

siraku
質問者

お礼

回答ありがとうございます。 やっと意味が分かりました。 感謝します。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.5

No.1です。 >回答ありがとうございます。今試してみたのですが >#NAME? >と表示されてしまいます。 すみません。記述するのを忘れてました。 「ツール」「アドイン」で「分析ツール」にチェックしてください。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 すいません間違えました。  正しくは ="3/1"+INT(RAND()*("5/31"-"3/1"))+1 です。

siraku
質問者

補足

度々すいません。 今試したのですが 2011/5/30 0:00 2011/5/27 0:00 2011/5/30 0:00 2011/5/31 0:00 2011/4/6 0:00 2011/3/21 0:00 2011/5/14 0:00 2011/5/9 0:00 2011/5/24 0:00 このように時間がすべて0:00になってしまいます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 次の数式で良いと思います。 ="3/1"+RAND()*INT("5/31"-"3/1")+1

siraku
質問者

補足

回答ありがとうございます。 ランダム表示できたのですが、並べ替え(ソート)をしたら 2011/3/24 6:19 2011/3/8 19:14 2011/3/4 6:56 2011/3/17 21:20 2011/5/22 15:26 2011/5/15 18:16 2011/3/16 7:16 2011/4/17 1:15 2011/5/5 11:09 2011/5/28 10:49 2011/3/18 20:50 2011/4/22 10:54 このようにバラバラになってしまうのですが、日が若い順から並ばないものでしょうか?

noname#204879
noname#204879
回答No.2

="3/1"+("5/31"+1-"3/1")*RAND()

siraku
質問者

補足

回答ありがとうございます。 ランダム表示できたのですが、並べ替え(ソート)をしたら 2011/3/5 8:41 2011/4/13 15:19 2011/3/13 3:45 2011/3/22 18:44 2011/4/22 16:12 2011/5/5 16:52 2011/4/4 2:52 2011/3/10 7:54 2011/5/29 6:05 2011/3/27 0:32 このようにバラバラになってしまうのですが、日が若い順から並ばないものでしょうか?

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

A1に下記の数式を入力 =RANDBETWEEN("3/1","5/31")+RAND() でセルの書式設定を、「MM/DD/YYYY hh:mm:ss」にしてA20までコピーしてください。

siraku
質問者

補足

回答ありがとうございます。今試してみたのですが #NAME? と表示されてしまいます。

関連するQ&A