現在完了形の継続用法|使い方や現在完了進行形との違い、頻出の前置詞まで徹底解説

更新日時 2021/11/03

この記事では、現在完了形の「継続」としての意味や用法について解説しています。

目次
  • 現在完了形とは

  • 現在完了形の継続とは

  • 現在完了形の継続で頻出の語句

  • 現在完了形 継続の否定文

  • 現在完了形 継続の疑問文

  • 現在完了形の継続用法と現在完了進行形の違い

  • 【補足】「~して〇年になる」の表し方について

  • 【大学入試英語対策】練習問題

現在完了形とは

そもそも現在完了形とはどのような文法なのかというところから学習しましょう。

現在完了形とは、過去に起こった動作や出来事、そして状態を現在と結び付けて表現したい場合に使われる文法です。

具体的には、〈主語+have(has)+過去分詞〉と表現します。
主語が三人称単数で文章が現在形の時は、haveの代わりにhasを使います。

現在完了形は文法書によってさまざまな分類がされますが、本サイトでは継続、経験、結果の三つに分けて解説していきます。

この記事では継続の用法について取り上げますが、ほかの用法についてもあわせて参照してください。

現在完了形の、経験・結果の用法については、それぞれ以下の記事をご覧ください。
→現在作成中

現在完了形の継続とは

現在完了形には、過去に開始された状態が現在も続いているという「状態の継続」の用法があります。

まずは一度例文を見て、現在形と現在完了形の違いを確認してみましょう。

(1) I know the fact.
私はその事実を知っています。

(2) I have known the fact since you were a child.
私はあなたが子供のころからその事実を知っています。

このように現在形の文を現在完了形にすることで、過去から現在までずっと続いている状態を表すことができ、訳し方は 「(…からずっと)~している」 となります。

また、この用法では動詞に状態動詞しか使えないので注意が必要です。

現在完了形の継続で頻出の語句

現在完了形の継続用法とよく一緒に用いられる表現として、since、forがあります。

sinceは後ろに過去のある一点を表す語句や文を続けることで 「〜以来、〜から」 という起点の意味を表せます。sinceは前置詞に加えて接続詞でも「〜以来」という起点の意味を持つので、後ろには名詞(句)でも節でも続けることができます。

(3) We haven’t seen her since yesterday.
私たちは昨日から彼女を見ていない。

(4) He has been sick since he was young.
彼は若い時からずっと病気です。

一方forは、後ろに期間を表す語句を続けることで 「〜の間」 という期間の意味を表せます。forが期間の意味を持つのは前置詞の場合だけなので、後ろには名詞(句)が続きます。

(5) It has rained for two weeks.
二週間雨が降り続いています。

(6) I have walked to the station for an hour.
私は駅まで一時間歩いています。

下図を見て、sinceとforはのイメージの違いを掴んでください。 sinceとforのイメージ

現在完了形 継続の否定文

現在完了形の継続の意味での否定文は、haveの後ろにnotを置くことでできます。 現在完了形 継続の否定文

すると意味は、「(…からずっと)~してはいない」となります。

例文を見ていきましょう。

(7) She has not lived in Italy for three years.
彼女はイタリアに3年間住んではいません。

(8) We haven’t belonged a baseball team since we were children.
私たちは子供のころからずっと野球チームに所属していたわけではない。

(9) I have not agreed with you for 10 years.
私は10年間ずっとあなたに賛成し続けていたわけではない。

現在完了形 継続の疑問文

「…の頃からずっと~し続けているか?」と聞きたい場合、現在完了形の継続を疑問文にします。
疑問文は、〈have+S+過去分詞〜?〉の形で作ることができます。

現在完了形 継続の疑問文

この疑問文に答える際は、Yes, he has./No, he hasn’t. のように答えます。

また、継続の疑問文には期間を問う疑問文もよく出るので、そちらもあわせて覚えていきましょう。How long〜?(どのくらいの間〜)などの表現がよく用いられます。

現在完了形 継続の疑問文

そしてこの疑問文への回答は、For two weeks. や Since I got home. など、forやsinceを使って答えます。

では、例文を見ていきましょう。

(10) “Have you waited since your friends returned to the school?”-“Yes, I have.
「あなたは友達が学校に帰ってからずっと待っていますか?」「はい、そうです。」

(11) “How long has he practiced judo?”-“For 5 hours.”
「彼はどのくらいの間柔道を練習していますか?」「5時間です。」

現在完了形の継続用法と現在完了進行形の違い

現在完了形の継続用法は、現在完了進行形と非常に似ているため、よくどちらを使えばよいかわからなくなってしまいます。

この区別は、一般的には状態動詞の継続には現在完了形、動作動詞の継続には現在完了進行形という理解で大丈夫です。

  • 現在完了形の継続用法

(12) I have been in the hospital for 3 days.
私は3日間入院している。

  • 現在完了進行形

(13) I have been playing basketball for 3 hours.
私は3時間バスケットボールをしています。

また、動作動詞と状態動詞についての詳しい解説につきましては、こちらの記事を参照してください。

しかし、study、learn、stay、sleep、wait、work、rainなどの単語には、単純な動作以外に一定期間行うという意味がもともと含まれているため、現在完了形でも動作の継続を表すことができます。

(14) I have studied English for an hour.
私は1時間英語の勉強をしている。

またニュアンス面でみると、現在完了形が習慣的な継続を表すことに対して現在完了進行形は一時的な継続を表すことなどの違いもあります。

現在完了形と現在完了進行形違いまとめ

現在完了形

  • 習慣的な継続
  • 状態動詞の継続を表す

現在完了進行形

  • 一時的な継続
  • 動作動詞の継続を表す
  • 動作は進行中

また、現在完了進行形の詳しい解説につきましては、こちらの記事を参照してください。

【補足】「~して〇年になる」の表し方について

例えば、「彼が亡くなって3年になる。」という文があるとします。

この文を英訳するとき、どのような訳し方があるのでしょうか。

現在完了形①「〜の状態が3年間継続している」

まず1つは、

(15) He has been dead for 3 years.
彼が亡くなって3年になる。

という訳し方です。彼が亡くなった状態が3年間継続している、という捉え方をしています。

ほかにも解釈の仕方によって、様々な訳出の方法があります。

現在完了形②「3年が過ぎた」

「現在で3年が過ぎた」と考え、Three yearsを主語にすることでも書くことができます。

(16) Three years have passed since he died.
彼が亡くなって3年になる。

現在完了形③「~以来3年だ」

逆に、期間を表すItを主語にして、「なくなって以来3年だ」と書くこともできます。

(17) It has been three years since he died.
彼が亡くなって3年になる。

このように、一つの文でも現在完了形を用いると様々な表記の方法があります。

過去形で表す

現在完了形を使わずに表現することもできます。単に「5年前に亡くなった」と過去形でとらえることもできますね。

(18) He died three years ago.
彼が亡くなって3年になる。

現在形で表す

現在形でも表すことができます。

(19) It is three years since he died.
彼が亡くなってから3年だ。

【大学入試英語対策】練習問題

最後に、練習問題を解いて理解したことを確認したうえで終わりましょう。

例題

次の英語を和訳しなさい。

  1. He has believed her for 20 years.

  2. It has been cloudy for 1 month.

  3. We have known each other since we were children.

次の( )に入る単語がforかsinceかを選んで入れなさい。

  1. How long has he lived in London? - ( ) he was 7 years old.

  2. I have worked this company ( ) 30 years.

  3. It has passed 5 years ( ) my father died.

解答

次の英語を和訳しなさい。

  1. 彼は彼女のことを20年間信じ続けている。

  2. 曇りが1か月続いています。

  3. 私たちは子供のころから知り合いです。

次の( )に入る単語がforかsinceかを選んで入れなさい。

  1. Since
    彼はどのくらいロンドンに住んでいますか? - 彼が7歳のころからです。

  2. for
    私は30年この会社に勤めています。

  3. since
    私の父が死んで5年になります。

現在完了形は用法が複数あるので、どれがどの訳し方なのか、最初は混乱すると思います。

多くの英文に触れていくことが大事です。

人気記事