高1 / 文法 / hg-03
完了形(現在完了・過去完了・未来完了・完了進行形)
この単元でできるようになること
- 現在完了の 3 用法(完了・経験・継続)を、いっしょに使う語(just/ever/since)から見分けられる
- 現在完了と過去形の使い分け(過去の一点を示す語があれば過去形)ができる
- 過去完了「過去のある時点より前」、未来完了「未来のある時点までに」を正しい場面で使える
- 完了進行形(have been -ing)で「ずっと〜し続けている」を表せる
- have been to/have gone to、since/for の使い分けができる
入試での位置づけ
現在完了は中学の復習ですが、高校では過去完了(大過去)と未来完了が加わり、「3 つの時点」を整理できるかが問われます。文法問題では when I was 〜 があれば過去形、by the time … があれば完了形のような「合図の語」で選ぶ問題が定番。長文でも had + 過去分詞が出たら「それより前の出来事」と読み取れるかどうかで、時系列の把握が変わります。
1. 現在完了 ── 過去と今をつなぐ
まずここだけ
have(has)+ 過去分詞。「過去に起きたことが今にかかわっている」ことを表す。
| 用法 | 意味 | 合図の語 | 例 |
|---|---|---|---|
| 完了・結果 | 〜したところだ/〜してしまった(その結果今…) | just, already, yet, now | I have just finished lunch. / He has lost his key.(今もない) |
| 経験 | 〜したことがある | ever, never, before, once, twice, 〜 times | Have you ever been to Kyoto? |
| 継続 | ずっと〜している | for + 期間, since + 起点, how long | I have lived here for ten years. |
for と since:for は「期間の長さ」(for three years)、since は「始まった時点」(since 2020, since I was a child)。since のあとは過去形の文も置ける。
have been to と have gone to:
I have been to Paris.(行ったことがある・行ってきた) He has gone to Paris.(行ってしまって今いない)
2. 現在完了と過去形 ── 過去の一点があれば過去形
ここまでできれば十分
現在完了は「今」につながる表現なので、過去の一点を指す語とは使えない。
| 過去形と使う語 | 例 |
|---|---|
| yesterday, last 〜, 〜 ago, in 2015, then, at that time, when 〜(過去の文), just now | I saw him yesterday.(× have seen) |
× I have visited Rome in 2019. → ○ visited × When have you arrived? → ○ When did you arrive?(when は過去形と) ○ I have visited Rome three times.(回数は経験 → 現在完了)
just now(たった今)は過去形、just(ちょうど)は現在完了:He left just now. / He has just left.
3. 過去完了 ── 過去のある時点より前
まずここだけ
had + 過去分詞。「過去のある時点」を基準に、それより前に起きたこと・それまで続いていたことを表す。
When I arrived at the station, the train had already left.(着いたときには出たあとだった) She had lived in London for five years before she moved to Tokyo.(引っ越す前まで 5 年) I had never seen snow until I came to Hokkaido.
3 用法(完了・経験・継続)は現在完了と同じで、基準が「今」から「過去のある時点」に移るだけ。
大過去:過去の出来事を 2 つ並べて、先に起きたほうを had + 過去分詞にする。
I lost the watch my father had given me.(もらった → なくした)
順番どおりに述べるときは両方過去形でよい:He got up, washed his face, and left.(before/after があれば前後がわかるので過去形も可)
4. 未来完了 ── 未来のある時点までに
ここまでできれば十分
will have + 過去分詞。「未来のある時点までに〜し終えている・〜回になる・〜し続けたことになる」。
I will have finished the report by tomorrow.(明日までに終えているだろう) By next year, they will have been married for 20 years. If I visit Kyoto again, I will have been there five times.
合図の語:by + 未来の時点、by the time + S + 現在形(hg-02)。
5. 完了進行形 ── ずっと〜し続けている
ここまでできれば十分
have been + -ing:動作動詞の「継続」は完了進行形にする。
It has been raining since this morning.(今も降っている) I have been waiting for an hour. She had been studying for three hours when I called her.(過去完了進行形)
状態動詞(know, live, be, like など)は進行形にしないので、継続もふつうの完了形:I have known him for years.(× have been knowing) live・work・study は両方使える:I have lived / have been living here for ten years.
6. 3 つの時点の整理
| 基準 | 形 | 合図 |
|---|---|---|
| 今 | have + 過去分詞 | just, already, yet, since, for, ever, never |
| 過去のある時点 | had + 過去分詞 | when + 過去形, before, until + 過去形, by then |
| 未来のある時点 | will have + 過去分詞 | by + 未来, by the time + 現在形 |
7. よくある間違い
- × I have seen him yesterday. → ○ saw
- × When have you finished? → ○ When did you finish?
- × He has gone to Paris twice. → ○ has been(経験は been)
- × I have lived here since ten years. → ○ for ten years
- × When I got there, the movie already started. → ○ had already started
- × I have been knowing her for years. → ○ have known
- × By next March, I will graduate. → ○ will have graduated(「までに〜し終える」)
8. 自己チェック
- 過去の一点を指す語(yesterday/ago/when 〜)があれば過去形にしたか
- since のあとは起点、for のあとは期間か
- 「過去のある時点より前」なら had + 過去分詞か
- by + 未来 があれば will have + 過去分詞か
- 動作動詞の継続は have been -ing、状態動詞はふつうの完了形か
- 経験の「行ったことがある」は have been to か
9. 小テストへ
→ 小テスト(hg-03)
関連する単元
- 前提:e3-01 現在完了、e3-02 現在完了進行形、hg-02 時制
- 次に進む:hg-04 助動詞(助動詞+have+過去分詞)、hg-18 話法と時制の一致
- ここで使う考え方が出てくる:hg-12 仮定法過去完了(had + 過去分詞)、hg-06 完了不定詞
参考資料
- 文部科学省『高等学校学習指導要領(平成30年告示)解説 外国語編・英語編』── 「動詞の時制及び相」の項
受験のしらべ / https://juken-shirabe.com/daigaku/english/hg-03/ / 更新 2026-09-12