How long have you been…..を使った現在完了形と現在完了進行形について学びましょう!
目次
have done:継続している「状態」
現在完了形(I have done)ではある過去に始まったことが
「今も同じ状態が続いている」ことを表すときに使います。
I am in hospital. | 私は病院にいる。 | 今病院にいるのはわかるが、いつからかわからない。 |
I have been in hospital since Monday. | 私は月曜から病院にいる。 | ある過去(月曜日)から(継続して)病院にいるのがわかる。 |
「I am in hospital since Monday」とは言わないよ。
(彼らはお互いをよく知っている。)
例2:They have been known each other for a long time.
(彼らは長い間お互いを知っている。)
例1では彼らがお互いのことをよく知っているのはわかりますね。「今」の話をしています(現在形)。
例2では彼らは長い間お互いを知っているというのがわかりますね。ある過去に始まったことが「今も同じ状態」が続いているという話になります(現在完了形)。
have been doing:継続している「動作」
現在完了進行形(I have been doing)では過去に始まったことを「~の間から今もずっと続いている」または「ちょうど終わったこと」を表すときに使います。
It has been raining. | 今まで雨が降っていた。 | ちょうど雨が上がった(今は降っていない)。 |
It has been raining for an hour. | 2時間雨が降り続いている。 | 今も雨は降り続いている。 |
(彼を1時間待っている。)
・It has been raining since last night.
(昨夜からずっと雨が降っている。)
・I’m taking a break. I have been working.
(休憩をとる。今まで働いていた。)
※ちょうど終わったところというニュアンス。
繰り返し行われている動作(アクション)にも「have been doing」を使う
繰り返し行われていることって?
例えば、「18歳から車を運転している」「5才の時からテニスをしている」のように、長い期間していることこと。
「いつから~しているの?」を聞くときもhave been doing を使います。
(いつから運転しているの?)
-since I was 18.(18歳から運転しているよ。)
現在運転している「最中」じゃなくてもいいんだね!
How long/since/forには現在完了進行形がより普通
Have done(現在完了形)はどれくらいの期間継続してその「状態」が続いているのか。
Have been doing(現在完了進行形)はどのくらいの期間継続してその「動作」が続ているのか。
この違いを意識するとこれから先が理解しやすいよ!
「どれくらいの期間」を表す「how long」「since」「for」にはhave done(現在完了形)よりhave been doing(現在完了進行形)を使う方がより自然です。
「how much」「how many」「how many times」を使って文を作るときは、
have done(現在完了形)を使うよ!
(10年間英語を学んでいます。)
※I have learnt English for ten year.でも間違えではありませんが、通常現在完了形は使いません。継続している「活動の期間」話をするときは現在完了進行形がベターです。
「継続している活動の期間」を表す現在完了進行形と「完了した活動の結果」を表す現在完了形についてはこちらの記事をご覧ください。
Workとliveには現在完了形・現在完了進行形どちらもOK
「どのくらい働いているの?」「どのくらいここに住んでいるの?」を聞くときの
「働く:Work」「住む:Live」にはhave done/have been doingどちらでも使えます。
【現在完了形】 ・How long have you worked here?
【現在完了進行形】・How long have you been working here?
【現在完了形】 ・I have lived in Japan since I was born.
【現在完了進行形】・I have been living in Japan since I was born.
Alwaysは現在完了進行形ではなく現在完了形と一緒に使うよ!
I have always lived in Japan.
×I have always been living in Japan とは言わないよ!
長い期間繰り返し続けてきたことには現在完了形/現在完了進行形
昔からしている習い事、運転、グッツコレクションなど今も継続してしていることで
「長い期間繰り返し続けていること」を表すときは、I have done/I have been doingのどちらでも使えます。
【現在完了形】 ・I have collected these cards since I was 5.
【現在完了進行形】・I have been collecting these cards since I was 5.
I have been playing tennis since I was a child.と
I have played tennis since I was a child.はどちらも同じ意味?
どちらでもOKだよ。でもhave been doingのほうが自然だね!
Know/like/beleveなどには現在完了形がベター
Know/like/believeなどを使う場合、現在完了進行形ではあまり使われません。「今現在も継続して~している。」と表したいから現在完了進行形じゃないの?と思うかもしれませんが、
現在完了形を使って同じことを表すことができます。
(お互い知り合ってどれくらい?)
※how long have you guys knowing….とは言いません。日本語でもお互いのこと「知り続けてどれくらい?」ではなく「知り合ってどれくらい?」と聞きますよね。
(昨日の夜から頭痛がする。)
※I have been having a…..とは言いません。
今も継続して知っているんだから「have been knowing」と言いそうになっちゃうね。
そうだね!進行形にしない動詞をstate verbと言うよ!動詞なんだけど、動作を表すのではなくて「状態」を表す動詞のことだよ。
否定文には現在完了形
否定文にするときは現在完了形がベターです。
イギリス人の英会話の先生に聞いたところ、現在完了形と現在進行形は大きくは違わないないそうで、特に会話で使う場合はどちらを使っても大して意味は変わらないとのことです。
(今朝以来彼女を見ていない。)
※最後に彼女を見たのは今朝になります。
・I haven’t studied English for 2 weeks.
(2週間英語を勉強していない。)
※最後に英語を勉強したのは2週間前になります。
・I haven’t eaten anything since last night.
(昨夜から何も食べていない。)
※最後にご飯を食べたのは昨夜になります。
I have been learning English for long time.と言うのに
否定文ではhaven’t been learning じゃないの?
勉強するという動作ができていないのだから「haven’t studying」だと思うよね。
これでも通じなくはないんだけどちょっとおかしい感じかな。説明するね。
「例えば10年間英語を勉強しています。」という場合「I have been learning English for ten years.」といいますね。これは現在完了進行形です。
今勉強している「最中」でなくても、「過去に始めたことが今現在も終わっていないこと/続けていること」「長い期間継続していること」「習慣」を話すときにhave been doingを使えます。
「2週間英語の勉強をしていない」(否定文)という場合、現在完了進行形を使わない理由は、切れ目なく勉強をし続けることを2週間続けませんし、長い期間継続していることでも習慣でもないからです。
「2週間英語の勉強ができていない」と言う場合は「I haven’t been able to study English for 2 weeks.」がしっくりくるかな。
勉強できていない「状態」が2週間続いているのであって、勉強できていない「動作」が2週間続いているわけではありません。
「I haven’t been eating 」も同じで「食べ続けているという動作」ができていないのではなくて、
「食べれていないという状態」が続いているわけですから、現在完了進行形ではなく、現在完了形を使って否定文を作ります。
実際にイギリス人の先生に「英語の勉強どう?」と聞かれた返事に
「I haven’t been learning English for a week.」と言ったら「Haven’t learnt」だよって言われたけど、have been doing でも変ではないよって言われたよ。
通じないことはありませんが、「勉強し続けれていない(動作)」とはあまり言いませんよね。
「勉強できていない(状態)」と言いたいので現在完了形が自然かと思います。
I have done(現在完了形)についてはこちらの記事のをご覧ください。
I have been doing(現在完了進行形)についてはこちらの記事をご覧ください。
I have done(現在完了形)とI have been doing(現在完了進行形)の違いについてはこちらの記事をご覧ください。