【中学英語】現在完了のすべてを解説 過去形との違いと完了の意味

現在完了の継続、完了、経験、進行形を可能な限りわかりやすく解説

現在完了にはいくつかの種類があります。継続、完了、経験、進行形です。

スッキリ分かるとかなり戦力になってくれること間違いなしですので、はっきりとさせてしましましょう!

ということで今日は現在完了について解説していきます!

現在完了とは

例えば、「~しつづけている」「ちょうどし終わったところだ」「~したことがある」「ちょうどし終わったところだ」「~し続けている(これからもずっと)」という表現をします。

ただ、「完了」というには「し終わったところだ」という表現以外には当てはまりませんよね。

これがそもそも混乱しやすいポイントです。

現在’’完了’’なのに進行形という存在がある時点でもうよくわかりませんよね汗

この「完了」という意味は、私たちの知っている「完了」とは異なります。

英語のpresent perfectを無理やり直訳したせいで現在完了というだけの意味ですので、完了という言葉に惑わされないことがまず必要です。

過去形と現在完了との違い

現在完了は日本語にはない概念だということは知っていますか?

だから、なかなかその本当の意味を知るのが難しいんです。

でもだからと言って理解するのが難しいわけではありません。順を追ってみていきましょう!

時制から現在完了を知る

まずは、時制(時間の位置)から解説していきます。

過去形

過去形は、過去の「ある一点」での話をしています。

過去形 I went Japan. 日本に行った。

と言えば、過去に日本に行ったという事実だけです。

I went Japan last month.というなら1か月前の、その時点で日本に行ったという事実だけしかわかりません。

ですので、そこから1週間滞在したのか、すぐ帰ったのかという情報はなくわかりません。

現在完了

現在完了の場合には、「ある一定の期間」の話をしています。

現在完了(継続)I have lived in Japan.  日本に住んでいるんです。

現在完了(完了)I have just done my homework.  宿題がちょうど終わったよ。

現在完了(経験)I have been to Japan once. 一度日本に行ったことがある。

まず中学でまず学ぶこの3つから。

継続の用法は、過去から今現在まで日本に住んでいる、ということを表現します。未来への言及がないので、この後どうなるか?はわかりません。例で言えば、今までは日本に住んでいたけど戻ることにした。などもあり得ます。

完了の用法は、ちょうど終わった。ということですが、過去からやってきて、ちょうどいま、終わった。という意味になります。

経験の用法は、過去のある時点から、その少し先のある時点まで、日本にいた。その結果を見ると日本に行っていたことがある。ということです。つまり、行ったことがある。というよりかは行っていたことがある、というほうがいいかもしれません。

これらの3つとも「ある一定の期間」という約束を守っていることをまず確認できました。

過去形はある一点、現在完了は、ある期間。なんですね^_^

ニュアンスから現在完了を知る

過去形 I had lunch.  昼食を食べたよ。

現在完了(完了)I have already had lunch.  すでに昼食を食べ終わったよ。

この2つの文から読み取れることがあります。

過去形の文では、少し他人事のように、事実を単純に述べた感じです。

現在完了の文は、相手に対して、「今まで食べていた」というイメージを持たせます。

それはまるで、直接食べていたのを見ていたかのように錯覚させるほどです。

過去形の場合、相手からすれば、「その時点で、お腹がまた空いて食事に誘ってもいいか、それとも空いていなくて誘わないほうがいいのかが分かりません。」

対して、現在完了の文の場合、今まで食べていたというイメージが伝わってきますので、「ああ、今はお腹がいっぱいだろうから誘わないほうがいいな。」と考えるはずです。

さて。時間に対してと、ニュアンスの観点から完了形を確認したところで、今完了形に対する理解がぐっとあがったはずです!

それでは、それぞれの継続、完了、経験、進行形をそれぞれの内容にフォーカスして確認したいと思います。

現在完了 継続

例文My father has been Tokyo for 10 years.  私の父は東京に10年います。

My brother has been a Manga writer for 15 years since he became. 兄は漫画家になってから、15年間漫画家です。

since he became.は過去形です。ですからそのなったあるタイミングはある一点のポイントです。それからずっと15年間漫画家であるということを表しています。

このsinceは現在完了と相性がいい接続詞の一つです。

否定文(継続)

例文I haven’t met him since in this morning. 今朝から彼には会っていません。

否定文はhave notやhaven’t、3人称単数の場合にはhas notやhasn’tと使います。

完了形ですので、今朝からずっと会っていない、という意味ですね。

疑問文(継続)

例文Have you met him today? 今日彼を見ましたか?
I haven’t met him since in this morning. 今朝から彼には会っていません。

疑問文の場合にはHaveを文頭に置きます。

Did you meet him today?では、ある一点のタイミングで彼に会った?と聞くのに対して、完了(継続)の場合では、今日が始まって、今までの間で彼に会った?と聞いているとう違いがあります。

現在完了 完了

例文I have just done my homework. ちょうど宿題が終わったよ。

justは「ちょうど~」という意味ですが、ほんの少しだけ前のこと。というのが正解です。

I’ve just left there. ちょうどそこを出発したところ。

この例でいえば、すでに出発してしまったという意味も感じ取れます。

He has already bought the bread. もう彼がそのパンを買ってしまった。

この文章では、彼がパンを買ったこと以外にも、まるで、友達とパンを誰が買うのか競争していたという描写がイメージすらされます。もちろんそこまでの描写はないのでこの文だけではわかりませんけどね。

しかし、ただそのパンを買ったということだけを伝えたいのであれば、He bought the bread.と言って、「彼がそのパンを買った。」と淡々と、伝えれば済みます。

否定文(完了)

I haven’t done my homework yet. 私はまだ宿題を終わらせてない。

否定文の場合、yetは「まだ~」という意味です。

この文では、宿題と格闘していた期間があることを想像させます。単に終わらなかったというのなら、I didn’t finish my home work.でいいでしょう。

疑問文(完了)

Have you had lunch yet? もう昼食たべた?

疑問文でのyetは「もう~」という意味に変化します。

~しちゃったの?!という表現ならこれ!

Have you already had dinner? もう夕飯食べちゃったの?

Have you already taken shower?  もうシャワー浴びちゃったの?

alreadyを疑問文で使う場合、「~してしまったの??」という意味になります。痒い所に手が届くような表現ですので、ぜひ使ってみてください。

~へ行っていました。goneではなくてbeenを使う理由

I have been to Japan. 日本に行っていました。

~へ行くならgo to~。~へ行ったならwent to~。

それなら~へ行っていましたはhave gone to~じゃないの??となりそうなところですが、違うんです。

go、went、goneは、行くという動作の動詞です。行くという瞬間だけを表すので、行っていた、というある程度の期間を表すことはできないんです。

ですので、そこにいた、という表現でbeenを使って「~へ行っていました。」と言います。

現在完了 経験

I have been to Japan once. 私は一度日本に行ったことがあります。

been toとなるのがこと例の特徴です。to Japanで日本に対してという意味を持ちます。

行ったことがある。でも今は、ここに戻っているということも分かります。

I have tried to play ski before.  前にスキーに挑戦したことあるよ。

onceやbeforeなど一度とか前に、と捕捉するだけでそれは経験を表現することができます。

些細な違いで用法が変わるということは覚えておく必要があります。

once、before、ago、否定ならnever、疑問文ならeverがお決まりのセリフです。

否定文(経験)

I’ve never tried ski in my life. 人生の中で一度もスキーをしたことがないよ。

全くしたことがない、一度もしたことがない。という現在完了の否定文ではneverが定番です。もちろんhave notでもいいですが、「全く」という言葉を使って強調します。

疑問文(経験)

Have you ever been to Japan? 今までに日本に行ったことある?

相手に「~いったことある?」と聞くときはeverをつけることでより、その経験があるかを聞いているんだなと分かってもらえます。

基本的な例文

I have worked this company for ten years.

私は10年間この会社で働いています。

 

He has been in his room since last night.

彼は昨日から彼の部屋にいます。

 

It has been hot in Tokyo since last week.

東京は先週からずっと暑いです。

 

How long have you known him?

どれくらいの間、あなたは彼を知っていますか?

 

Has she been busy since yesterday?

彼女は昨日から忙しいんですか?

 

I have not seen him since this morning.

私は今朝から彼をみていません。

 

My parents has lived in this town since I was born.

私が生まれてから、私の両親はずっとこの町に住んでいます。

 

He has not had lunch yet.

彼はまだ昼食をとっていません。

 

She has used the bicycle for ten years.

彼女は10年間その自転車を使っています。

 

I have known them for a long time.

私は彼らを長い間知っています。

 

I have done my homework just now.

私はたった今、宿題を終えたところです。

 

He has broken the glass.

彼はそのグラスを割ってしましました。

 

She has already sent the package before make sure.

彼女は確認する前に、すでにその荷物を送ってしまいました。

 

He has gone.

彼は行ってしましました。

 

Has her father arrived there yet?

彼女のお父さんはもうそこに着いてしましましたか?

 

I have already had lunch.

私はすでに昼食をとってしまいました。

 

He has got a toy he has wanted for a long time.

彼は長い間欲しがっていたオモチャを手に入れました。

 

My mother has lost a key of her car.

私のお母さんは車の鍵を失くしてしまいました。

 

Has she made dinner yet?

彼女は夕食を作ってしまいましたか?

 

Have you done your today’s work?

あなたは今日の仕事を終えましたか?

 

I have been working here for five years.

私は5年間ここで働いています。(これからも)

 

He has been studying Spanish since twenty fifteen.

彼は2015年からスペイン語を勉強しています。

 

She has been eating over an hour.

彼女は1時間以上食べ続けています。

 

It has been drying in desert.

砂漠では乾燥が続いています。

 

I have been waiting my friend for an hour.

私は1時間友達を待ち続けています。

 

He has been trying to solve the problem for a long time.

彼は長い間、その問題を解くことに挑戦し続けています。

 

The tree has been growing up over ten years.

その木は10年以上成長し続けています。

 

He has been using that computer for years.

彼は何年あのコンピューターを使い続けています。

 

I have been cleaning my room since yesterday.

私は昨日から私の部屋を掃除し続けています。

 

How many years have you been working with him?

何年間あなたは彼と働いているんですか?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です