高1 / 文法 / hg-03

更新 2026-09-12

完了形(現在完了・過去完了・未来完了・完了進行形)

この単元でできるようになること

入試での位置づけ

現在完了は中学の復習ですが、高校では過去完了(大過去)未来完了が加わり、「3 つの時点」を整理できるかが問われます。文法問題では when I was 〜 があれば過去形by the time … があれば完了形のような「合図の語」で選ぶ問題が定番。長文でも had + 過去分詞が出たら「それより前の出来事」と読み取れるかどうかで、時系列の把握が変わります。


1. 現在完了 ── 過去と今をつなぐ

まずここだけ

have(has)+ 過去分詞。「過去に起きたことが今にかかわっている」ことを表す。

用法意味合図の語
完了・結果〜したところだ/〜してしまった(その結果今…)just, already, yet, nowI have just finished lunch. / He has lost his key.(今もない)
経験〜したことがあるever, never, before, once, twice, 〜 timesHave you ever been to Kyoto?
継続ずっと〜しているfor + 期間, since + 起点, how longI 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 nowI 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. よくある間違い


8. 自己チェック

  1. 過去の一点を指す語(yesterday/ago/when 〜)があれば過去形にしたか
  2. since のあとは起点、for のあとは期間か
  3. 「過去のある時点より前」なら had + 過去分詞か
  4. by + 未来 があれば will have + 過去分詞か
  5. 動作動詞の継続は have been -ing、状態動詞はふつうの完了形か
  6. 経験の「行ったことがある」は have been to か

9. 小テストへ

→ 小テスト(hg-03

関連する単元

参考資料

このページの小テスト ── 間違えても、同じ型の別の問題でやり直せます。レベルを選んでそのまま始められます。
基礎から標準から発展から

高校英語の単元一覧まぜこぜテスト英語の勉強法