現在完了形は日本人にとって理解するのが難しい文法事項です。
初めから完璧に理解しようとしても絶対にできないので
最初は暗記で対応し、使い慣れてから理解を伴わせていきましょう。
目次
現在完了形の3つの用法
まずは
- 継続:(ずっと)~している
- 経験:~したことがある
- 完了:~してしまった
の3用法があることを暗記しましょう。
現在完了形の順序
過去分詞が分からない子は「中学生が覚えておきたい過去分詞の一覧」を確認してください。
肯定文
【主語+have[has]+過去分詞】
否定文
【主語+have[has]+not+過去分詞】
疑問文
【Have[Has]+主語+過去分詞~?】
短縮形
完了形の「have」は短縮して使うのが通常です。
- I have⇒ I've
- You have ⇒ You've
- They have ⇒ They've
- He has ⇒ He's
- She has ⇒ She's
- have not ⇒ haven't
- has not ⇒ hasn't
注意点
「He is」「He has」の短縮形はどちらも「He’s」です。
土の短縮形なのかは文のを見て判断するしかありません。I
継続
「have+過去分詞」の文に次の単語があったら「継続」と判断して
「(ずっと)~している」と訳してください。
- for:~の間
- since:~以来、~から
- How long ~?:どのくらいの間~
現在完了形は過去と現在の繋がりが・・・・なんちゃらかんちゃら
初めて現在完了形を勉強する子にこの説明をしても混乱を引き起こす可能性が高いです。
とりあえずそれは置いといて
現在完了形(have+過去分詞)の文で「for」「since」「How long」が使われていたら「(ずっと)~している」と訳す
これだけを押さえておきましょう。
例文を書いておくので参考にしてください。
① I have lived in Tokyo for three years.
私は東京に3年間住んでいます。
② I have known him since I was a child.
私は子どものころから彼と知り合いです(彼を知っています)。
③ He has studied English since last year.
彼は去年から英語を勉強しています。
④ How long have you lived in Tokyo?
あなたはどのくらいの間東京に住んでいますか。
注意①
過去分詞は過去形と同じ形、またはそっくりなので、
「~した」というように過去の訳をしてしまうミスをしてしまいがちなことです。
「for」「since」「How long」があれば「(ずっと)~している」
これをしっかりと覚えておきましょう。
注意②
「for」と「since」の使い分けができるようになる必要があります。
「for」を使うときは
- for two days
- for three weeks
- for a month
- for a long time
のように「a」「two」「three」のように「数」が使われます。
一方「since」は
- since last summer
- since 2021
- since he was three years old
のように
「過去のある時点」「主語+動詞」
が続きます。
これも、よくわからないのであれば
初めのうちは
「~のあいだ」と訳すとしっくりくる場合は「for」
「~から、~以来」と訳すとしっくりくる場合は「since」
というふうに覚えておいていいと思います。
経験
現在完了形の文に次の単語があれば「継続」と判断し
「(今までに)~したことがある」と訳しましょう。
- ever:今までに(通常疑問文で使う)
- never:一度も~ない
- once:1回、1度
- twice:2回、2度
- many times: 何度も
- before:以前
- How many times ~:何回~、何度~
「3回」以上は「three times」のように「数字 times」で表します。
「How many times ~」は「How often ~」と表現することも可能です。
例文を書いておくので参考にしてください。
I have read this book before.
私は以前この本を読んだことがある。
I have been to Tokyo once.
私は東京へ一度行ったことがある。
Have you ever met her?
今まで彼女に会ったことはありますか。
I have never played baseball.
私は一度も野球をしたことがありません。
How many times have you been to Tokyo?
あなたは何度東京へ行ったことがありますか。
注意①
「ever」と「never」は過去分詞の前に起きます。
③~⑥は通常分の一番後ろに置きます。
⑦は疑問詞なので文頭に置きます。
注意②
現在完了の「経験」で「~へ行ったことがある」というときは
「go」の過去分詞「gone」を使わず
「be」の過去分詞「been」を使う。
完了
現在完了形の文に次の単語があれば「完了」と判断し
「(ちょうど)~したところだ」「~してしまった」と訳してください。
- just:ちょうど
- already:もう、すでに
- yet:まだ(否定文)、もう(疑問文)
原則
「already」は肯定文
「yet」は否定文・疑問文
で使われます。
また、
「already」は過去分詞の前
「yet」は分の一番後にくることが大半です。
例文を書いておくので参考にしてください。
I've already finished my homework.
私はすでに宿題を終えました。
I haven't read the book yet.
私はまだその本を読んでいません。
Have you eaten breakfast yet?
朝食はもう食べてしまいましたか。
注意点①
「完了」は「just」「already」「yet」が使われない場合も結構多いです。
その場合、文脈で現在完了形かどうかを判断する必要があるので少しだけ難しくなります。
なので、完了形を習い多との時はこの点に関してはあまり理解できなくても気にしないほうがいいです。
注意点②
現在完了形の「完了」で「~へ行ってしまった」というときは
「go」の過去分詞「gone」を使います。
この判断も難しいので、よくわからない場合は基本的なことが出来るようになった後で改めて復習するようにしてください。
一応例文だけは挙げておきます。
She went to Tokyo. She is still there.(彼女は東京へ行った。そして彼女はまだそこにいる。)
というように、「~へ行ってしまって、今、ここにはいない」という状況の時に
She has gone to Tokyo. (彼女は東京へ行ってしまった)
というように現在完了形の「完了」で表現します。
現在完了形の文に過去の表現は使わない
公立高校が第一志望の場合はそこまで気にする必要がない内容なのですが
- yesterday
- just now
- last year
- three years ago
- when
といった、過去を表す表現と一緒に現在完了形は使えません。
ただし「since」は例外です。
例えば
since last year(去年から)
のように、直後に過去を表す表現が来ます。