メインコンテンツへスキップ

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

Excelでランダムな時刻を素早く生成するにはどうすればよいですか?

Author Xiaoyang Last modified

Excelを使用している際、テストやデータ分析、スケジュール作成、シミュレーションなどの目的でランダムな数字、日付、またはテキスト文字列を挿入することが一般的です。しかし、特定の範囲内や特定の間隔でランダムな時刻を挿入する必要がある場合もあります。例えば、モックタイムテーブルの作成、出席記録の入力、またはシステムテスト用の時間ベースのデータのシミュレーションなどが考えられます。Excelには直接的なランダム時刻生成機能はありませんが、組み込みの数式を使った方法や使いやすいアドイン機能、柔軟なVBAマクロ手法など、いくつかの実用的な解決策があります。

Excelで数式を使ってランダムな時刻を生成する

便利な機能を使ってExcelでランダムな時刻を生成する

VBAコードを使ってExcelでランダムな時刻を生成する


Excelで数式を使ってランダムな時刻を生成する

以下の数式は、1日の全体の中でランダム化したり、2つの特定の時刻の間で時刻を生成したり、定義された間隔でランダムな時刻を作成するなど、要件に応じてランダムな時刻を作成することができます。これらの方法は、特にマクロを有効にしたりアドインをインストールせずに即座に結果を得たい場合など、ほとんどの日常的なExcelタスクに最適です。

Excelでランダムな時刻を生成する

範囲にランダムな時刻を素早く入力するには、空白セルに次の数式を入力します。次に、必要な行数だけ塗りつぶしハンドルをドラッグして数式を適用します。これにより、00:00:00から23:59:59までの書式設定されたランダムな時刻値が提供されます。

=TEXT(RAND(),"HH:MM:SS")

Generate random time

この数式を必要な行数だけコピーすることができます。ただし、RAND()はワークシートが再計算されるたびに新しい値を生成するため、シートに変更を加えるとランダムな時刻も更新されます。生成した時刻を保持するには、結果をコピーして貼り付け(値のみ)で数式を上書きしてください。


Excelで2つの時刻の間でランダムな時刻を生成する

11:00から15:00の間など、制限された時間帯内でランダムな時刻を作成したい場合は、以下の数式を使用できます。この方法は、モックスケジュール、予約システム、または時間枠が重要なシミュレーションに適しています。

空のセルに次の数式を入力し、必要な範囲に塗りつぶしハンドルをドラッグしてランダムな時刻を入力します。

=TEXT(RAND()*(15-11)/24+11/24,"HH:MM:SS")

 Generate random time between two times

注意:この数式では、1115は24時間形式での開始時刻と終了時刻を表しています。これらを希望の時間枠に調整してください。分および秒はこの時間枠内でランダムに生成されます。

時刻が生成された後、それを静的に保持したい場合は、値として貼り付けてください。午前0時に開始または終了する時刻を使用している場合は、数式が日付のラップエラーを避けるために0と24を正しく使用していることを確認してください。


Excelで特定の間隔でランダムな時刻を生成する

特定の間隔(例:15分ごとや30分ごと)でランダムに時刻を生成するには、TEXT関数内でFLOORRANDを組み合わせることができます。これは、ランダムな予約の作成、イベント開始時間のランダマイズ、または正確な間隔でモックデータを配置するようなタスクに特に役立ちます。

空のセルにこの数式を入力またはコピーし、必要な量のランダムな間隔ベースの時刻を生成するために塗りつぶしハンドルを下にドラッグします。

=TEXT(FLOOR(RAND(),"0:15"),"HH:MM:SS")

Generate random time at specific intervals

注意:この数式では、「0:15」が15分間隔を設定します。「0:30」に変更すると30分間隔になり、必要に応じて他の有効なExcel時間文字列に変更できます。エラーを防ぐために、常に24時間形式で時間間隔を使用してください。

 より安定性を高めるために、それらを値に変換してください。

a screenshot of kutools for excel ai

Kutools AIでExcelの魔法を解き放つ

  • スマート実行: セル操作、データ分析、グラフ作成を簡単なコマンドで行います。
  • カスタム数式: ワークフローを合理化するための独自の数式を生成します。
  • VBAコーディング: 簡単にVBAコードを作成し実装します。
  • 数式の解釈: 複雑な数式を簡単に理解できます。
  • テキスト翻訳: スプレッドシート内の言語障壁を取り除きます。
AI搭載ツールでExcelの機能を強化しましょう。今すぐダウンロードして、かつてないほどの効率を体験してください!

Excelで2つの日時の間にランダムな日付と時刻を生成する

ランダムなイベントログやスケジュール記録を埋める際にランダムな日付と時刻の両方を生成するには、以下の数式を使用します。この方法は、テストやシミュレーションデータのために日付と時刻を組み合わせます。

セルにこの数式を入力または貼り付け、さらに多くの行が必要な場合はドラッグして入力します。

=TEXT(RAND()*("2021-2-1012:00:00"-"2020-10-19:00")+"2020-10-19:00:00","YYYY-MM-DD HH:MM:SS")

Generate random date and time between two datetimes

注意2020-10-19:00:00 および 2021-2-1012:00:00 は開始点と終了点です。ニーズに合わせてこれを調整してください。あいまいさを避けるために、日付は YYYY-MM-DD HH:MM:SS 形式で入力してください。特にシステムが異なる日付形式を使用している場合です。

数式を下にドラッグすると、各セルには選択した期間内の新しいランダムな日付と時刻が生成されます。日付部分または時刻部分のみが必要な場合は、該当するように数式の形式を調整してください(例:日付のみの場合は "YYYY-MM-DD" を使用)。


便利な機能を使ってExcelでランダムな時刻を生成する

数式を管理するのが面倒である場合や、大規模なランダムデータを迅速にカスタマイズする必要がある場合、Kutools for Excelの「ランダムデータ挿入」機能を利用することで、数クリックでランダムな数字、日付、時刻、およびカスタムテキスト文字列を挿入できます。これは、頻繁にランダムデータが必要な場合、数式の再計算を避けたい場合、または指定された範囲内で一意の時刻を挿入する追加オプションが必要な場合に特に適しています。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...
注意: ランダムデータ挿入」を使用するには、まず Kutools for Excel をインストールしてから、手順に従ってください。

Kutools for Excel のインストール後、次の指示に従ってください:

1. ランダムな時刻を挿入するための空白の範囲を選択します。

2. [Kutools] > [挿入] > [ランダムデータ挿入] に移動します。

click Insert Random Data feature of kutools

3. 「ランダムデータ挿入」ダイアログで、[時刻] タブに進み、[From(開始時刻)] および [To(終了時刻)] ボックスにそれぞれ目的の開始時刻と終了時刻を入力します。

specify the start and end time

ヒント: 生成されたすべての時刻が異なることを確認するには、[一意の値を生成する] オプションをチェックしてください。

4. [OK] または [適用] をクリックします。選択範囲には即座にランダムな時刻が入力されます。

random time has been inserted into the cells

今すぐ Kutools for Excel をダウンロードして無料トライアル!

ランダムデータ挿入」機能は、ランダムな時刻を静的(挿入後に変更しない)にしたい場合に特に実用的です。


VBAコードを使ってExcelでランダムな時刻を生成する

Excelでランダムな時刻を生成するもう一つの柔軟な方法は、VBAマクロを使用することです。VBAをカスタマイズすることで、特定の時間を除外する、指定された間隔で時刻を生成する、またはワークシートが変更されると自動的にランダム時間を更新するなどの追加要件を含めることができます。複数の範囲や繰り返しプロセスに対してランダムな時刻生成を自動化したいユーザーにとって、マクロを使用することは特に有用です。

以下は、選択したセルにランダムな時刻を生成して入力するサンプルVBAマクロです。開始時刻/終了時刻、ランダム化の粒度(分、秒)、または特定の時間を除外するなどを調整できます。

1. [開発] > [Visual Basic] をクリックして VBA エディターを開きます。VBAウィンドウで [挿入] > [モジュール] に進み、以下のコードを新しく作成されたモジュールにコピーして貼り付けます。(開発タブが表示されていない場合は、Excelオプション > リボンのユーザー設定で有効にしてください。)

Sub GenerateRandomTimes()
    Dim WorkRng As Range
    Dim StartHour As Integer
    Dim EndHour As Integer
    Dim ExcludeHour As Integer
    Dim cell As Range
    Dim xTitleId As String
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select range to fill random times:", xTitleId, WorkRng.Address, Type:=8)
    
    StartHour = Application.InputBox("Start hour (0-23):", xTitleId, 8, Type:=1)
    EndHour = Application.InputBox("End hour (1-24):", xTitleId, 18, Type:=1)
    ExcludeHour = Application.InputBox("Hour to exclude (if none, type -1):", xTitleId, -1, Type:=1)
    
    Application.ScreenUpdating = False
    Randomize
    
    For Each cell In WorkRng
        Dim h As Integer, m As Integer, s As Integer
        Do
            h = Int((EndHour - StartHour) * Rnd + StartHour)
        Loop While h = ExcludeHour
        
        m = Int(60 * Rnd)
        s = Int(60 * Rnd)
        
        cell.Value = TimeSerial(h, m, s)
        cell.NumberFormat = "hh:mm:ss"
    Next cell
    
    Application.ScreenUpdating = True
End Sub

2. F5 キーを押してマクロを実行します。対象となるセル範囲を選択するプロンプトが表示されます。希望の開始時刻、終了時刻、必要に応じて除外する時刻を設定できます。特定の時刻を除外したくない場合は -1 を入力します。その後、選択した範囲に一意のランダムな時刻が挿入されます。

このVBAアプローチは、夜間の時間を省略したり、分または秒をランダマイズする方法を変更して異なる間隔を生成するなどの高度なカスタマイズをサポートします。同じ範囲でマクロを再度実行すると値が上書きされるため、新しい実行前に保存したい場合は結果を別の場所にコピーしてください。


関連記事:

  • 2つの日付の間でランダムな日付を生成する
  • Excelファイルを使用しているとき、特定の目的でランダムな日付を生成したい場合があります。もちろん、手動で1つずつ日付を入力することは可能ですが、多数の日付を挿入する必要がある場合、その方法は時間がかかり退屈です。Excelでどのようにランダムな日付をすばやく生成すればよいでしょうか?
  • 2つの時刻の間に時刻があるかどうかを確認する
  • Excelで特定の時刻が2つの指定された時刻の間にあるかどうかを確認するにはどうすればよいですか?1つずつ確認すると時間がかかるので、ここでは簡単な数式でこの問題を解決する方法を紹介します。
  • 12時間形式を24時間形式に変換し、その逆も行う
  • 日常業務でExcelを使用している場合、異なる条件下で異なる時間形式を使用することがあります。たとえば、次のスクリーンショットに示されているように、12時間形式と24時間形式などです。しかし、Excelで12時間形式から24時間形式に、またはその逆に変換するにはどうすればよいでしょうか?
  • 深夜後の2つの時刻の間の時間を計算する
  • 仮に、勤務時間を記録するタイムテーブルがあり、A列には当日の開始時刻、B列には翌日の終了時刻が記載されているとします。通常、2つの時刻の差を直接「=B2-A2」という式で計算すると、正しい結果が表示されません(左のスクリーンショット参照)。Excelで深夜後の2つの時刻間の時間を正しく計算するにはどうすればよいでしょうか?

最高のオフィス業務効率化ツール

🤖 Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパーLOOKUP複数条件でのVLookup複数値でのVLookup複数シートの検索ファジーマッチ……
高度なドロップダウンリストドロップダウンリストを素早く作成連動ドロップダウンリスト複数選択ドロップダウンリスト……
列マネージャー指定した数の列を追加列の移動非表示列の表示/非表示の切替範囲&列の比較……
注目の機能グリッドフォーカスデザインビュー強化された数式バーワークブック&ワークシートの管理オートテキスト ライブラリ日付ピッカーデータの統合セルの暗号化/復号化リストで電子メールを送信スーパーフィルター特殊フィルタ(太字/斜体/取り消し線などをフィルター)……
トップ15ツールセット12 種類テキストツールテキストの追加特定の文字を削除など)50種類以上のグラフガントチャートなど)40種類以上の便利な数式誕生日に基づいて年齢を計算するなど)19 種類の挿入ツールQRコードの挿入パスから画像の挿入など)12 種類の変換ツール単語に変換する通貨変換など)7種の統合&分割ツール高度な行のマージセルの分割など)… その他多数
Kutoolsはお好みの言語で利用可能 ― 英語、スペイン語、ドイツ語、フランス語、中国語、その他40以上の言語に対応!

Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...


Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に

  • Word、Excel、PowerPointでタブによる編集・閲覧を実現
  • 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
  • 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!

全てのKutoolsアドインを一つのインストーラーで

Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。

Excel Word Outlook Tabs PowerPoint
  • オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
  • 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
  • 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
  • 30日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得