現在完了形 とは
現在完了 (present perfect) は中3 英語で最重要文法の一つ。高校入試でも、英検でも、TOEIC でも頻出します。
形は have/has + 過去分詞 (p.p.)。主語が三人称単数 (he, she, it, 単数名詞) なら has。
3 つの用法を、キーワードで覚えるのが楽:
**1. 経験用法 (〜したことがある)** ・ever (今までに) — 疑問文で使う ・never (一度もない) — 否定の意味で使う ・before (以前に) ・回数: once, twice, three times 例: I have been to Hawaii three times. (ハワイに 3 回行ったことがある)
**2. 継続用法 (ずっと〜している)** ・for + 期間 (for 5 years = 5 年間) ・since + 起点 (since 2020 = 2020 年から) 例: I have lived here since 2010. (2010 年からここに住んでいる)
**3. 完了用法 (ちょうど〜した / まだ〜していない)** ・just (ちょうど) — 肯定文 ・already (もう) — 肯定文 ・yet (もう/まだ) — 疑問文 (もう…?) / 否定文 (まだ…ない) 例: I have already eaten lunch. (もう昼食を食べた)
過去形との違いは『今と関係があるかどうか』。I lost my key. (鍵を失くした — 過去の事実だけ) とI have lost my key. (鍵を失くしてしまった — 今も見つかっていない) は意味が違います。
また、現在完了と過去の時点を表す語 (yesterday, last week, in 2020 単独) は併用不可。× I have seen him yesterday. / ○ I saw him yesterday.
ここだけは覚えて
「過去 → 今」をつなぐ時制。3 用法を見分けるキーワードがカギ
- 1形: have/has + 過去分詞
- 2経験 (〜したことがある): ever, never, before
- 3継続 (ずっと〜): for + 期間, since + 起点
- 4完了 (もう/まだ): already, just, yet
- 5過去形と違って『今と関係がある』のがポイント
- 🔑 「経験 ever/never/before」「継続 for/since」「完了 just/already/yet」
例題で解き方を見る
- 例題 1
次の文の ( ) に have / has のどちらか適切なものを入れなさい。 She ( ) just finished her homework.
解き方- 1.主語が She (三人称単数) なので has
- 2.just は『ちょうど』で完了用法のキーワード
答え:She has just finished her homework. (彼女はちょうど宿題を終えたところです) - 例題 2
次の日本語を英語にしなさい。 「私は彼女と 10 年前から知り合いです」
解き方- 1.状態の継続 → 現在完了 (継続用法)
- 2.know の過去分詞は known (不規則)
- 3.『〜から』は since
答え:I have known her for 10 years. / I have known her since 10 years ago.
よくある質問
Q. have been to と have gone to の違いは?
A. have been to は『〜に行ったことがある』(経験)、have gone to は『〜に行ってしまった (今はここにいない)』。似ているけど意味が違うので注意。例: She has been to Paris. (パリに行ったことがある — 今はどこにいるか不明 or ここにいる) / She has gone to Paris. (パリに行ってしまった — 今ここにいない)
Q. for と since の使い分け
A. for + 期間 (length of time): for 3 years (3 年間)、for a long time (長い間)。since + 起点 (starting point): since 2020 (2020 年から)、since I was a child (子供のころから)。『どのくらい』なら for、『いつから』なら since と覚えるとOK。
関連用語
かんたんな練習問題
( ) に当てはまる語は? I have ( ) Japan three times.
解説を見る
現在完了 have/has + 過去分詞。