デジタルこどもBASEのロゴ特定非営利活動法人デジタルこどもBASE
中学生の学習ノート教科書をもう一段くわしく

現在完了 ── have + 過去分詞

中3英語の重要文法、現在完了。形は have + 過去分詞。「過去から現在まで」のつながりを表す独特な時制で、過去形とは違う使い分けが大事。NEW CROWN 3 では 経験 → 完了 → 継続の順で復習し、次に現在完了進行形へ進みます。

現在完了の形

公式
現在完了
主語 + have/has + 過去分詞 (p.p.)
主語が3人称単数なら has、それ以外は have。
例文

I have finished my homework.(宿題が終わった)

She has been to Kyoto.(彼女は京都に行ったことがある)

We have lived here for ten years.(私たちは10年ここに住んでいる)

過去形との違い

過去形現在完了
時間過去のある時点過去から現在まで
例I lost my key yesterday.I have lost my key.(今もない)
意味過去の事実過去の影響が現在に
過去形と現在完了 ── 同じ「なくした」でも時間がちがう 過去形 I lost my key yesterday. yesterday 過去 今 → 過去の一点で完結。今のことは言わない 現在完了 I have lost my key. なくした 過去 今 なくした状態が今も続いている(今もカギがない)
図:過去形は過去の一点(yesterday)で完結。現在完了は「なくした」結果が今まで帯のようにつながり、「今もカギがない」を表します。

3用法 ── 経験・完了・継続

3つの用法
現在完了の用法

① 経験:〜したことがある(ever, never, once, twice, before)

② 完了:〜したところだ/もう〜した(just, already, yet)

③ 継続:ずっと〜している(for, since)

教科書順で見るなら、まず「経験」で have/has + 過去分詞の形を確認し、次に just / already / yet の「完了」、最後に for / since の「継続」を比べます。詳しい練習ページは 経験、完了、継続 の順に読むと教科書の流れに近くなります。

① 経験の用法

例

I have been to Hawaii.(ハワイに行ったことがある)

She has never eaten sushi.(寿司を食べたことがない)

Have you ever seen this movie?(見たことある?)

I have been there twice.(2回行った)

つまずきポイント:have been to と have gone to
  • have been to ~:「行ったことがある」「行ってきた」(今は戻っている)
  • have gone to ~:「行ってしまった」(まだ戻っていない)
  • 経験の意味では been to を使う。gone to は別の意味。

② 完了の用法

例

I have just finished. (ちょうど終えたところ)

She has already left. (すでに出発した)

Have you finished yet?(もう終えた?)疑問文での yet

I haven't finished yet.(まだ終えていない)否定文での yet

つまずきポイント:「もう」と「まだ」
  • 肯定文の「もう」は already:I have already finished.
  • 疑問文の「もう」は yet:Have you finished yet?
  • 否定文の「まだ〜ない」も not ... yet:I haven't finished yet.

③ 継続の用法

例

I have lived here for 5 years.(5年間ここに住んでいる)

She has known him since 2010.(2010年から彼を知っている)

How long have you studied English?(どれくらい英語を勉強しているか)

  • for + 期間の長さ(for 3 years)
  • since + 起点の時(since 2010, since I was a child)

否定文と疑問文

作り方

否定文:have/has の後ろに not

I have not finished. = I haven't finished.

疑問文:have/has を文頭に

Have you finished? / Has she finished?

答え方:Yes, I have. / No, I haven't.

過去分詞の作り方

  • 規則動詞:動詞 + ed(worked, played, lived)
  • 不規則動詞は1つずつ覚える:go-went-gone、see-saw-seen、eat-ate-eaten、have-had-had

英語で使えるようにする練習

この単元は、説明を読んで終わりにすると定着しません。次の型を、主語・時・目的語を入れ替えながら声に出してください。

型
現在完了の基本パターン
主語 + have/has + 過去分詞
音読して覚える例文

I have finished my homework.

She has been to Kyoto.

We have lived here for ten years.

よくあるミス
  • 過去の時点を表す yesterday とは一緒に使わない。
  • have been to は経験、have gone to は行ってしまった。
  • 主語が he/she/it なら has。

この章でつまずきやすいところ

現在完了は形は短いのに、英文を読んでいる途中で「これは過去形と何が違う?」と手が止まりやすい単元です。本文や例文をたどる途中で迷いがちな4場面を取り上げ、見分け方のコツを整理します。

have を「持っている」と訳してしまう

  • つまずく場面:本文の I have finished my homework. を訳そうとして、I have a book.(本を持っている)と同じ訳し方では「私は宿題を持って終えた?」となって文意が通らず、後ろの finished をどう処理すればよいか分からなくなって手が止まる場面。
  • 克服のコツ:見分け方は have の直後の語。直後が名詞なら「持っている」、直後が 過去分詞(finished, lived, been など)なら、その have は助動詞で「現在完了の合図」。意味は「持つ」ではなく、過去から現在へのつながりを表すと読み替える。
  • ミニ例:I have a book. は「本を持っている」。I have finished my homework. は「(今ちょうど)宿題を終えた」。have の後ろが finished のように -ed のついた過去分詞になっているかどうかで、have の役割が「持つ」から「現在完了の合図」へ切り替わる。

yesterday と現在完了を一緒に使ってよいと思い込む

  • つまずく場面:「昨日もう宿題を終えた」を英語にしようとして、I have finished my homework yesterday. と書きかけ、「yesterday を足してよかったか?」と途中で手が止まる場面。
  • 克服のコツ:時系列の見分け方は 時間が現在まで続いているか。yesterday / last week のように 過去の一点に閉じた語があるなら過去形(finished)。現在までのつながりを言いたいときは現在完了(have finished)で、過去の時点語は付けない。
  • ミニ例:過去の事実だけ → I finished my homework yesterday.。今ちょうど終わって自由だ、というつながり → I have just finished my homework.。yesterday のような過去の一点を示す語は現在完了とは同居しない(just / already など現在完了と相性の良い副詞とは別グループ)。

have been to と have gone to を同じ意味だと思い込む

  • つまずく場面:本文に She has been to Kyoto. と He has gone to Kyoto. が並んで出てきて、どちらも「京都に行った」と訳せそうに見え、違いが分からず読み進められなくなる場面。
  • 克服のコツ:位置関係で見分ける。have been to ~=「行ったことがある/行ってきた」で、今は戻ってきている状態。have gone to ~=「行ってしまった」で、今その場所にいて戻っていない状態。中学英語では経験を言うときは been to を使う。
  • ミニ例:I have been to Hawaii.「ハワイに行ったことがある(今は日本にいる)」。He has gone to Hawaii.「彼はハワイに行ってしまった(今いない)」。経験の意味で gone to を使うと別の意味になってしまう。

already と yet をどちらに置くか迷う

  • つまずく場面:「もう終えた?」を英訳しようとして Have you already finished? と書き、「もう」だから already でいいのか、yet だったか、と文の途中で迷ってしまう場面。
  • 克服のコツ:文の形で見分ける。肯定文の「もう」は already(I have already finished.)。中学英語では、疑問文の「もう」は基本 yet を文末に置く(Have you finished yet?)。否定文の「まだ〜ない」も not ... yet(I haven't finished yet.)。already を疑問文で使うこともあるが、その場合は「もう終えたの?」という驚きのニュアンスになり用法が異なるので、まずは 疑問文=yet を基本として覚える。
  • ミニ例:肯定 → She has already left.「すでに出発した」。疑問 → Have you finished yet?「もう終えた?」。否定 → I haven't finished yet.「まだ終えていない」。

練習問題

問題1(用法判別)

次の文の現在完了の用法(経験・完了・継続)を答えよ。

  1. I have just had lunch.
  2. She has been to America twice.
  3. We have lived in Tokyo for ten years.
  4. Have you ever played tennis?
答えを見る

(1) 完了 (2) 経験 (3) 継続 (4) 経験

問題2(適切な語)

( ) に for または since を入れよ。

  1. I have studied English ( ) 3 years.
  2. He has been ill ( ) last week.
  3. We have known each other ( ) we were kids.
答えを見る

(1) for (2) since (3) since

問題3(英訳)
  1. 私はちょうどその本を読み終えたところです。
  2. 彼はパリに行ったことがあります。
  3. 私はもう3時間勉強しています。
答えを見る

(1) I have just finished reading the book.

(2) He has been to Paris.

(3) I have studied for three hours.

現在完了と過去形の違い

過去形現在完了
形動詞の過去形have/has + 過去分詞
意味過去のこと(今は不明)過去から現在につながる
例I played tennis. (したかも・今は別)I have played tennis. (したことがある)
過去の時刻yesterday, last week 使える使えない
追加問題(瞬間英作文)
次の日本語を、このページの型を使って英語にしなさい。
  1. 私は宿題を終えました。
  2. 彼女は京都に行ったことがあります。
  3. 私たちは10年間ここに住んでいます。
答えを見る

(1) I have finished my homework.

(2) She has been to Kyoto.

(3) We have lived here for ten years.

まとめ

  • 現在完了 = have/has + 過去分詞。
  • 用法は 経験・完了・継続の3つ。
  • キーワード:経験 = ever, never, before / 完了 = just, already, yet / 継続 = for, since
  • have been to(経験)と have gone to(今もいない)の区別。
  • 過去分詞は不規則動詞は1つずつ暗記。
  • 過去形と現在完了の使い分け:時刻が明示されると過去形、つながりがあると現在完了。

もっと知る ── 発展・実生活(出典つき)

※ 教科書の内容に、信頼できる出典をもとにした発展・実生活・時事の話題を補足しています(教科書そのものではありません)。

アメリカ英語では過去形でも言えることがある実生活

教科書では just / already / yet は現在完了で習いますが、アメリカ英語では「I just ate.」「Did you eat yet?」のように過去形で言うことがとても多いです。イギリス英語では「I've just eaten.」「Have you eaten yet?」と現在完了を使うのがふつうで、同じ意味でも国によって時制の選び方が違います。

出典:Cambridge English(Grammar and Beyond / 出版社ブログ)

なぜ過去形ではなく現在完了を使うのか発展

現在完了は「過去のことが今と関係している」と話し手が感じているときに選ばれます。just / already / yet は最近の出来事を「今に関わること」として伝える言葉なので、イギリス英語では have+過去分詞の形がほぼ必須になります。日本語訳が同じでも、話し手が今とのつながりを意識しているかどうかが選択の理由です。

出典:English Speech Services(音声学者 Geoff Lindsey の解説)

have been to と have gone to の本当の違い発展

「have been to」は「行って今は戻っている」状態を表し、I have been to Rome twice.(今はローマにいない)のように経験を伝えます。一方「have gone to」は「行ってまだ戻っていない」状態で、She has gone to the shop.(今お店にいる)という意味になります。どちらも「行く」に関わりますが、今その人がどこにいるかが決め手です。

出典:Cambridge Dictionary(Grammar: Been or gone?)

for と since の使い分けは「期間」か「起点」か発展

for は「今までの期間の長さ」を表し、She has lived here for over 30 years.(30年以上)のように使います。since は「始まった時点」を表し、I've known Maya since I was twelve.(12歳のときから)のように使います。同じ継続でも、長さを言うのか始まりを言うのかで for と since を選び分けます。

出典:Oxford Learner's Dictionaries(English Grammar)

自己紹介や面接で生きる「経験」の現在完了実生活

現在完了の経験用法は、自分の人生でしてきたことを伝えるのに使われ、I have visited many countries. のように自己紹介で役立ちます。英語圏では履歴書や面接で I have worked as a volunteer. のように経験を述べる場面が多く、現在完了は学校のテストだけでなく実際のコミュニケーションで使う表現です。

出典:British Council LearnEnglish(Present perfect)