長い行為の継続を表す現在完了

ある過去の一点から現在に至るまで続いている行為を表す時に使うのが現在完了の継続です。
sinceとforを伴うのが特徴ですが、forの場合は現在完了の継続にせず、単に現在進行形にすること
も実際の会話では多いです。ただsinceの場合は必ず継続にするのでここは覚えておきましょう。
そうでないと意味がbecauseと同じ意味で理由を表すことになってしまい誤解をうむからです。



A: How long have you been studying English? A: How long have you had a headache?
               B: I have been studying English for 6 years. B: I have had a headache since I ate breakfast

You study English You have a headache
6 years I eat breakfast

1. You live in Osaka
10 years

2. You are sick the day before yesterday

3. He works on the project
2 years

4. You know him
I am a child

5. It rains
3 days

6. You work for your company
I finish my college

Practice

1.

2.

3.

4.

5.

6.

村木:今日は現在完了の継続。現在完了の最後のやつです。 これは、「過去のある一点から現在まで継続していること」を表します。 現在進行形とよく間違われることがあり、また会話でも進行形との違いがあいまいであるのが この用法なのですが、基本をまず押さえましょう。

まずはテキストの例題をみてみましょう。

A: How long have you been studying English?  A: How long have you had a headache? 
               B: I have been studying English for 6 years. B: I have had a headache since I ate breakfast

You / study English You / have a headache
6 years I eat breakfast

文絵:継続の特徴的な部分は。。。右のやつはsinceってあるけど、これかな??

村木:はい、それです。左のはforになります。疑問文はHow longです。 まとめて見てみましょう。

I have P.P. for / since~
How long have you P.P?

肯定文、否定文にはforやsinceを入れてこれが継続だということを表します。 疑問文の場合は通常How long(どのくらいの(期間))です。

これで、ある過去の一点から現在まで続いている行為を表せるんです。 これまでは今なら今、過去なら過去とある一点だけでしたね。 ここが大きく違うところです。わかりやすい英会話教材にも登場する英文法です。 ちなみにどれくらいの期間かはっきりわからない場合はhow longですが、年や月など 単位がわかる場合はhow many yearsやhow many monthsなどはっきりさせたほうがよいです。

例題の左なら「どのくらい英語を勉強されているんですか?」「6年間英語を勉強しています」 右なら「どのくらい頭が痛いんですか?」「朝食を食べてから頭が痛い」です。

文絵:んで、forとsinceの違いがあるんですよね。。わかんないけど。。

村木:はい、そこもポイントです。 意味から取ると

for ~の間(期間を表す) since ~から/以来

です。基本的には数字がくる場合はfor、文章や数字以外の名詞の場合はsinceが 多いです。

「4週間(の間)/3ヶ月間(の間)」など「~の間」と言う場合は数字ばかり ですね。だから、forが多いです。 「中学から/朝から/彼が来てから」などは数字が入りませんし、「~の間」となかなか できないですね。なので、sinceが多いといった感じです。

文絵:6年前から、みたいな時は?これは数と「~から」が両方ありますよね? since 6 years agoじゃ、ダメなんですか?

村木:細かく文法的にみると、ダメなんです。特にテストなどでは。「6年間」とする必要 があります。でも会話ではその辺は大雑把ですので、普通に使われているんです。 一応基本はダメと覚えておいて下さいね。

それからsinceの後ろに文章がくる場合は必ず過去形です。 「~から」と、この過去を基点にして現在までの継続の行為を表すのですから、 過去形でないとおかしいですね。

そしてもう1つ重要ポイント。

現在もその行為が続いているのであれば、基本的に進行形、ingです。 なので、I have been ~ingにします。beenはbe動詞の過去分詞ですね。 それで、これは一般動詞の場合。Be動詞の場合は進行形には通常しません。 あとややこしですが、これは肯定文の場合。否定文の場合はingにはあまりしません。わかりやすい英会話教材にも登場する英文法です。

文絵:ややこし。。。現在進行形の完了版みたいな感じですか? I am ~ingを完了にした形と同じですよね。

村木:形はそうですね。ただ、現在進行形はたった今のこと、一時期的な ことを表しますよね。でも、このhave been ~ingは「今もその行為が続いている」 ということを表すために使うんです。現在進行形を完了にしたらingという わけではないので、注意しましょうね。

文絵:じゃあ、have P.P.にすると??どんな意味になるんですか?

村木:have P.P.は細かくいうと、ほんの少し前までの継続なんです。 だから今もその行為が続いているかはわからないんです。

I have studied English for 6 years. なら、6年間英語を勉強してきた、ですが、現在も勉強しているかどうかはわかりません。

文絵:なるほどね。。。あれ、でも右のはI have had a headacheって。。 これはingにしなくていいんですか?

村木:いいポイントです。一般動詞にはing形を取らないものがありましたよね? have「~を持つ」の場合、次の名詞が形があるものなら進行形を取りますが、無形の 物の場合はとりません。headacheは無形。なので、ingを取らずhave P.P. なんです。

これで今も頭が痛い/今は痛いかどうかわからない、の両方の意味をとります。 どちらなのかは文脈で判断します。

文絵:ややこし~!!!強烈ですね。これは。。。

村木:ingを取らない動詞は状態動詞と呼ばれますが、覚えていくしかありません。 ま、そんなに沢山はありませんので、出た時に覚えていきましょう。


相互リンク
後遺障害


それではテキストをみてみましょう。

A: How long have you been studying English?  A: How long have you had a headache?
               B: I have been studying English for 6 years. B: I have had a headache since I ate breakfast

You study English You have a headache
6 years I eat breakfast

まず、私がAさんをやります。左から見ると

You study English. あなたは英語の勉強をする これを継続の疑問文にします。 基本的に今もその行為が続いていると思って下さい。 なので、How long have you P.P.?を進行形にしてHow long have you been ~ing? ここなら、How long have you been studying English? です。

次にBさんはそれを肯定文にして返して下さい。 質問が、「どのくらい勉強されてるんですか?」だったら、「勉強してきました」です。 動詞などはそのままなので簡単ですね。進行形にすることを忘れないようにして下いさね。 これを進行形にするかどうかは説が色々とあるのですが、基本は進行形にしておけば問題ありません。 なぜ進行形なのか、というのは考えても無駄ですので、全く考える必要はありません。 I have been studying.

次に下にどのくらいやっているのかが、書いてあります。これにforかsinceをつけて 下さい。6年間とあるので、期間ですね。なので、I have been studying English for six years. とします。

右はheadacheは無形なので、ingが取れないので普通にhave P.P. なので、How long have you had a headache? 

「どのくらい頭が痛いの?」と聞かれているので、Bさんは「頭が痛い」と返しますね。 I have had a headache.

下はI eat breakfastなので、「朝食を食べてから」と文章ですね。 なので、sinceを使います。sinceで文章がくる場合は過去。なので、since I ate breakfastです。I have had a headache since I ate breakfast.

ちょっと説明が長くなりましたが。。。それでは1番からいってみましょう!

(まずはBさんからやり、その後にAさんをやって下さい) <上のやりかたで練習問題の、1~6を変形させましょう。解答は下をどうぞ。>

村木:How long have you been living in Osaka?

文絵:I have been living in Osaka for 10 years.

村木:正解。liveは進行形を取れますので、have been ~ingです。 10 yearsと10年間(の間)と数字ですね。なので、for。 「どのくらい大阪に住んでいるんですか?」「10年間、大阪に住んでいます」です。

それでは2番。 How long have you been sick?

文絵:I have been sick since the day before yesterday.

村木:正解。「どのくらい気分が悪いの?」「昨日から、気分が悪い」ですね。 「~から」なので、sinceです。

文絵:いや~また、1人で納得してました。。。これまでbeenって何よって感じだった んですが、現在形から考えると簡単ですね。

I am sickをI haveとして現在形の動詞のamをP.P.にしてbeen。I have been sick. 現在形と完了の基本形がわかれば、簡単ですね。

村木:現在形っていう基本は大事でしょ?それでは3番。 How long has he been working on the project?

文絵:He has been working on the project for 2 years.

村木:はい、正解。「彼はそのプロジェクトにどのくらい取り組んでいるんですか?」 「2年間、彼はそのプロジェクトに取り組んでいます」です。work onは「取り組む」 でしたね。あと、workは進行形を取れますので、継続の進行です。

それでは4番。 How long have you know him?

文絵:あれ、これは進行じゃないんですね。 I have known him since I was a child.

村木:正解。knowは進行形を取りません。「知っている」という状態動詞です。 knowingという単語はありますが、これは「抜け目がない」という意味を持つ形容詞です。 意味が全く違います。

文章の意味は「どのくらい彼を知ってるの/知り合いなの?」 「子供の頃から、彼のことを知っている」ですね。 since後ろの文章は過去です。

それでは5番。 How long has it been raining?

文絵:It has been raining for 3 days.

村木:正解。rainは進行形を取ります。3日間(の間)と数字ですね。 なので、期間を表すforです。 それでは最後。 How long have you been working for your company?

文絵:I have been working for my company since I finished my college.

村木:正解。「どのくらいその会社に勤めてるの?」「大学を卒業してから、この会社に勤めてるんだ」です。「卒業する」はgraduate fromで もいいですが、簡単にfinishもよく使われます。どちらかというとfinishの方が短くて済むので、こちらの方が多く使用されます。 日本人はgraduateのほうがまっさきに頭に浮かぶと思いますが、finishの方に入れ替えたほうが簡単でよいですよ。

文絵:そういえば、collegeとuniversityって短大と大学っていう違いですか?

村木:いえ、基本の違いは、collegeは学部などが1つしかない単科大学です。 総合大学で色んな学部があるのがuniversityです。 短大と言う場合はjunior collegeとします。

文絵:なるほどね~間違えて覚えてたんで覚え直しときます。

村木:はい、それでは今度は私が日本語で問題を言いますので英語にしてみて下さいね。

<上のやりかたで練習問題の、1~6を変形させましょう。解答は下をどうぞ。>

問題
1.彼女と別れてから、運が悪い
2.2週間何も食べていない
3.どのくらい読売新聞を購読されているんですか?(購読する⇒subscribe)
4.彼を3年間探し続けている

解答
1.
2.
3.
4.

文絵:いきなり、ちょっと。。現在形にするとI'm unlucky.. じゃ、I have been unlucky since I broke up with her.

村木:正解。ちょっと詰まって現在形にしたのはいいですよ~。 「彼女と別れてから」なので、後ろはsinceですね。 では2番は?

文絵:否定。。。 I haven't eaten anything for two weeks.

村木:正解!否定は進行形にあまりしませんね。後ろは「2週間(の間)」と数字が入る 期間でforです。 それでは3番は?

文絵:How long have you been subscribing Yomiuri newspaper?

村木:正解。状態動詞ではないので、subscribeはing形が取れますね。

文絵:understandとかbelong toも「理解している」、「所属している」 っていう状態動詞ですよね?

村木:はい、よく勉強してますね。その通りです。それらも進行形はとりません。 それでは最後はどうでしょう?

文絵:I have been looking for him for three years.

村木:はい、これも正解。「探す」はlook forで進行形をとれます。 これも数字で期間を表すのでforですね。 そんなに難しくなかったでしょ?

文絵:でも、他の現在完了より覚えることと、注意することが多いんで 大変ですね。。これの復習時間を長めにとってやっておきます。

村木:しっかりやっておいて下さいね。でも主に気をつけるのは それぞれの現在完了の特徴的な単語です。今回ならforとsinceです。 これらは絶対に落さないようにして下さいね。

それでは本日はこれまでです。 次回は「助動詞過去」です。助動詞過去は中級者のカベともいえる部分になりますので、非常に大事な 項目になってきますので、しっかりおぼえましょうね。

それではお疲れ様でした。

なぜsinceの場合だけ必ず継続にし、forの時は現在進行形にするかというとsince はbecauseと同じ意味があり、どちらの意味のsinceで使っているかわからなくなる からです。逆に言うとsinceを使っている英文なのに、継続になっていない英文は すべてsinceが「なぜなら」の意味でつかっていることになります。

日記
「ホッチキス」は英語ではありません。 英語はstapler.ホッチキスで留めるはstapleを使います。 ここで以外と知られていないのが、なぜ日本では「ホッチキス」 なのか。。これはstaplerを発明した人の名前が「ホッチキス」 という名前だったからです。日本人でこの豆知識を知っている人はほとんどいませんので、 知っているだけでもちょっとした自慢になりますよ。