完了形・完了進行形の使い分け|基準点のズレを合図になる語句で見分ける
完了形と完了進行形は、「いつを基準にするか」で使い分けます。完了進行形は、そのうち「継続」の意味に絞ったものです。
完了形の使い分け(現在完了・過去完了・未来完了)
現在を基準に、そこまでの完了・結果・経験・継続を表す。
- 合図の語:since 〜(〜以来)、already(すでに)、ever、never など
過去のある時点を基準に、そこまでの完了・結果・経験・継続を表す。
また、2つの過去の出来事を、実際に起きた順序と逆の順序で述べるとき、時間的に前に起きたほうを過去完了で表すことがある(この用法は「大過去」と呼ばれる)。
- 合図の語:過去のある時点を示す表現(When I arrived … など)+already など
未来のある時点を基準に、そこまでの完了・結果・経験・継続を表す。
- 合図の語:by the end of 〜(〜の終わりまでには)のような未来の一時点を示す表現
問1
She ( )absent from school since the day before yesterday.
① was ② has been ③ had been ④ will have been
解説を見る ▶解説を閉じる ▼
和訳:彼女はおとといから学校を休んでいる。
正解:② has been
since the day before yesterday(おとといから)は、過去のある時点から現在まで続いていることを示す合図。現在までの状態の継続なので、現在完了の②が正解。
問2
When I arrived at the classroom, the English exam ( )already.
① has started ② was starting ③ had started ④ starts
解説を見る ▶解説を閉じる ▼
和訳:教室に着いたとき、英語のテストはすでに始まっていた。
正解:③ had started
When I arrivedという過去の一時点と、alreadyに注目。①has startedは現在完了で、現在を基準にする表現。When I arrivedという過去の一時点が基準なので使えない。「教室に着いた(過去の一時点)までに、すでに始まっていた」という、過去のある時点までの完了を表すので、過去完了の③が正解。②was starting(過去進行形)だと「その時点でちょうど始まっている最中だった」という意味になり、「すでに完了している」ことを示すalreadyと合わない。
問3
The professor praised my technical report which I ( )the day before.
① will be writing ② have written ③ have been writing ④ had written
解説を見る ▶解説を閉じる ▼
和訳:教授は、私が前日に書いた技術報告書を褒めた。
正解:④ had written
「褒めた(praised、過去形)」と「書いた(前日に)」の2つの過去の出来事の順序を考える。the day before(その前日)があるので、「書いた」のは「褒めた」よりもさらに前のこと。過去完了の④had writtenを使うと、praisedの時点よりも前に起きた出来事であることが示される(大過去の用法)。
問4
Paul’s yacht ( )in Hawaii by the end of next April.
① arrived ② has arrived ③ used to arrive ④ will have arrived
解説を見る ▶解説を閉じる ▼
和訳:ポールのヨットは、来年の4月末までにはハワイに到着しているだろう。
正解:④ will have arrived
by the end of next April(来年の4月末までには)という未来の一時点を示す合図に注目。未来のある時点までの完了を表すので、未来完了の④が正解。
現在完了と一緒に使えない表現
現在完了は「現状の状況」に焦点があるので、過去の一時点を名指しする語句とは一緒に使えません。
- 特定の過去の一時点を示す語:yesterday、last night[week/month/year]、〜 ago、then(その時)
- 過去の一時点を尋ねる疑問詞:When …?(いつ〜?)
- 過去の時期を指す節:when I was 〜(私が〜だったころ)
問5
There is a new road to the freeway. They finally ( )it yesterday.
① are opening ② have opened ③ opened ④ would open
解説を見る ▶解説を閉じる ▼
和訳:高速道路への新しい道路がある。その道路はついに昨日開通した。
正解:③ opened
yesterdayという過去の一時点を示す語があるので、現在完了の②は使えない。過去時制の③が正解。
問6
He ( )Chicago many times when he lived in the U.S.
① has visited ② has been visiting ③ has been visited ④ visited
解説を見る ▶解説を閉じる ▼
和訳:彼はアメリカ合衆国に住んでいたとき、何度もシカゴを訪れた。
正解:④ visited
when he lived in the U.S.(彼がアメリカ合衆国に住んでいたとき)は過去の時期を指す節。現在完了とは一緒に使えないので④が正解。
have been to A と have gone to A
| 表現 | 意味 |
|---|---|
| have been to A | Aに行ったことがある〈経験〉 Aに行ってきたところだ〈完了・結果〉 |
| have gone to A | Aに行ってしまった〈完了・結果〉(今ここにはいない) |
- He has been to Italy twice.(彼はイタリアに2回行ったことがある)〈経験〉
- He has been to a party.(彼はパーティーに行ってきたところだ)〈完了・結果〉
- “Where is he?” “He has gone to Italy.”(「彼はどこ?」「イタリアに行ってしまった」)〈完了・結果〉
問7(この問題だけ形式が異なります。( )内の語句を並べ替えて英文を完成させなさい。1語不要)
奈良にちょうど行ってきたところですが、これから京都へ行きます。
We (to / have / been / gone / just / Nara)and now we are leaving for Kyoto.
解説を見る ▶解説を閉じる ▼
正解:have just been to Nara(gone は不要)
「ちょうど行ってきたところだ」は完了・結果を表すhave been to Aで表す。justはhaveとbeenの間に置く。gone to Aだと「行ってしまっていて、今ここにいない」という意味になり、後半のnow we are leaving for Kyoto(これから京都へ向かう=今はまだここにいる)と矛盾する。
完了進行形の用法(現在・過去・未来完了進行形)
過去のある時点から現在までのように、ある時点までの動作の継続は、原則として完了進行形(have been doing の仲間)で表します。完了形と同じく、基準点が現在・過去・未来のどれかで形が変わります。
問8
We are all tired of snow. It ( )for six weeks now.
① has been snowing ② is snowing ③ snowed ④ will be snowing
解説を見る ▶解説を閉じる ▼
和訳:私たちはみんな雪にうんざりしている。もう6週間降り続いている。
正解:① has been snowing
for six weeks(6週間)という期間と、文末のnow(現在の時点で)に注目。文末のnowは、「現在の時点でもまだ続いている」ことを示し、現在完了進行形と結びつく合図。単独のnow(今まさに、の意味)が現在進行形の合図になるのとは役割が違う点に注意。期間+現在までの継続を表すので、現在完了進行形の①が正解。
問9
Mr. Brown ( )for nearly forty minutes when his client arrived.
① will have waited ② has been waiting ③ has waited ④ had been waiting
解説を見る ▶解説を閉じる ▼
和訳:ブラウン氏は、彼の顧客が到着したときには、40分近く待っていた。
正解:④ had been waiting
when his client arrived(過去のある時点)とfor nearly forty minutes(期間)に注目。過去のある時点までの動作の継続を表すので、過去完了進行形の④が正解。
問10
He ( )at the local hospital for 12 years by the end of next year.
① has worked ② has been working ③ will have been working ④ is working
解説を見る ▶解説を閉じる ▼
和訳:来年末には、彼は地元の病院に12年間勤務していることになる。
正解:③ will have been working
by the end of next year(来年末までに)という未来を示す表現に注目。未来のある時点までの動作の継続を表すので、未来完了進行形の③が正解。
問11
Mike and Bill ( )each other since they were children.
① know ② have known ③ have been knowing ④ will have known
解説を見る ▶解説を閉じる ▼
和訳:マイクとビルは子どものころからお互いを知っている。
正解:② have known
knowは状態動詞なので進行形にできない(原則として進行形にできない動詞があるのは、基本時制と進行形を扱った記事で見たとおり)。よって完了進行形の③have been knowingは使えない。また、①know(現在形)は、since節を伴う「現在までの継続」を単独では表せないので不可。現在までの状態の継続を表す現在完了の②が正解。
📚 時制の総まとめで、この記事が全体のどこに位置するか確認できます。
