完了形
have / had / will have + 過去分詞 = 基準の時点までのつながり
1完了形は「基準の時点」までのつながり
完了形は、ある基準の時点までに、動作が完了している・経験がある・状態が続いていることを表します。基準が今なら現在完了、過去なら過去完了、未来なら未来完了です。
| 形 | 基準 | 例 |
|---|---|---|
| have / has + 過去分詞 | 今 | I have finished the report. |
| had + 過去分詞 | 過去のある時点 | When I arrived, the train had left. |
| will have + 過去分詞 | 未来のある時点 | I will have finished it by noon. |

2現在完了の3つの意味
現在完了は、過去のことを今とつなげて話す形です。いっしょに使う語を手がかりに、意味を見分けましょう。
| 意味 | よくいっしょに使う語 | 例 |
|---|---|---|
| 完了・結果(〜したところだ・〜してしまった) | just, already, yet | I have just finished the report. |
| 経験(〜したことがある) | ever, never, before, once, ... times | Have you ever been to Okinawa? |
| 継続(ずっと〜している) | for, since, How long 〜? | We have lived here for ten years. |
I have just finished the report.
ちょうど報告書を書き終えたところです。
Have you ever been to Okinawa?
沖縄に行ったことがありますか。
We have lived here for ten years.
私たちはここに10年間住んでいます。
The city has already announced the new plan.
市はすでに新しい計画を発表しています。
3現在完了と過去形のちがい
過去形は過去の出来事だけを伝え、今どうなっているかは言いません。現在完了は今への影響を伝えます。そのため、yesterday、last year、... ago、When 〜? など、はっきり過去の時を表す語は、現在完了といっしょに使えません。

I lost my key yesterday.
きのう、かぎをなくした。(今はあるかもしれない)
I have lost my key.
かぎをなくしてしまった。(今もない)
When did you arrive in Japan?
いつ日本に着いたのですか。(× When have you arrived …?)
I visited Kyoto two years ago.
私は2年前に京都を訪れた。
4過去完了:過去より前
過去のある時点よりさらに前に起きたことや、その時点までの経験・継続は、過去完了〈had + 過去分詞〉で表します。

When I arrived at the station, the train had already left.
私が駅に着いたとき、電車はもう出てしまっていた。
I had never seen snow before I came to Hokkaido.
北海道に来るまで、雪を見たことがありませんでした。
He had lived in Kyoto for five years before he moved to Tokyo.
彼は東京に引っこす前、京都に5年間住んでいた。
She said that she had lost her key.
彼女は、かぎをなくしたと言いました。
after や before で出来事の順番がはっきりわかるときは、過去完了にしないで過去形のままでもかまいません。I went to bed after I finished my homework.(宿題を終えてから寝た)
5未来完了:未来のある時点まで
未来完了〈will have + 過去分詞〉は、未来のある時点までに完了していること・経験していること・続いていることを表します。by 〜(〜までに)とよくいっしょに使います。

I will have finished the work by noon.
正午までにはその仕事を終えているでしょう。
By next March, I will have studied English for six years.
来年の3月で、英語を6年間勉強したことになる。
The new station will have opened by the end of next year.
来年の終わりまでには、新しい駅が開業しているだろう。
6完了進行形
〈have been + ing 形〉は、ある動作が基準の時点までずっと続いていることを表します。過去の時点まで続いていたなら〈had been + ing 形〉です。

It has been raining since this morning.
今朝からずっと雨が降り続いている。
She had been waiting for an hour when the bus finally came.
バスがやっと来たとき、彼女は1時間待ち続けていた。
Officials said the fire had been burning for hours.
当局によると、火事は何時間も燃え続けていたということだ。(過去完了進行形)
7よくある間違い
| × | ○ | ポイント |
|---|---|---|
| I have visited Kyoto last year. | I visited Kyoto last year. | last year など過去の時を表す語とは過去形 |
| When have you finished? | When did you finish? | When 〜? は過去形でたずねる |
| I have lived here since ten years. | I have lived here for ten years. | 期間は for、始まりの時点は since |
| I will have finished it until noon. | I will have finished it by noon. | 「〜までに(完了)」は by |
| He has gone to Hawaii three times. | He has been to Hawaii three times. | 経験は have been to がふつう。have gone to は「行ってしまって今はいない」 |
8確認問題
( )に入る語を選びなさい。I have known him( for / since )I was a child.
答えを見る
since
since のあとには始まりの時点(ここでは節)がきます。
( )の動詞を適切な形にしなさい。When we got to the theater, the movie had already( start ).
答えを見る
started
着いた時点より前に始まっていたので過去完了 had started です。
誤りを直しなさい。I have seen him yesterday.
答えを見る
I saw him yesterday.
yesterday は過去の時を表すので過去形にします。
並べかえなさい。( the report / will / finished / have / I )by Friday.
答えを見る
I will have finished the report by Friday.
未来完了 will have + 過去分詞です。
英語にしなさい。「今朝からずっと雪が降り続いている。」
答えを見る
It has been snowing since this morning.
続いている動作は現在完了進行形で表します。
9ニュースで出てきた完了形
この単元に関係する英文がニュースに出てきたら、ここに自動で追加されます。