こんにちは、ローズです。
今回は、現在完了形の使い方を詳しく説明していきます。
この記事を読むと、現在完了形や現在完了進行形の意味や用法がすんなり理解できると思います。
そもそも現在完了形とは?
現在完了形って何?
何で使うの?
①過去と現在の状況がつながりのある表現で、
②have + 動詞の過去分詞を使います。
have + 過去分詞の現在完了形はこの3つしかない
・経験
「(今までに)~したことがある。」
・継続
「ずっと(今まで)~している。」
・完了(結果)
「(今)~したばかり。なので(今)~だ。」
have + 過去分詞で全て上の3つの意味を表すことができます。
例えば、
I have written a novel.
という文があると、
「小説を書いたことがある。」
「ずっと小説を書いてます。」
「小説を書き終えたばかりです。」
と、3通りの日本語になります。
大丈夫ですよ!
現在完了形で意味を判断するには、
① 前の文章や話しの流れで判断する。
② でも多くの場合、経験、継続、完了を表す語句が文中や文末に付く。
経験 「(今までに)~したことがある。」
現在完了形の「経験」の使い方と例文を見ていきましょう!
使い方
「経験」では、過去に遡って、「今までに~したことがある。」というのを表します。
I have written a novel.
という文で、「経験」を表現したい時には、大抵は次のような文になります。
I have written a novel before.
前に小説を書いたことがあります。
この例文のように、
経験を表現する現在完了では、次のような語句が文中や文末に付け加えてあることが多いです。
once, twice, 数字+times, many times, before, ever, never
特に、否定の場合は、
never を使って、
「一度も~したことがない。」
と表現すると経験したことがないという意味が伝わりやすいです。
I have never written a novel.
小説を書いたことは、一度もないです。
経験を表す例文
I have been to London three times.
ロンドンへ3回行ったことがあります。
I have read the book before.
前にその本を読んだことがあります。
She has visited the museum twice.
彼女はその博物館へ2度訪れた事があります。
I haven’t played golf before.
私はゴルフをやったことがありません。
He’s never eaten Japanese food.
彼は一度も日本料理を食べたことがありません。
Have you ever been to a hot spring?
温泉に行った事がありますか?
Yes, I have.
はい、あります。
No, I haven’t.
いいえ、ありません。
He has never taken the garbage out.
彼は一度もゴミを出した事がないです。
take the garbage out または
take out the garbage
ごみを出す
I have tried the restaurant once.
一度、そのレストランに行った事があります。
I’ve never taken a taxi home.
タクシーで帰宅したことはないです。
take a taxi home
タクシーを利用して帰宅する
Has she ever treated you to lunch before?
彼女は今までにあなたにランチを奢ったことはありますか?
treat ~に奢る、ご馳走する
Yes, she has.
はい、あります。
No, she hasn’t.
いいえ、ないです。
継続 「(今まで)ずっと~である。」
現在完了形の「継続」の使い方と例文です。
使い方
「継続」は、過去に始まって、今までずっと続いている状態を表します。
I have written a novel.
で、「継続」の意味を表現したい場合は、通常は次のような文になります。
I have written a novel since last month.
先月からずっと小説を書いています。
現在完了形で、「継続」を表したい時には、多くの場合、次のような語句が文中や文末に付け加えられます。
- for + 期間 「~の間」
for 5 days, for a couple of hours, for years, for many days, for a long time…
- since + 過去を示す語句
since last year, since this morning, since yesterday, since I was 3, since we met, since last April…
状態を表す動詞 (be動詞やlive, stay, have, know、等)の場合は、
have + 動詞の過去分詞で継続を表現できます。
例えば、
I have lived in Germany for 3 years.
となるけど、
動作を表す動詞 (run, walk, write, read, drive, 等)の場合は、
have + 動詞の過去分詞の他に、
have been ~ ing
で、「(今まで)ずっと~している。」
と、表現します。
これを、現在完了進行形というのですが、
「中断せずにずっとこの事をやっている」
というイメージですね。
なので、
write を使う「継続」の例文は、
a. I have written a novel since last month.
小説を1ヶ月間ずっと書いています。
の他に、
b. I have been writing a novel since last month.
小説を(ぶっ通しで)1ヶ月間ずっと書いています。
と、2通りの文ができます。
文法的には、
a.の文だと、小説をずっと書いているけど、途中で外出したかもしれません。長期間だと、その間は仕事に行ったり、旅行に行ったりと小説を書くのはたまにだったのかもしれません。
b.の文は、休む間もなく、ぶっ通しでずっと小説を書いているという感じですね。(現実には1ヶ月も休まずはあり得ませんが。。)
と少しニュアンスの違いがあります。
ただし、実際は上の2文ともほとんど同じ意味で使われます。
ネイティブが口語でよく使う表現は、b.の文のように現在完了進行形ですよ!
「継続」を表す例文
She has been sick for three days.
彼女は3日間体調が悪いです。
I haven’t seen them for a long time.
長い間、彼らに会ってないです。
She has lived in Japan since she was 10 years old.
10歳の時から、彼女は日本に住んでいます。
I haven’t heard from her since last week.
先週から彼女からの連絡はないです。
I have been studying since this morning.
私は今朝からずっと勉強しています。
How long have you stayed in Hawaii?
ハワイにどのくらい滞在していますか?
They have been busy since then.
それ以来、彼らは忙しいです。
He’s been playing the piano for two hours.
彼は2時間ピアノを弾いています。
They have been married for 5 years.
彼らは結婚して5年になります。
I have had this painting since I was a child.
子供の時から、この絵画を持っています。
完了・結果
現在完了形の「完了・結果」の用法と例文です。
使い方
過去に起こったことで、「今~したばかりだ。」「今~してしまった。」「なので今は~だ。」というの表します。
I have written a novel.
という文の場合、「完了」の意味を強調したい場合は、
I have just written a novel.
たった今、小説を書きました。
のように、just (たった今)を付け加えると、「~したばかりだ」という「完了」の意味合いになります。
「完了」を表す時は、次のような単語や語句を文に付け加えます。
just, already, yet, now 等
- already は、肯定文に使われます。
I have written a novel already.
もうすでに、小説を書きました。
- yet は、否定文や疑問形の時に使います。
I haven’t written a novel yet.
まだ小説を書いてません。
Have you written a novel yet?
小説をもう書きましたか?
現在完了形の「完了」では、「なので、~だ。」という「結果」を意味する場合もあります。
He has gone to work.
彼は仕事に行きました。(なので、今ここにはいません。)
のように、「~してしまったので、結果、今は~です。」
を表します。
「完了・結果」の例文
I have already done my homework.
すでに宿題を終わらせました。
She has left the office already.
彼女はもうすでに会社を出ました。
I have just finished my breakfast.
たった今、朝食を済ませました。
I have just sent an email to him.
たった今、彼にEメールしました。
The movie hasn’t started yet.
映画はまだ始まってません。
I haven’t met her sister yet.
彼女の妹にまだ会ってません。
The package hasn’t arrived yet.
荷物はまだ届いてません。
Have you cleaned the room yet?
部屋をもう掃除しましたか?
I’ve just been to the bank.
ちょうど銀行へ行ってきたところです。
He has gone to Canada.
彼はカナダへ行ってしまいました。
まとめ
いかがでしたか?
これで、ややこしい現在完了形も使えそうですね!
have + 動詞の過去分詞の現在進行形は、過去に起こったことが現在にも関係することを表して、それぞれに使う語句は、
①経験
once, twice, 数字+times, many times, before, ever, never
②継続
for + 期間, since + 過去を示す語句
③完了・結果
just, already, yet, now
それでは!