2
解説

現在完了(継続) 解説

継続の現在完了

 「ずっと~している」という表現を「継続の現在完了」といいます。「三日前からずっと雨が降っている」とか、「十年前からずっと日本に住んでいる」とかいった表現が、継続の現在完了です。英語では have(has)+過去分詞で表します。また、継続の現在完了は、have(has)+過去分詞のあとに、since~(~から、~以来)とか、for~ (~間) がでてくる場合が多いです。例文をみてみましょう。

I ( 私は ) have lived ( ずっと住んでいる ) in Japan ( 日本に ) for a year. ( 1年間 )

私は1年間ずっと日本に住んでいる。


She ( 彼女は ) has played ( ずっと弾いている ) the guitar ( ギターを ) since this morning. ( 今朝から )

彼女は今朝からずっとギターを弾いている。


 I have の短縮形は I've です。
 You have の短縮形は You've です。
 He has の短縮形は He's だし、She has の短縮形は She's です。
He is や She is の短縮形と見分けがつかないじゃないか、と思うかもしれません。その通りです。つかないです。そのあとどう文がつづいていくか、で判断してください。
 あともちろん、I have a book.(私は本を持っている)というときの I have を I've にしてはいけません。こういうときは短縮形にしてはいけません。現在完了のときだけ、短縮形が使えます。

I've ( 私は ) lived ( ずっと住んでいる ) in Japan ( 日本に ) for a year. ( 1年間 )

私は1年間ずっと日本に住んでいる。


She's ( 彼女は ) played ( ずっと弾いている ) the guitar ( ギターを ) since this morning. ( 今朝から )

彼女は今朝からずっとギターを弾いている。


 不規則動詞の過去分詞は暗記してください。中学のうちにおぼえるべき不規則動詞については、「不規則動詞変化表」というふうに、教科書のどこかにのっています。たいていうしろのほうにあります。このサイトでも、練習できる場所があります。かならずすべておぼえましょう。…って、いうほうはラクだし簡単なんだけど、やらされるほうは大変なんですよねえ。わかります。でもやらなくちゃだめです。不規則動詞変化を知らないと、テストで点数がとれないです。がんばって。

  リンク 不規則動詞変化

 それでは練習問題をやりましょう。

問題をクリックすると答えがでます。

練習問題 日本語にあうように、(  ) 内に適する語をいれましょう。

私は3年間ずっと英語を勉強している。
I ( ) (    ) (       ) ( ) English ( 英語を ) (   ) ( ) three years. ( )

I ( ) have studied ( ずっと勉強している ) English ( ) for three years. ( 3年間 )

彼は昨日からずっといそがしい。
He ( ) (   ) (    ) ( ) busy ( いそがしい ) (     )( ) yesterday. ( 昨日 )

He ( ) has been busy ( ずっといそがしい ) since yesterday. ( 昨日から )
※ be の過去分詞は been です。

since と for

 継続の現在完了について説明していますが、じつは、現在完了には、「継続」のほかに、「経験」と「完了」があります。訳し方が変わるので、見分けられるようにしなければいけません。
 since か for があったら、継続の現在完了です。since か for があったら、「ずっと~している」と訳せばOKです。たいてい。
 since~ は、「~から、~以来」の意味です。
 for~ は、「~間」の意味です。

He ( 彼は ) has been ( ずっといる ) in Japan ( 日本に ) for three weeks. ( 3週間 )

彼は3週間ずっと日本にいる。


He ( ) has been ( ずっといる ) in Japan ( 日本に ) since last week. ( 先週から )

彼は先週からずっと日本にいる。

 注意点があります。
「ago」というのは、「~前」という意味です。「3日前」なら、「three days ago」といいます。なので、現在完了で、「3日前から」というときに、「since three days ago」といいたくなるのですが、これはダメです。現在完了で「ago」は使っちゃダメです。そういうことになってます。
 じゃあ「3日前から」はどういうふうに表現するのかというと、
He has been in Japan for three days.
というふうに、for を使って、「3日間」としてください。「彼は3日間ずっと日本にいる」としてください。これで、日本人が日本語でいう「彼は3日前から日本にいる」というのと同じ表現です。だから、たとえば
I have studied English for three yeas.
というのは、「私は3年間ずっと英語を勉強している」というのが日本語訳ですが、「私は3年前から英語を勉強している」というときも、そのようにいってください。「since three yeas ago」はダメです。現在完了で「ago」は使わないで。これが注意点です。

 for を使った表現でよく見かけるのに「for a long time」というのがあります。「長い間」という意味です。
 また、since を使った表現でよく見かけるのには、「since I was a child」というのがあります。「私が子供だったときから」という意味です。「since he was a child」だったら、「彼が子供だったときから」という意味になります。

I ( ) have wanted to go to America ( ずっとアメリカに行きたがっている ) for a long time. ( 長い間 )

私は長い間ずっとアメリカに行きたいと思っている。


I ( ) have known ( ずっと知っている ) her ( 彼女を ) since she was a child. ( 彼女が子供だったときから )

私は彼女が子供だったときからずっと彼女を知っている。

それでは問題をやりましょう。

問題をクリックすると答えがでます。

練習問題 日本語にあうように、(  ) 内に適する語をいれましょう。

彼女は長い間ずっと新しいギターをほしがっています。
She ( ) (   ) (      ) ( ) a new guitar ( 新しいギターを ) (   ) ( ) (    ) (    ). ( )

She ( ) has wanted ( ずっとほしがってる ) a new guitar ( ) for a long time. ( 長い間 )

私は子供だったときからずっと日本に住んでいます。
I ( ) (    ) (     ) ( ) in Japan ( 日本に ) (     ) ( ) I was a child. ( 私は子供だった )

I ( ) have lived ( ずっと住んでいる ) in Japan ( ) since ( ときから ) I was a child. ( 私が子供だった )

継続の現在完了の否定文・疑問文

 現在完了の否定文は、have(has) のうしろの not をいれればよいです。
 また、have not の短縮形は haven't です。has not の短縮形は hasn't です。

I ( ) have not seen ( ずっと会っていない ) him ( 彼に ) for a long time. ( 長い間 )

I ( ) haven't seen ( ずっと会っていない ) him ( 彼に ) for a long time. ( 長い間 )

私は長い間ずっと彼に会っていません。


He ( ) has not studied ( 勉強していない ) English ( 英語を ) since last week. ( 先週から )

He ( ) hasn't studied ( 勉強していない ) English ( 英語を ) since last week. ( 先週から )

彼は先週からずっと英語を勉強していません。

 現在完了の疑問文は、have(has) を前に出せばよいです。答え方は、Yes, I have.とか、No, I have not. とかです。have not はもちろん haven't でもいいです。I のところは he とか she とか、場合によってかわります。

Have ( ) you ( あなたは ) been ( ずっといる ) in Japan ( 日本に ) since last week? ( 先週から )

あなたは先週からずっと日本にいるのですか。

Yes, I have. / No, I haven't. ( )

はい、います。 / いいえ、いません。


Has ( ) she ( 彼女は ) been sick in bed ( ずっと病気で寝ている ) since last month? ( 先月から )

彼女は先月からずっと病気で寝ているのですか。

Yes, she has. / No, she hasn't. ( )

はい、寝ています。 / いいえ、寝ていません。

では練習問題です。

問題をクリックすると答えがでます。

練習問題 日本語にあうように、(  ) 内に適する語をいれましょう。

私たちは先月からずっと野球をしていない。
We ( ) (    )(   )(      ) ( ) baseball ( 野球を ) (     ) last month. ( )

We ( ) have not played ( ずっとプレイしていない ) baseball ( ) since last month. ( 先月から )

一週間ずっと雨が降っていない。
It ( ) (     )(      ) ( ) (   ) ( ) a week. ( 一週 )

It ( ) hasn't rained ( ずっと雨が降っていない ) for a week. ( 一週間 )

あなたは彼が子供のときからずっと彼を知っているのですか。
(    ) ( ) you ( ) (     ) ( ) him ( ) (     ) ( ) he was a child? ( 彼が子供だった )

はい、知っています。 / いいえ、知りません。
(   ),( )(    ). / (  ),( )(      ).

Have ( ) you ( ) known ( ) him ( ) since he was a child? ( 彼が子供だったときから )
Yes, I have. / No, I haven't.

彼女は3年間ずっとテニスをしているのですか。
(   ) ( ) she ( ) (      ) ( ) tennis ( テニスを ) (   ) ( ) three years? ( 3年 )

はい、しています。 / いいえ、してません。
(   ),(   )(   ). / (  ),(   )(     ).

Has ( ) she ( ) played ( ) tennis ( ) for three years? ( 3年間 )
Yes, she has. / No, she hasn't.

How long have(has)~? の疑問文

 How long have(has)~? の疑問文は、「あなたはどれくらいの間ずっと~しているのですか」とたずねる疑問文です。継続の現在完了のところで、テストによくでる疑問文です。

How long ( どれくらいの間 ) have ( ) you ( ) lived ( ずっと住んでいる ) in Japan? ( 日本に )

あなたはどれくらいの間ずっと日本に住んでいるのですか。


How long ( どれくらいの間 ) has ( ) she ( ) studied ( ずっと勉強している ) English? ( 英語を )

彼女はどれくらいの間ずっと英語を勉強しているのですか。

 この質問に答えるときは、その期間を答えることになります。
 5年間なら、「For five years.」です。
 今朝からなら「Since this morning.」です。
 そんなふうに、For や Since をつけて答えます。

 んで。日本語の会話の中で、「いつから~してるの?」とたずねることがよくあります。「いつから彼のことを知ってるの?」とかいう感じです。そういうとき、「あなたはどれくらいの間彼のことを知ってるの?」というきき方は、日本語ではあまりしません。不自然な感じです。でも、英語のときは、この How long have(has)~? の表現を使ってください。
How long have you known him?
というのは、「あなたはどれくらいの間彼を知っているのですか」というのが日本語訳ですが、日本人が日本語で「いつから彼のことを知っているの?」ときくのと同じことです。そう思っちゃっていいです。
 なので、上の例文の
How long have you lived in Japan?
というのは、「あなたはいつから日本に住んでるの?」ときくのと同じことです。
How long has she studied English?
というのは、「彼女はいつから英語を勉強しているの?」ときくのと同じことです。

 その答えとして、たとえば「For five years.」と答えたら、「5年間です」というのが日本語訳ですが、日本人が日本語で「5年前からだよ」というのと同じことです。そう思っちゃっていいです。
 ただ、思っちゃうのはいいんですけど、いちおうテストで「訳しなさい」といわれていたら、念のため「5年間です」と答えておきましょう。

問題をクリックすると答えがでます。

練習問題 日本語にあうように、(  ) 内に適する語をいれましょう。

どれくらいの間あなたは英語をずっと勉強しているのですか。
(   )(    )(    ) ( ) you ( ) (       ) ( ) English? ( 英語 )

3年間です。
(   )(     )(     ).

How long have ( どれくらいの間 ) you ( ) studied ( 勉強している ) English? ( )
For three years.

どれくらいの間ずっと雨が降っているのですか。
(   )(    )(   ) ( ) it ( ) (    )(      )? ( )

今朝からです。
(     )(    )(       ).

How long has ( どれくらいの間 ) it ( ) been raining? ( 雨が降っている )
Since this morning.

解説

top