doodle-on-web

自分で調べたことや、仕事の中で質問されたことなどをまとめています。

Excelで指定期間のランダムな日付を作成したい

スポンサーリンク

f:id:doodle-on-web:20210127184736p:plain
指定期間のランダムな日付を作成したい

一般的な式

= RANDBETWEEN( date1 、 date2 )

概要

2つの日付の間にランダムな日付を生成するには、DATE関数と一緒にRANDBETWEEN関数を使用できます。

示されている例では、B5の式は次のとおりです。

= RANDBETWEEN( D$5, E$5 )

B5セルに開始日、E5セルに終了日を登録してあるため、こちらの式は以下とイコールです。

= RANDBETWEEN(DATE(2020,1,25)、DATE(2020,4,15))

説明

RANDBETWEEN関数は、下と上の2つの数値を取り、その間にランダムな整数を生成します。Excelの日付はシリアル番号であるため、DATE関数を使用して小さい数値と大きい数値を作成できます。次に、RANDBETWEENは、これら2つの日付値の間にある数値を生成します。

ノート:

  1. この数式の結果は、正しく表示するために日付としてフォーマットする必要があります。
  2. ワークシートで変更がトリガーされるたびに、RANDBETWEEN関数が新しい数値を生成すること。これには、ワークシートの編集が含まれ、ワークブックを開くだけでもかまいません。
  3. 乱数が再度計算されないようにするには、数式をコピーしてから、[形式を選択して貼り付け]> [値]を使用して、数式を計算値に置き換えます。

ランダムな就業日

ランダムな就業日を生成するには、次のようなWORKDAY関数を追加できます。

= WORKDAY(RANDBETWEEN( DATE1 、 DATE2 )- 1 、1 )

WORKDAY関数は、返される日付が(オプションで)休日の週末ではなく、稼働日であることを保証します。ただし、WORKDAYは週末または休日に該当する日付を次の営業日にシフトするため、date2を超える日付が表示される場合があります。