現在完了形の文法解説
現在完了形は、have/has + 過去分詞 の形で、過去の出来事が現在に何らかの影響を与えていることを表します。主に以下の3つの用法があります。
用法 | 意味 | 例文 |
---|---|---|
継続 | (過去から)ずっと〜している | I have lived here for 5 years. (私は5年間ここに住んでいます) |
経験 | 〜したことがある | She has never seen snow. (彼女は雪を見たことがありません) |
完了・結果 | 〜したところだ / 〜してしまった | He has just finished his work. (彼はちょうど仕事を終えたところです) |
現在完了形は 過去のある一点の出来事ではなく、「過去〜現在」につながる動作や状態を表す ため、yesterday などの具体的な過去の時を示す言葉とは一緒に使えない点に注意しましょう。
現在完了形の否定文・疑問文
現在完了形の基本の形は以下の通りです。
文の種類 | 形 | 例文 |
肯定文 | 主語 + have/has + 過去分詞 | I have visited Canada. (私はカナダを訪れたことがあります) |
否定文 | 主語 + have/has not + 過去分詞 | She has not finished her homework yet. (彼女はまだ宿題を終えていません) |
疑問文 | Have/Has + 主語 + 過去分詞…? | Have you ever climbed Mt. Fuji? (あなたは今までに富士山に登ったことがありますか?) |
現在完了形の3つの用法
① 継続(過去から現在まで続いている)
「(過去から)ずっと〜している」という意味を表します。この用法では for + 期間 や since + 過去の起点 と一緒に使われます。
例文 | 日本語訳 |
We have lived here for five years. | 私たちは5年間ここに住んでいます。 |
He has studied English since 2010. | 彼は2010年から英語を勉強しています。 |
I have known her since childhood. | 私は子供の頃から彼女を知っています。 |
▶ for / since の使い分け
- for + 期間(「〜の間」):for two weeks, for a long time
- since + 過去の起点(「〜以来」):since last year, since Monday
② 経験(過去にしたことがある / ない)
「〜したことがある / 〜したことがない」と、過去の経験を表します。
例文 | 日本語訳 |
I have been to Canada. | 私はカナダに行ったことがあります。 |
She has never seen snow. | 彼女は雪を見たことがありません。 |
Have you ever eaten sushi? | あなたは今までに寿司を食べたことがありますか? |
▶ 経験用法でよく使われる語句
- ever(今までに):疑問文で「〜したことがありますか?」
- never(一度も〜ない):否定の経験を表す
- once, twice, three times(〜回):経験の回数を表す
③ 完了・結果(〜したところ / 〜してしまった)
「〜したところ / 〜してしまった」と、過去に完了した動作が現在に影響を与えていることを表します。
例文 | 日本語訳 |
He has just finished his work. | 彼はちょうど仕事を終えたところです。 |
I have already eaten lunch. | 私はすでに昼食を食べました。 |
She has not done her homework yet. | 彼女はまだ宿題をしていません。 |
▶ 完了・結果用法でよく使われる語句
- just(ちょうど)
- already(すでに)
- yet(疑問文: もう / 否定文: まだ)
書籍『中学英語イメージリンク』では、現在完了形についてもイメージでつかめるようにイラストを用いて解説しています。ご興味ありましたらぜひどうぞ!
練習問題
A. 空所に適切な語を入れましょう。
1. She ___ visited Paris twice.(彼女は2回パリを訪れたことがあります)
2. I ___ never eaten sushi.(私は一度も寿司を食べたことがありません)
3. We have lived here ___ 2010.(私たちは2010年以来ここに住んでいます)
4. He has studied English ___ three years.(彼は3年間英語を勉強しています)
5. He ___ just finished his homework.(彼はちょうど宿題を終えたところです)
B. 日本文を英語にしましょう。
1. あなたは今までに富士山に登ったことがありますか?(ever を使って)
2. 私はその本をもう読みました。(already を使って)
3. 彼女はまだ宿題を終えていません。(yet を使って)
4. 私は5年間ここに住んでいます。(for を使って)
5. 彼は2015年から英語を勉強しています。(since を使って)
解答・解説
A. 空所補充
# | 解答 | 解説 |
1 | She has visited Paris twice. | 主語「She」には has を使う。 |
2 | I have never eaten sushi. | 主語「I」には have を使う。 |
3 | We have lived here since 2010. | 「2010年以来」は since を使う。 |
4 | He has studied English for three years. | 「3年間」という期間なので for を使う。 |
5 | He has just finished his homework. | 主語「He」には has を使う。 |
B. 日本文を英語にしましょう。
# | 英訳 | 解説 |
1 | Have you ever climbed Mt. Fuji? | ever は「今までに」という経験を尋ねる疑問文で使われる。現在完了形の疑問文なので Have + 主語 + 過去分詞? の形を使う。 |
2 | I have already read the book. | already は「すでに〜した」という完了の意味を持ち、肯定文で使われる。現在完了形では have/has + already + 過去分詞 の形になる。 |
3 | She has not finished her homework yet. | yet は「まだ〜していない」という否定文で使われる。現在完了形では have/has + not + 過去分詞 + yet の形をとる。 |
4 | I have lived here for five years. | for は「〜の間」と期間を表す場合に使う。 |
5 | He has studied English since 2015. | since は「〜以来」と過去の起点を示す。 |
まとめ
✅ 現在完了形は「have/has + 過去分詞」の形をとる。
✅ 過去のある一点ではなく、過去から現在までのつながりを表す。
✅ 継続用法は「ずっと〜している」で for/since がよく使われる。
✅ 経験用法は「〜したことがある」で ever/never がよく使われる。
✅ 完了用法は「〜したところ」で just/already/yet がよく使われる。
⬅️ 前に戻る | 📖 目次 | 次に進む ➡️ |
コメント