計算モードを選び、起きたい時刻(または寝る時刻)を24時間表記で入力してください。睡眠サイクルの区切りに合う就寝時刻(または起床時刻)の目安を、1〜7サイクル分まとめて計算します。
このページでできること
- 「朝6時に起きたい」のような起きたい時刻を入れるだけで、睡眠サイクルの区切りに合う就寝時刻の目安が、1〜7サイクル分まとめてわかります
- 逆に「夜23時に布団に入る」のような寝る時刻から、サイクルの区切りに合う起床時刻の目安も計算できます
- 一晩に4〜6サイクルがよいとされる一般的な理論に基づいて、5サイクル・6サイクルの行に【推奨】を付けて表示します
- 睡眠サイクルの長さ・眠りにつくまでの時間は、自分の感覚に合わせて変えられます(初期値:サイクル90分・入眠15分)
- 式のやさしい解説・Excel/Googleスプレッドシート/Python用のコピペ数式・計算ドリル(演習問題)もこのページにまとまっています
この計算は何の役に立つ?
「明日は5時起き」という日ほど、何時に寝るかを感覚で決めがちです。例えば5:00起床・入眠15分なら、6サイクル(睡眠9時間)で前日の19:45、5サイクル(7時間30分)で同じく前日の21:15が目安になります。
サイクルの区切りは眠りが浅くなりやすいタイミングとされるため、そこに起床を合わせると目覚めやすいという考え方です。個人差はありますが、「なんとなく夜ふかし」を防いで逆算で寝る時刻を決める習慣づけに役立ちます。
直前まで勉強や準備を続けるか、早めに寝るか——迷ったときに、起きる時刻から使える時間を逆算できます。例えば6:30起床なら、5サイクル(睡眠7時間30分)で22:45、4サイクル(6時間)で0:15が就寝の目安です。
睡眠中は記憶の整理が進むとされており、「徹夜で詰め込む」より「必要な睡眠時間から逆算して計画する」ほうが安全側の作戦といえます。
出勤時刻が日によって変わるシフト勤務では、「今日は何時に寝るか」を毎回考える必要があります。起床時刻を入れ替えて計算し直すだけで、その日の就寝時刻の目安がすぐ出せます。
夜勤明けのように昼間に眠る場合も計算自体は同じです。ただし概日リズム(体内時計)の影響で昼の睡眠は浅くなりやすいため、結果はあくまで目安とし、つらい状態が続くときは医療機関や産業医への相談も検討してください。
昼寝をサイクル1回分(約90分)にすると、眠りの浅いタイミングで起きやすいという考え方があります。順算モードで「寝る時刻から1サイクル後」を計算すれば、目覚ましをかける時刻の目安がわかります(例:13:00に横になり入眠15分なら14:45ごろ)。
一方で、深い眠りに入る前の15〜20分程度の短い仮眠をすすめる考え方もあります。長い昼寝は夜の寝つきに影響することもあるため、自分の生活に合わせて使い分けてください。
式
用語・記号の解説
記号
| \(B\) | ビー | 就寝時刻。布団に入る時刻で、この計算機が逆算モードで求める値です。英語の bedtime の頭文字です。 |
| \(W\) | ダブリュー | 起きたい時刻(起床時刻)。逆算モードでは入力、順算モードでは求める値になります。英語の wake(起きる)の頭文字です。 |
| \(F\) | エフ | 眠りにつくまでの時間。布団に入ってから実際に眠りに落ちるまでの時間で、この計算機の初期値は15分です。英語の fall asleep(眠りに落ちる)の頭文字です。 |
| \(n\) | エヌ | 睡眠サイクルの数。この計算機は \(n = 1\) 〜 \(7\) のすべての場合を計算して表示します。 |
| \(C\) | シー | 睡眠サイクル1回の長さ。平均はおよそ90分とされ、この計算機の初期値も90分です。英語の cycle(周期)の頭文字です。 |
| \(S\) | エス | 睡眠時間。眠りについてから起きるまでの長さで、\(S = n \times C\) で求めます。英語の sleep の頭文字です。 |
用語
| 睡眠サイクル | すいみんサイクル | 眠っている間にノンレム睡眠とレム睡眠がひとまとまりで交互にくり返される、その1周期のこと。平均はおよそ90分とされますが、人により(同じ人でも日により)70〜120分程度の幅があるといわれています。一晩に4〜6回程度くり返すことが多いとされています。 |
| ノンレム睡眠 | ノンレムすいみん | 脳を休める眠りで、浅い段階から深い段階まであります。眠りに入って最初に現れ、深いノンレム睡眠の間に成長ホルモンの分泌が活発になるとされています。 |
| レム睡眠 | レムすいみん | 体は休んでいるのに脳が活発に働いている浅い眠りで、はっきりした夢を見やすい時間帯です。REMは「急速眼球運動(Rapid Eye Movement)」の略で、まぶたの下で目が素早く動くことから名づけられました。サイクルの後半に現れ、明け方ほど長くなる傾向があります。 |
| 概日リズム | がいじつリズム | 体温やホルモンの分泌などが約24時間の周期で変動する、体に備わったリズム。「体内時計」とも呼ばれます。海外旅行の時差ぼけは、このリズムと現地時刻のずれで起こります。 |
| 入眠潜時 | にゅうみんせんじ | 布団に入って眠ろうとしてから、実際に眠りにつくまでにかかる時間のこと。この計算機の「眠りにつくまでの時間」がこれにあたり、健康な大人ではおおよそ10〜20分程度といわれています。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
つまずいたら、この表の内容に戻って復習するのが近道です。
| 時刻と時間の計算(小学2〜3年) |
|
| 24時間表記(小学3年〜) |
|
| 掛け算(小学2〜3年) |
|
| 分と時間の換算(小学3年) |
|
Excelで計算する方法
| 起きたい時刻 | 6:00 |
| 眠りにつくまでの時間(分) | 15 |
| 睡眠サイクルの長さ(分) | 90 |
| サイクル数(回) | 5 |
| 就寝時刻 | =MOD(B1-(B2+B3*B4)/1440,1) |
| 寝る時刻 | 23:00 |
| 眠りにつくまでの時間(分) | 15 |
| 睡眠サイクルの長さ(分) | 90 |
| サイクル数(回) | 6 |
| 起床時刻 | =MOD(B1+(B2+B3*B4)/1440,1) |
| 睡眠サイクルの長さ(分) | 90 |
| サイクル数(回) | 5 |
| 睡眠時間(分) | =B1*B2 |
| 睡眠時間(時間) | =B3/60 |
B5の結果が「0.927…」のような数字で表示されたら、セルの表示形式を「h:mm」(時刻)に変えてください。3つ目の表の答えは450(分)と7.5(時間)です。B列を自分の数値に書き換えるだけで使えます。
Googleスプレッドシートで計算する方法
| 起きたい時刻 | 6:00 |
| 眠りにつくまでの時間(分) | 15 |
| 睡眠サイクルの長さ(分) | 90 |
| サイクル数(回) | 5 |
| 就寝時刻 | =MOD(B1-(B2+B3*B4)/1440,1) |
| 寝る時刻 | 23:00 |
| 眠りにつくまでの時間(分) | 15 |
| 睡眠サイクルの長さ(分) | 90 |
| サイクル数(回) | 6 |
| 起床時刻 | =MOD(B1+(B2+B3*B4)/1440,1) |
| 睡眠サイクルの長さ(分) | 90 |
| サイクル数(回) | 5 |
| 睡眠時間(分) | =B1*B2 |
| 睡眠時間(時間) | =B3/60 |
結果が「0.927…」のような数字で表示されたら、メニューの「表示形式 → 数字 → 時間」で時刻表示に変えられます。
Pythonで計算する方法
from datetime import datetime, timedelta
wake_time = datetime(2026, 7, 13, 6, 0) # 起きたい時刻(日付は日またぎ判定用の仮の日付でよい)
fall_asleep_minutes = 15 # 眠りにつくまでの時間(分)
cycle_minutes = 90 # 睡眠サイクルの長さ(分)
for cycles in range(7, 0, -1):
bedtime = wake_time - timedelta(minutes=fall_asleep_minutes + cycles * cycle_minutes)
sleep_hours = cycles * cycle_minutes / 60 # 睡眠時間(時間)
recommended = "【推奨】" if cycles in (5, 6) else "" # 一晩4〜6サイクルの理論に基づく目安
day = "前日 " if bedtime.date() < wake_time.date() else ""
print(f"{cycles}サイクル(睡眠{sleep_hours:g}時間): {day}{bedtime:%H:%M} {recommended}")
数式記述言語(LaTeX等)での書き方(コピペ可)
B = W − F − n × C
B = W - F - nC
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>B</mi><mo>=</mo>
<mi>W</mi><mo>−</mo>
<mi>F</mi><mo>−</mo>
<mi>n</mi><mo>×</mo><mi>C</mi>
</mrow>
</math>
B = W - F - n C
b = w - f - n*c
B := W - F - n*C;
B = W - F - n*C;
B = W - F - nC
S = n × C
S = nC
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>S</mi><mo>=</mo>
<mi>n</mi><mo>×</mo><mi>C</mi>
</mrow>
</math>
S = n C
s = n*c
S := n*C;
S = n*C;
S = nC
ChatGPT に聞いて計算してもらう方法
あなたは睡眠サイクル計算のアシスタントです。次の計算を、必ずPythonコードを実際に実行して行い、実行結果の数値だけを根拠に回答してください(暗算や推測で答えないでください)。 朝6時0分に起きたい人がいます。眠りにつくまでの時間は15分、睡眠サイクル1回の長さは90分とします。 サイクル数が1〜7回のそれぞれについて、「就寝時刻 = 起きたい時刻 − 眠りにつくまでの時間 − サイクル数 × サイクル長」で就寝時刻を計算してください。時刻が0:00より前になる場合は前日にくり下げてください。 サイクル数ごとの就寝時刻(24時間表記)と睡眠時間の一覧を示してください。これは一般的な理論に基づく目安であり、医学的助言ではないことも添えてください。
計算ドリル(演習問題)
このページの式を、自分の手で計算できるようになるための演習問題です。
眠りにつくまでの時間とサイクルの長さは問題文の値を使いましょう。答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
