過去完了形・未来完了形の使い方 — 「基準となる時」から考える
完了形を理解する鍵は、動作そのものがいつ起きたかだけでなく、どの時点から振り返るかです。現在完了は「今」、過去完了は「過去のある時点」、未来完了は「未来のある時点」が基準。形と用法を一つの時間軸で整理します。
この記事のポイント
- 過去完了は had + 過去分詞、未来完了は will have + 過去分詞
- 「基準時より前」のできごとを、完了・経験・継続として表す
- by は期限、until は継続。by the time の節では未来のことも現在形にする
完了形は「基準時より前」を見る形
| 形 | 基準時 | 基本形 |
|---|---|---|
| 現在完了 | 今 | have / has + 過去分詞 |
| 過去完了 | 過去のある時点 | had + 過去分詞 |
| 未来完了 | 未来のある時点 | will have + 過去分詞 |
現在完了の3用法を復習したい場合は、現在完了形の記事から確認できます。
過去完了形 — had + 過去分詞
過去のある時点よりも前に起きたことを表します。2つの過去のできごとの前後関係をはっきりさせる用法は、学校文法で大過去とも呼ばれます。
When I arrived at the station, the train had already left.
私が駅に着いたとき、電車はすでに出発していた。(出発 → 到着)
She had never seen snow before she moved to Hokkaido.
北海道へ引っ越す前、彼女は雪を見たことがなかった。(経験)
He had lived there for ten years when he moved.
彼が引っ越した時点で、そこに10年間住んでいた。(継続)
before や after だけで順序が明確な文では、両方を過去形にすることもあります。過去完了が常に必須なのではなく、前後関係を明確にしたいときに有効です。
未来完了形 — will have + 過去分詞
未来のある時点までに、動作が完了する・経験回数が増える・状態が続いていることを表します。
I will have finished this report by Friday.
金曜日までには、この報告書を終えているだろう。(完了)
Next month, I will have visited Kyoto three times.
来月には京都を3回訪れたことになる。(経験)
By April, she will have worked here for ten years.
4月には、彼女はここで10年間働いたことになる。(継続)
by・until・by the timeの使い分け
by + 時点 は「その時までに」という期限です。完了形と相性がよく、完了時点に注目します。
until + 時点 は「その時までずっと」という継続です。動作・状態が続く長さに注目します。詳しくはby と until の違いも参照してください。
By the time you arrive, the meeting will have ended.
あなたが着くころまでには、会議は終わっているだろう。
時・条件を表す節では、未来のことでも will を使わず現在形にします。そのため by the time you will arrive ではなく by the time you arrive です。
よくある間違い
❌ When I arrived, he left. → ⭕ When I arrived, he had left.
「到着より前に出発済み」と言いたいなら過去完了で順序を示します。
❌ I will have finish it. → ⭕ I will have finished it.
have の後ろは動詞の原形ではなく過去分詞です。
❌ by the time she will come → ⭕ by the time she comes
時を表す節では未来の内容も現在形にします。
理解度チェック
-
When we got to the theater, the movie (already / start).
答えを見る 答えを隠す
答え: had already started -
By next spring, I (study) English for five years.
答えを見る 答えを隠す
答え: will have studied
関連ページ
- 現在完了形 — 完了・経験・継続の3用法
- 時制の一致 — 過去の基準時から見た同時・それ以前・それ以後
- 英語の基本3時制 — 現在・過去・未来の基礎
- 仮定法過去・仮定法過去完了 — had + 過去分詞を使う反実仮想