完了形

英文法

今回は完了形を取り扱います。

前回の時制の章を見てない方はこちら(時制について | 1から学ぶ英語)を先にご覧ください。

I had lunch. と I have had lunch.

どっちも“私は昼ご飯を食べた”と言いたいわけですが…何が違うんでしょうか?

学校で説明されても、正直ピンと来なかった人も多いはず。

そもそも完了形とは何か?

完了形は「ある基準となる時点から見て、出来事の結果や影響がどう残っているか」を表す時制です。

現在完了:過去の出来事と今がつながっているイメージ。たとえば、

I have just finished my homework.(宿題をちょうど終えたところだ)では、終えた結果が“今”に影響しています。

過去完了:過去のある時点を基準にして、それ以前のことを表します。たとえば、

She had left before I arrived.(私が着く前に彼女は出発していた)のように、出来事の順序を整理するのに使われます。

未来完了:未来のある時点を基準にして、「そのときには〜してしまっている」という見方をします。By next year, I will have graduated.(来年までには卒業しているだろう)のように、将来を見越した表現です。

高校で習う完了形の基準は以下の通り。

〇現在完了→基準は「今」

〇過去完了→基準は「過去」

〇未来完了→基準は「未来」

それでは、ここで書く完了形について説明していきます。

現在完了
現在完了形については中学3年生(今の世代は教科書によっては中2の最後?)で習っています。

ここで改めて福種しておきます。

形はS have[has]+過去分詞(高校ではP.P)でしたね。

疑問文はSとhave[has]を入れ替えたら大丈夫でした。答え方はYes,S have[has]. or No, S haven’t[hasn’t].

ついでに説明しておくと、過去分詞は動詞ではありません。分類上は「形容詞」です。

文型のところでも出ましたが、形容詞は「状態」を表します。

まず冒頭で出てきたI had lunch. と Ive had lunch.について、

まず過去形はイメージとして「」を表します。

点とは…?って感じですが、要するに過去のある地点で昼食を食べてました。と言いたいわけで、今食べているのかどうかは分かりません。

上記のI had luhch. や I played soccer. , I watched the movie at home.等、過去形にすることで現在はやってるのか分からない、あるいはその動作をやっていないというのを表します。

では現在完了形はというと、過去形と違いイメージは「」です。

中学生の時に用法を習ったかと思いますが、覚えていますか?

1. 現在に至るまでの動作の完了
2. 過去の動作の結果生じた現在の状態
3. 現在に至るまでの経験
4. 現在に至るまでの状態の継続

の4種類でしょうか。完了とと結果は一緒にって教える先生もいたかもしれません。これらを教えてもらったところで訳の区別をしないといけないので、覚えるのが苦手な人にとっては面倒だと思います。

個人的には、これは考えようで基本的には「継続」だけ理解しておけば後は応用できると思っています。

継続用法は「(ずっとその状態)を持っている」というのが基本的なイメージで、ずっと継続して持っていることが分かります。そこから派生して、何かをした経験をずっと持っていれば「~したことがある」完了であれば「ずっとやってきたことをここで終わらせる」というイメージです。

先程の例文のI have had lunch.であれば、まだ食べているのであれば継続用法ですし、ずっと食べていて今終わったのなら完了形となります。

継続(状態が過去から現在まで続いている)

ある出来事や状態が「過去から今までずっとある状態が続いていて、今もその影響がある」ことを表すのが継続用法。さらに、多くの場合「これからも続くかもしれない」というニュアンスを含みます。シグナルワードとして、時の起点を表すsince~(~以来)、期間を表すfor~(~の間)、these~(ここ~の間)などの副詞句がよく一緒に用いられます。

He has lived in Tokyo since 2010.
 (彼は2010年以来東京に住んでいる)
I have played the guitar for five years. (私はギターを5年間弾いている)
She has been tired these past few days. (彼女は最近ずっと疲れている)

経験(過去のある時点での経験)

  • 意味:過去に経験したことがある/ないことを表す。
  • 典型的なシグナルワード:
  • ever …「今までに…したことがありますか?」
  • never …「一度も…したことがない」
  • before …「以前に」
  • once / twice / ~times 「1回 / 2回 / ~回」 
  • have been to / have gone to~ 「~へ行ったことがある / 行ってしまった」等 ※thereと一緒に使う時はhave been thereとなる

例:
Have you ever been to London?
I have never eaten sushi.

1have gone〔come〕toとhave been toの使い分け
「行ったことがある」「来たことがある」と「経験」を表す場合には、ふつうgo、comeは用いずbeが代用されます。go、comeが用いられるのは「結果」を表す場合です。

He has gone to Canada for a business trip.
 (彼はカナダに出張で行った。(今ここにはいない)―― 結果)
He has been to Canada several times on vacation.
 (彼はカナダに何度か旅行で行ったことがある ―― 経験)

2have been toとhave been in〔at〕の2用法
have been toには「~へ行ったことがある」(経験)のほか、「~へ行ってきたところだ」(完了)の意味も表します。

I have often been to our Tokyo branch office.
 (東京支店にはよく行ったことがある ―― 経験)
I have just been to the accounting department.
 (ちょうど経理部に行ってきたところだ ―― 完了)

3have been in〔at〕は「~に〔行って〕いたことがある」(経験)のほか、「ずっと~に〔行って〕いる」(継続)の意味も表します。

Has she ever been to New York
 (彼女はパリに〔行って〕いたことがあるのですか ―― 経験)
She has been in New York since last summer.
 (彼女は去年の夏からずっとニューヨークに〔行って〕います ―― 継続)

同じ「現在完了」でも、いつも同じ意味を表すとは限りません。
副詞(句)や前後の文脈によって、「経験」「継続」「完了」など、解釈が変わります。

完了(過去の行為が現在に影響を与えている)

完了用法(「~したところだ」「~してしまった」)

現在完了には、「ついさっき終わった」「もう済ませた」というニュアンスを表す用法があります。
つまり、直前まで続いていた行動が“今”終わった、ということです。

この用法とよく一緒に使われる副詞(句)
・時間を示す表現:today, this morning, this week, this year, recently, lately など
already(すでに)just(ちょうど)yet(もう/まだ)

例文
He has already finished his homework.
    (彼はもう宿題を終えている)
I have just had lunch.
  (今ちょうど昼ご飯を食べたところだ)
Have you finished your report yet? ― “No, not yet.”
  (「もうレポートは終わった?」―「いや、まだ」)
Have you already completed your homework?
   (宿題をもう終たんですか?ーまさか)

補足

  • already はふつう肯定文で使われますが、疑問文に入れると「もう終わったの?!」といった驚きを表すことがある。
  • yet疑問文なら「もう」、否定文なら「まだ〜ない」という意味になる。

現在完了(結果用法)

この用法は、過去に起こった出来事の結果が、今の状態にどう影響しているかを表します。
この場合、時を表す副詞はあまり使いません。

例文

I have misplaced my keys.
(鍵をなくした、今手元にない)

She has gone to the library to study.
(彼女は勉強のため図書館に出かけた、今ここにはいない)

Many people have started to enjoy cooking at home more than before.
(多くの人が以前よりも自宅で料理を楽しむようになった、今も続いている)

現在完了の注意点

現在完了は「現在の立場から、過去の出来事の結果や影響」を表す時制です。
そのため、明らかに過去を示す語句とは一緒に使えません

1. 過去を明示する語句

  • yesterday, ~ago, last~, 日付や年号など
    • I have known my friend five years ago.
    • I have known my friend for five years.
      (友達と知り合って5年になる)

2. 疑問詞としての when

  • ❌ When have you met your colleague?
  • ✅ Since when / How long have you met your colleague?
    (いつから同僚と知り合いですか?)

3. just / just now の違い

  • He arrived just now.
    (ついさっき到着した) → 過去
  • He has just arrived.
    (ちょうど到着したところだ) → 現在完了

4. 現在完了と使える副詞

・today, this morning / week / month / year など

まだその期間が終わっていない場合は現在完了を使用し、終わった場合は過去形となる
I have not checked my emails this morning. →まだ午前中
(今朝はまだメールを確認していない)
I did not check my emails this morning. →午前が終わり、夕方や夜など
(今朝はメールを確認しなかった)

最近の一時点
I have met my neighbor quite recently.
(つい最近、近所の人に会った)

過去形と現在完了の何となくのイメージは分かりました?

用法も基本的なところを知っておけば、この後紹介する過去完了、未来完了も同じです。

過去完了
続いて過去完了です。
これまで紹介した現在完了は基準が「現在」でしたが、今回は基準が1つずれて「過去」になります。
基準は1つずれるので、形は S had P.P となります。

上記でも説明した通り、過去完了は、「過去のある時点から振り返って、それより前にすでに終わっていたこと」や「その時までに積み重ねられていた経験・継続」を表す時制です。
言い換えると、現在完了が「今を基準に過去を振り返る」のに対し、過去完了は「過去を基準にさらに前を振り返る」イメージになります。

つまり,
過去を基準に → 過去完了
現在を基準に → 現在完了 となります。

過去完了の主な用法

1. 過去のある時までの動作の完了

基準となる過去の時点を示す語句と一緒に使います。
主な接続詞:when、after、before、till/until など

  • When I arrived at the café, my friend had already left.
    (私がカフェに着いたとき、友達はもう出てしまっていた)
    →カフェについた時が基準で、その時にはもう出発してる動作が完了しているという事。
  • She had finished her homework before dinner.
    (彼女は夕食前に宿題を終えていた)
    →夕食時が基準となり、それより前に継続してやっていた宿題が夕食前に完了させたイメージ。
  • After they had packed their bags, they left the hotel.
    (荷物を詰め終えた後、彼らはホテルを出た)
    →順序として、荷物を積める→ホテルを出るという流れなので、ホテルを出るタイミングを基準として、それより前にずっと荷物を詰めていて出発前に完了したという事

2. 過去のある時における、それ以前の動作の結果

  • I bought a new laptop because I had spilled coffee on the old one.
    (古いパソコンにコーヒーをこぼしてしまったので、新しいものを買った)
    →買った時が基準。こぼしてしまったのはそれよりも前。こぼしてしまったことが原因で、結果的に購入をしたという事。
  • It was one of the best meals I had ever had.
    (それは私が今まで食べた中で最高の食事の一つだった)
    →最高の食事の一つだと思った時が基準。それより前に色々と食事をとってるのでhad hadとなる。

3. 過去のある時までの経験

  • I didn’t know what to say because I had never attended such a meeting before.
    (こんな会議に参加したことがなかったので、どう話していいかわからなかった)
    →何を話すべきかわからなかったのが基準で、それより前に会議に参加した経験がなかったという事。
  • I knew the park well, for I had often gone there as a child.
    (その公園はよく知っていた。子どもの頃によく行っていたからだ)
    →子供の頃によく行っていたからその公園を知っているので、知っている時が基準でよく言っていたのはそれより前の経験を表す。

4. 過去のある時までの状態の継続

  • He had been feeling unwell for several days when I called him.
    (私が電話したとき、彼は数日前から体調が悪かった)
    →電話をした時が基準。それより前から体調が継続して体調が悪かったという事。
  • By 2010, she had been teaching at the school for fifteen years.
    (2010年には、彼女はその学校で15年間教えていた)
    →2010年が基準だが、これを過去と考えてそれより前の15年間で教えていたという事。

補足:過去の動作の継続を表す場合

  • He was exhausted last week. He had been studying too much.
    (先週、彼は疲れ切っていた。それまで勉強しすぎていたからだ)

過去完了はいかがでしょうか。現在完了は中学でもやっているため多少馴染みはあるかと思いますが、過去完了は高校からの為少し難しかったのではないでしょうか。
各例文に補足説明を記載しているので、それを読んでもらえると多少はイメージしやすくなるかと思います。

未来完了形
未来完了形は 「未来のある時点までに、ある動作が完了している」「その時点での状態がどうなっているか」を表す時制 です。
形は will〔shall〕+have+過去分詞 で表します。

未来完了形の主な用法

1. 未来のある時までの動作の完了

  • When I get to the coffee shop, my friends will have already left.
    (私がカフェに着くころには、友達はもう出てしまっているだろう)
    →この文の 基準点When I get to the coffee shop の部分です。一見現在形に見えますが、これは 未来の出来事 を表しています。何故かというと、これは 時を表す副詞節 で、未来のことでも副詞節内では現在形を使うルールがあるからです。副詞節は文型の S / V / O / C には分類されません。要するに「なくても意味は通るけど、未来の基準を示すために必要」な節です。
    まとめると、カフェに到着する未来の時点 が基準となり、未来完了形 will have already left が使われています。

    I will have cleaned the house by the time my parents come back.
     (両親が帰ってくるまでに、私は家の掃除を終えているだろう)
     →上記と同じ理由。

💡 補足:実際の日常では単純未来もよく使う
 ・I will clean the house by the time my parents come back.


2. 未来のある時における動作の結果

  • She will have left for the airport when you call.
    (あなたが電話するころには、彼女は空港に向かっているだろう)
    →上記と同じ理由で、基準はwhen you call.
  • This park will have changed a lot in a few years.
    (数年でこの公園もずいぶん変わっているだろう)

3. 未来のある時までの経験

  • I am going to visit New York next summer, and then I will have been there three times.
    (来年の夏にニューヨークを訪れる予定だが、それで3回目になる)

→基準点:来年の夏にニューヨークを訪れる時点。
その時点までにニューヨークを訪れた回数が 3回になる

  • How many books will she have read if she finishes the next one?
    (次の本を読み終えたら、彼女は何冊読んだことになるだろう)

→基準点:次の本を読み終えた時点。その時点で 合計何冊読んだことになるか を問う


4. 未来のある時までの状態の継続

  • Next March we will have been running our café for ten years.
    (来年3月で、私たちのカフェは10年目になる)

→来年3月で継続して10年になることを表す。基準は来年3月。

  • They will have lived in this apartment for over 15 years by the end of this year.
    (今年の終わりには、彼らはこのアパートに15年以上住んでいることになる)

→基準は今年の終わり。その時に継続して住んで15年になる。

💡 補足:接続詞節内では未来完了ではなく現在完了や過去完了を使う

  • You can go home if you have finished your homework.
    (宿題を終えたら帰ってよい)
  • I asked him to wait till[until] I had transferred the money to my account.
    (お金を口座に振り込むまで待ってくれるよう頼んだ)

進行形完了時制 ― 基準時まで続く動作の表現

ある時点までに継続していた動作を表す場合には 進行形+完了形 を使います。
基準の時点に応じて、現在完了進行形・過去完了進行形・未来完了進行形の3パターンがあります。

時制例文日本語訳
現在完了進行形I have been cooking dinner since five o’clock.5時からずっと夕食を作っている
過去完了進行形I had been cleaning the room for an hour when my friends arrived.友達が来たとき、私は1時間ずっと部屋を掃除していた
未来完了進行形By next Monday, I will have been practicing the piano for three months.来週の月曜までに、私は3か月間ピアノを練習してきたことになる

ポイント

  • よく使う副詞句: since(~以来)、for(~の間)、until(~まで)
  • 動詞によるニュアンスの違い:
    • I have worked here for ten years. → 単に「勤続10年」
    • I have been working here for ten years. → 「今も働き続けていて、感情的に強調される」
  • 完了進行形は直前に終わった動作にも使える
    • “What have you been doing?”
      “I have been writing emails.”
      (「何をしていたの?」「メールを書いていた」)

ここまでが完了形の内容です。何となくイメージできたでしょうか?

分量も多いですが、形はほぼ変わらないので用法を確認するだけでもだいぶ違ってきます。

今回はここまで。

コメント

タイトルとURLをコピーしました