この章から、準2級で新しく出てくる文法に入ります。最初は現在完了進行形と過去完了です。どちらも「時間の幅」や「時間の前後関係」を表す形で、長文読解にもライティングにも役立ちます。
この章で学ぶこと
- 現在完了進行形(have / has been + -ing)の意味と作り方
- 現在完了(継続)との違い、状態動詞は進行形にしないこと
- 過去完了(had + 過去分詞)の意味と作り方
- 過去完了が表す3つの意味(完了・経験・継続)と「大過去」
- それぞれの否定文・疑問文
ポイント: 現在完了進行形は「過去から今まで動作がずっと続いている」こと、過去完了は「過去のある時点よりさらに前のこと」を表します。どちらも「いつからいつまで」という時間の幅・前後を意識するのがコツです。
現在完了進行形(have been -ing)
現在完了進行形は、have / has been + 動詞の -ing形で作ります。「(過去のある時点から今まで)ずっと〜し続けている」という、動作の継続を表します。
- I have been studying English for two hours.(私は2時間ずっと英語を勉強し続けています。)
- It has been raining since this morning.(今朝からずっと雨が降り続いています。)
- She has been waiting for you for thirty minutes.(彼女は30分間ずっとあなたを待ち続けています。)
主語が he / she / it(三人称単数)のときは has been -ing、それ以外は have been -ing です。
現在完了(継続)との違い
現在完了の継続(have + 過去分詞)も「ずっと〜している」と訳しますが、使う動詞が違います。
| 形 | 使う動詞 | 例 |
|---|
| 現在完了進行形(have been -ing) | 動作を表す動詞(run, study, wait, rain など) | I have been running.(ずっと走り続けている) |
| 現在完了(have + 過去分詞) | 状態を表す動詞(know, live, have, like など) | I have known him for years.(何年も彼を知っている) |
know(知っている), like(好きだ), have(持っている), want(ほしい)などの状態動詞は、ふつう進行形にしません。これらは現在完了(have known など)で継続を表します。
注意: 「ずっと知っている」は I have known(○)であって I have been knowing(✕)ではありません。状態動詞は進行形にしない——これは大問1でねらわれやすいポイントです。
過去完了(had + 過去分詞)
過去完了は、had + 過去分詞で作ります。主語が何であっても had の形は変わりません。意味の中心は「過去のある時点(基準)より、さらに前のこと」を表すことです。これを「大過去」と呼ぶことがあります。
- When I got to the station, the train had already left.(私が駅に着いたとき、電車はすでに出発してしまっていました。)
この文では、「駅に着いた」のが過去の基準点で、「電車が出発した」のはそれより前の出来事です。順番を矢印で表すと、電車が出発 → 私が駅に着く(過去)→ 今となります。
ポイント: 過去完了は「過去の中の、さらに前」を表します。2つの過去の出来事があり、先に起きたほうを had + 過去分詞で表す、と覚えましょう。
過去完了の3つの意味
過去完了も、現在完了と同じように完了・経験・継続の意味を持ちます。基準が「今」ではなく「過去のある時点」になっただけです。
| 意味 | 例 |
|---|
| 完了(〜してしまっていた) | She had finished her homework before dinner.(彼女は夕食の前に宿題を終えてしまっていた。) |
| 経験(〜したことがあった) | I had never seen snow until I visited Hokkaido.(北海道を訪れるまで、私は雪を見たことがなかった。) |
| 継続(ずっと〜していた) | He had lived in Osaka for ten years before he moved.(引っ越す前、彼は10年間大阪に住んでいた。) |
注意: 過去完了は、必ず「比べる基準となる過去」とセットで使います。基準は before / when / by the time などの語句や、文脈から示されます。単独の過去の出来事には、ふつうの過去形を使います。
否定文と疑問文
どちらも have / has / had を使う文なので、否定文・疑問文も have / has / had で作ります。
現在完了進行形
- 否定文: I have not been feeling well lately.(私は最近ずっと体調がよくありません。)
- 疑問文: Have you been waiting long? — Yes, I have. / No, I haven't.(長く待っていましたか。)
過去完了
- 否定文: The shop had not opened when we arrived.(私たちが着いたとき、店はまだ開いていなかった。)
- 疑問文: Had the movie started when you got there? — Yes, it had. / No, it hadn't.(あなたが着いたとき、映画はもう始まっていましたか。)
ポイント: 答えるときも have / had を使います。「Have you been -ing?」には Yes, I have. / No, I haven't.、「Had 〜?」には Yes, 主語 had. / No, 主語 hadn't. と答えます。
どう問われる?
準2級でこの章の文法は、次のような形でよく問われます。
- 大問1(語句空所補充): 「It ( ) for three hours.」の空所に has been raining を選ばせる。現在完了進行形か、状態動詞なら現在完了かが問われます。
- 過去完了の選択: 「When I arrived, the meeting ( ) already finished.」の空所に had を選ばせる。2つの過去の前後関係を読み取れるかが問われます。
- 長文読解: 物語文で「By the time she came back, everyone had gone home.(彼女が戻ったときには、みんな帰宅してしまっていた)」のように時間の前後を表すために使われます。
注意: ねらわれやすいのは、①状態動詞は進行形にしない(have been knowing ✕)、②過去完了は基準となる過去とセット、の2点です。
まとめ
- 現在完了進行形は have / has been + -ing。「過去から今までずっと〜し続けている」という動作の継続を表す。
- know / like / have などの状態動詞は進行形にせず、現在完了(have + 過去分詞)で継続を表す。
- 過去完了は had + 過去分詞。「過去のある時点より前のこと(大過去)」を表す。
- 過去完了にも完了・経験・継続の意味があり、必ず比べる基準となる過去とセットで使う。
- 否定文・疑問文は have / has / had で作る。
ポイント: この章のカギは「時間の幅と前後」です。現在完了進行形は今まで続く動作、過去完了は過去の中のさらに前。例文ごと、時間の流れをイメージして覚えましょう。