How long have you been….?期間を表す【現在完了形】【現在完了進行形】の違いがわかる!

完了形
この記事は映画・テキストブックで学んだことで疑問に思ったことを実際にネイティブに質問をしてまとめたものになります。ここでいうネイティブとはイギリス人の英会話の先生になります。

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」とは言わないよ。

例1:They know each other very well.
(彼らはお互いをよく知っている。)

 

例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時間雨が降り続いている。今も雨は降り続いている。
例文
・I have been waiting for him for an hour.
(彼を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 を使います。

例文
・How long have you been driving?
(いつから運転しているの?)
-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(現在完了形)を使うよ!

例文
I have been learning English for ten years.
(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どちらでも使えます。

例文
「5歳からこれらのカードを集めています。」

【現在完了形】  ・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 known each other?
(お互い知り合ってどれくらい?)

 

※how long have you guys knowing….とは言いません。日本語でもお互いのこと「知り続けてどれくらい?」ではなく「知り合ってどれくらい?」と聞きますよね。

例文
I have had a headache since last night.
(昨日の夜から頭痛がする。)

 

※I have been having a…..とは言いません。

きりたみ
きりたみ

今も継続して知っているんだから「have been knowing」と言いそうになっちゃうね。

うーたみ
うーたみ

そうだね!進行形にしない動詞をstate verbと言うよ!動詞なんだけど、動作を表すのではなくて「状態」を表す動詞のことだよ。

否定文には現在完了形

否定文にするときは現在完了形がベターです。
イギリス人の英会話の先生に聞いたところ、現在完了形と現在進行形は大きくは違わないないそうで、特に会話で使う場合はどちらを使っても大して意味は変わらないとのことです。

例文
I haven’t seen her since this morning.
(今朝以来彼女を見ていない。)
※最後に彼女を見たのは今朝になります。

 

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(現在完了進行形)の違いについてはこちらの記事をご覧ください。

【日本語の文法書だけではなかなか勉強がはかどらない】と思っているなら、このEnglish Grammar in Useを試してみて下さい!! 説明文も英語ですが、英語で英語を理解する方が分かりやすいことがあるんだ!とすらすらと頭に入ります。 ネイティブが実際に使うフレーズが例文になっており実用性があり毎日勉強することが楽しくなりました。 ネイティブに見せたところ実際に普段使う言い回しや、口語英語を目的とした勉強にとてもいいとのことです。イギリスの英会話の先生は教える側としてもとてもいい本だと言って購入してました。 赤は基礎、青は中級、緑は上級といった内容になっています。
完了形構文
うーたみEnglish
タイトルとURLをコピーしました