中学英文法

学校の授業で困っているひとのためのウェブサイト

現在完了:継続用法

1. (今までずっと)...しています。(現在完了-継続:普通の文)

I have lived in Okinawa for three years.

私は沖縄に3年間住んでいます。


ここでは、「(過去のある時点から)今までずっと継続して...している」ということを表す表現を学びます。


次のふたつの文を比べてみてください。

音声を聴くI      lived in Okinawa last year.  私は昨年沖縄に住んでいました。(単なる過去の話)
音声を聴くI have lived in Okinawa for three years.  私は(今までずっと)沖縄に3年間住んでいます。(今まで継続している話)

liveは「住む」という意味の動詞ですね。

「live in Okinawa」 で 「沖縄に住む」という意味になるのですよね。

ひとつ目の文は「live」が「lived」になっています。

これは「過去形」と呼ばれている物で、「単なる過去の話」をするときに使う形ですね。

つまり、ひとつ目の文は「沖縄に住んだ(単なる過去の話)」ということを伝えています。

(ですから、今沖縄に住んでいるのかどうかについては何も言っていません。)

ふたつ目の文は「live」が「have lived」になっています。

実は、この「lived」は「過去形」ではなく「過去分詞」です。(私たちはすでに、「受動態」を学んだ時に、動詞には「過去形」の他に、「過去分詞」というものもあるということを学んでいますね。)

そして、実は「have lived」で「(今まで)ずっと住んでいた」という意味になるのです。

ですから、ふたつ目の文は「今までずっと沖縄に住んでいる(今まで継続している話)」ということを伝えています。

ちなみに、「for」は「...の間」という意味の言葉です。

ですから、「for three years」で「3年の間(つまり3年間)」という意味になります。


ここまでの説明でわかった人もいるかもしれませんが、実は、「have + 過去分詞」という形を作ると、「今までずっと...している」という意味になり、今まで継続しているということを伝える表現ができます。

このような表現を「現在完了形の継続用法」といいます。


それではさらに、いくつか「現在完了形の継続用法」の例文を学ぶことにしましょう。


Judy has lived in Tokyo since 2010.

この文を詳しく見てみると次のようになっています。

Judy  /      has lived        /in Tokyo /since 2010.
Judyは/(今までずっと)住んでいる/東京に   /2010年以来

→Judyは2010年以来(今までずっと)東京に住んでいます。

この文には、「has lived」という形が現れています。そして、この「lived」は「live(住む)」の(過去形ではなく)過去分詞です。

「has lived」で「(今までずっと)住んでいる」という意味になります。

ところで、「have lived」ではなく「has lived」になっているのは、この文は、「Judy...」の文(つまり、Judyが主語の文)だからです。

「Judy...」は「she...(彼女は...)」の扱いをされるので、have ではなく has が使われるのです。

ちなみに、「since...」は「...以来」という意味です。

ですから、「since 2010」で「2010年以来」という意味になります。


We have studied English for three years.

この文を詳しく見てみると次のようになっています。

 We     /   have studied           /English/for three years.
私たちは/(今までずっと)勉強しています/英語を  /3年の間

→私たちは(今までずっと)3年間英語を勉強しています。

この文には、「have studied」という形が現れています。そして、「studied」は「study(...を勉強する)」の過去分詞です。

「have studied」で「(今までずっと)勉強している」という意味になります。

ちなみに、「for...」は「...の間」という意味です。

ですから、「for three years」で「3年の間(つまり3年間)」という意味です。


Tom has been sick since yesterday.

この文を詳しく見てみると次のようになっています。

Tom  /   has been         / sick     /since yesterday.
Tomは/(今まですっと)...です/具合が悪い/昨日以来

→Tomは昨日以来(今までずっと)具合が悪いです。

この文には、「has been」という形が現れています。そして、「been」は「be(です、いる、ある)」の過去分詞です。

「has been」で「(今までずっと)...です」という意味になります。

ところで、「have been」ではなく「has been」になっているのは、この文は、「Tom...」の文(つまり、Tomが主語の文)だからです。

「Tom...」は「he...(彼は...)」の扱いをされるので、have ではなく has が使われるのです。

ちなみに、「since...」は「...以来」という意味です。

ですから、「since yesterday」で「昨日以来」という意味になります。


I have known her for many years.

この文を詳しく見てみると次のようになっています。

 I  /    have known          /her   /for many years.
私は/(今まですっと)知っています/彼女を/何年もの間

→私は何年もの間(今までずっと)彼女を知っています。

この文には、「have known」という形が現れています。そして、「known」は「know(...を知っている)」の過去分詞です。

「have known」で「(今までずっと)知っている」という意味になります。

ちなみに、「for...」は「...の間」という意味です。

ですから、「for many years」で「何年もの間」という意味です。


Kenji has played basketball for three years.

この文を詳しく見てみると次のようになっています。

Kenji  /   has played         /  basketball    /for three years.
ケンジは/(今まですっと)しています/バスケットボールを/3年の間

→ケンジは3年間(今までずっと)バスケットボールをしています。

この文には、「has played」という形が現れています。そして、「played」は「play((スポーツなど)をする)」の過去分詞です。

「has played」で「(今までずっと)している」という意味になります。

ちなみに、「for...」は「...の間」という意味です。

ですから、「for three years」で「3年の間」という意味です。

一応念のための補足です。

「今までずっと3年間バスケットボールをしている」と言うのは「3年間バスケットボールをやめずに続けている」ということです。「3年間一秒も途切れることなく、バスケットボールをしている」ということではありません。ちゃんと寝たり、食事をしたり日常生活を送っています。


forとsinceの使い方

「(今までずっと)...している」という表現では「...の間」とか「...以来」ということを同時にいう場合が多くあります。そんな時に使われるのが、「for」や「since」という言葉です。


「for...」で「...の間」という意味です。

for ten years    10年の間→10年間

for five months    5ヶ月の間→5ヶ月間

for three days    3日の間→3日間

for a long time    長い時間の間→長い間

for about eight years    およそ8年の間→およそ8年間


「since...」で「...以来」という意味です。

since 1998    1998年以来

since last summer    昨夏以来→この前の夏以来

since I was seven    「私は7歳でした」以来→私が7歳のとき以来

since then    そのとき以来



補足:現在完了でも、短縮形が良く使われます。

I have visited ... は I've visited ...のように短縮されます。

She has visited ... は She's visited ...のように短縮されます。


それでは練習問題を解くことにしましょう。

練習問題に進む →

気になることがある人は、今学んでいる文法事項の...