現在完了の形
主語が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.(今もない) |
| 意味 | 過去の事実 | 過去の影響が現在に |
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 ~:「行ってしまった」(まだ戻っていない)
- 経験の意味では 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
英語で使えるようにする練習
この単元は、説明を読んで終わりにすると定着しません。次の型を、主語・時・目的語を入れ替えながら声に出してください。
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.「まだ終えていない」。
練習問題
次の文の現在完了の用法(経験・完了・継続)を答えよ。
- I have just had lunch.
- She has been to America twice.
- We have lived in Tokyo for ten years.
- Have you ever played tennis?
答えを見る
(1) 完了 (2) 経験 (3) 継続 (4) 経験
( ) に for または since を入れよ。
- I have studied English ( ) 3 years.
- He has been ill ( ) last week.
- We have known each other ( ) we were kids.
答えを見る
(1) for (2) since (3) since
- 私はちょうどその本を読み終えたところです。
- 彼はパリに行ったことがあります。
- 私はもう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 使える | 使えない |
- 私は宿題を終えました。
- 彼女は京都に行ったことがあります。
- 私たちは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?」と現在完了を使うのがふつうで、同じ意味でも国によって時制の選び方が違います。
なぜ過去形ではなく現在完了を使うのか発展
現在完了は「過去のことが今と関係している」と話し手が感じているときに選ばれます。just / already / yet は最近の出来事を「今に関わること」として伝える言葉なので、イギリス英語では have+過去分詞の形がほぼ必須になります。日本語訳が同じでも、話し手が今とのつながりを意識しているかどうかが選択の理由です。
have been to と have gone to の本当の違い発展
「have been to」は「行って今は戻っている」状態を表し、I have been to Rome twice.(今はローマにいない)のように経験を伝えます。一方「have gone to」は「行ってまだ戻っていない」状態で、She has gone to the shop.(今お店にいる)という意味になります。どちらも「行く」に関わりますが、今その人がどこにいるかが決め手です。
for と since の使い分けは「期間」か「起点」か発展
for は「今までの期間の長さ」を表し、She has lived here for over 30 years.(30年以上)のように使います。since は「始まった時点」を表し、I've known Maya since I was twelve.(12歳のときから)のように使います。同じ継続でも、長さを言うのか始まりを言うのかで for と since を選び分けます。
自己紹介や面接で生きる「経験」の現在完了実生活
現在完了の経験用法は、自分の人生でしてきたことを伝えるのに使われ、I have visited many countries. のように自己紹介で役立ちます。英語圏では履歴書や面接で I have worked as a volunteer. のように経験を述べる場面が多く、現在完了は学校のテストだけでなく実際のコミュニケーションで使う表現です。
