英語学習で多くの人が「難しい…」「いまいち感覚が掴めない…」と感じる文法項目の一つ、それが「現在完了形」ではないでしょうか? 「過去形と何が違うの?」「have + 過去分詞って形は分かるけど、どういう時に使うの?」なんて、モヤモヤを抱えている方もきっと多いはずです。日本語にはない時制の考え方なので、戸惑ってしまうのも無理はありません。
でも、安心してください! 現在完了形は、「過去」と「今」をつなぐ、とっても便利で表現豊かな時制なんです。この記事では、そんな現在完了形の基本的な考え方から、「完了・結果」「経験」「継続」という3つの代表的な用法、そして多くの人が混乱する過去形との使い分けまで、英語初心者の方にも「なるほど!」と納得していただけるように、ゼロから丁寧に、たくさんの例文と一緒に徹底解説していきます。現在完了形の核心をつかんで、英語の表現力を一気にレベルアップさせましょう!

現在完了形、本当に苦手です…! 過去形との違いが特に分かりません!
現在完了形の基本:「過去と現在のつながり」を理解しよう
まず、現在完了形がどんな時制なのか、その基本的な考え方と形から見ていきましょう。ここをしっかり押さえることが、現在完了形マスターへの第一歩です!
現在完了形の形:「have/has + 過去分詞」をマスター
現在完了形の形は、主語に合わせて have または has を使い、その後に動詞の過去分詞 (Past Participle) を続ける、というものです。
主語 + have / has + 動詞の過去分詞
- 主語が I, you, we, they、または複数名詞の場合 → have + 過去分詞
- 主語が he, she, it、または単数名詞の場合 → has + 過去分詞
例を見てみましょう。
- I have finished my homework. (私は宿題を終えた。)
- She has lived in London for three years. (彼女はロンドンに3年間住んでいる。)
- We have seen that movie before. (私たちは以前その映画を見たことがある。)
まずはこの基本的な形をしっかり覚えましょう!
過去分詞 (Past Participle) って何?
過去分詞は、動詞の活用形の一つで、よく「動詞の3番目の形」なんて言われたりしますよね。多くの動詞は、過去形と同じように、原形に -ed をつけることで過去分詞になります(これを規則動詞と言います)。
例: finish → finished → finished / live → lived → lived / visit → visited → visited
でも、中には不規則に形が変わる動詞(不規則動詞)もたくさんあります。これらは残念ながら一つ一つ覚えるしかありません…。
例: see → saw → seen / eat → ate → eaten / go → went → gone / come → came → come (過去分詞が原形と同じものも!)
現在完了形を使いこなすには、この過去分詞の形をしっかり覚えておくことが不可欠です! 不規則動詞の変化は、参考書の後ろなどに一覧表が載っていることが多いので、頑張って覚えましょう!
現在完了形のコア・イメージ:「現在とのつながり」が鍵!
では、現在完了形は一体どんな「時」を表すのでしょうか? ここが一番大切なポイントです。現在完了形のコア(核となるイメージ)は、「過去に起こった出来事や状態が、現在の時点と何らかの形でつながっている」ということです。

過去のある一点で完結した出来事を表す「過去形」とは違い、現在完了形は「過去から現在までの時間の流れ」や「過去の出来事が現在に及ぼす影響」に焦点を当てます。
例えば、
- I lost my key. (私は鍵をなくした。)→ 過去形:過去になくした、という事実だけ。今は見つかったかもしれないし、まだないかもしれない。
- I have lost my key. (私は鍵をなくしてしまった。)→ 現在完了形:過去になくして、その結果、今も鍵がない状態だ、という現在との繋がりを示唆する。
この「現在とのつながり」という感覚が、現在完了形を理解するための最も重要な鍵になります。このイメージを頭に置きながら、具体的な3つの用法を見ていきましょう。
現在完了形の3つの用法:「完了・結果」「経験」「継続」を徹底解説!
現在完了形が持つ「過去と現在のつながり」は、具体的に3つの意味合い(用法)として現れます。それが「完了・結果」「経験」「継続」です。それぞれの用法がどんな状況で使われるのか、詳しく見ていきましょう!
用法1:完了・結果「~し終えた」「~してしまった(結果、今は…)」
一つ目の用法は、過去に始まった動作が「完了」し、その「結果」が現在に影響を及ぼしている状況を表します。「(ちょうど)~し終えたところだ」とか「~してしまった(だから今…なんだ)」という意味合いになります。
この用法は、副詞の just (ちょうど), already (すでに、もう), yet ([疑問文で]もう、[否定文で]まだ) などと一緒によく使われます。
例文を見てみましょう。
- I have just finished reading this book.
(私はちょうどこの本を読み終えたところです。)
→ 読み終えたという動作が完了し、その結果、今は本の内容を知っている、あるいは今は手が空いた、などの状況が考えられます。 - He has already eaten breakfast.
(彼はすでに朝食を食べてしまった。)
→ 食べたという動作が完了し、その結果、今はお腹が空いていない、あるいは今から一緒に食べられない、などの状況。 - “Have you cleaned your room yet?” “No, I haven’t cleaned it yet.”
(「もう部屋の掃除はしましたか?」「いいえ、まだしていません。」)
→ 掃除という動作が完了したかどうかを尋ね、それに対する返答。 - Oh no! I have left my umbrella on the train!
(しまった!電車に傘を忘れてきちゃった!)
→ 忘れたという過去の行為の結果、今、傘を持っていない。
過去形との比較:
- I finished my homework an hour ago. (1時間前に宿題を終えた。)
→ 過去形:過去の特定の時点(1時間前)に完了した事実。 - I have finished my homework. (宿題を終えた。)
→ 現在完了形:宿題を終えたという事実が現在に意味を持つ(例:だから今から遊びに行ける)。
完了・結果の用法は、「動作が終わった」という事実だけでなく、それが「今」にどう繋がっているかを意識すると分かりやすいですね。
用法2:経験「(今までに)~したことがある」
二つ目の用法は、生まれてから現在までの間に「~したことがある」という、人生における経験を表します。回数や、経験の有無を尋ねたり答えたりする際に使われます。
この用法は、副詞の ever ([疑問文で]今までに), never (一度も~ない), before (以前に), once (一度), twice (二度), … times (~回) などと一緒によく使われます。
例文です。
- I have visited Kyoto three times.
(私は京都に3回訪れたことがあります。)
→ 現在までの人生で3回の経験がある。 - Have you ever tried natto?
(あなたは今までに納豆を食べたことがありますか?) - My father has never traveled abroad.
(私の父は一度も海外旅行をしたことがありません。) - I think I have seen this movie before.
(私は以前この映画を見たことがあると思います。)
過去形との比較:
- I went to Hawaii last summer. (去年の夏にハワイへ行った。)
→ 過去形:特定の過去(去年夏)の出来事。 - I have been to Hawaii. (ハワイへ行ったことがある。)
→ 現在完了形:今までの人生における経験。いつ行ったかは問題にしていない。
経験の用法は、「現在までの人生という時間軸」の中で起こったこと、として捉えるのがポイントです。
have been to と have gone to の違いに注意!
経験の用法で「~へ行ったことがある」と言う場合、通常は have been to … を使います。
・I have been to Canada. (私はカナダへ行ったことがある。)
一方、have gone to … は、完了・結果の用法で、「~へ行ってしまって、今ここにいない」という意味になります。
・He has gone to Canada. (彼はカナダへ行ってしまった。)→ だから今ここにはいない。
主語が I や We の場合、「~へ行ったことがある」の意味で have gone to を使うことはないので注意しましょう! You が主語の場合も、目の前にいる相手に「行ってしまって今いない」とは言えないので、経験の意味なら have been to を使います。
用法3:継続「(現在まで)ずっと~している」
三つ目の用法は、過去に始まった状態や動作が、中断されることなく現在まで「ずっと継続している」ことを表します。「~の間ずっと」「~以来ずっと」という意味合いになります。
この用法は、期間を表す for … (~の間) や、起点を表す since … (~以来、~から) という表現とセットで使われるのが最大の特徴です。
また、この用法は、状態動詞 (live, know, be, have など) と共に使われることが多いですが、動作動詞と使われることもあります(その場合は現在完了進行形が使われることも多いです)。
例文を見てみましょう。
- My family has lived in this town for twenty years.
(私の家族はこの町に20年間(ずっと)住んでいます。)
→ 20年前に住み始めて、今も住んでいる。 - I have known Ken since we were in elementary school.
(私はケンとは小学校の頃から(ずっと)知り合いです。)
→ 小学校の頃に知り合って、今も知り合いだ。 - She has been sick in bed since last Friday.
(彼女は先週の金曜日から(ずっと)病気で寝ています。) - How long have you studied Japanese?
(あなたはどのくらい(の間)日本語を勉強していますか?)
過去形との比較:
- I lived in Osaka for five years. (私は大阪に5年間住んでいた。)
→ 過去形:過去の5年間住んでいたという事実。今は住んでいない。 - I have lived in Osaka for five years. (私は大阪に5年間住んでいる。)
→ 現在完了形:5年前に住み始めて、今も住んでいる。(継続)
継続の用法は、「過去から現在までの期間」にわたって続いていることを示すのがポイントです。`for` と `since` の使い分けも重要ですね!
- for + 期間 (例: for three days, for ten years, for a long time)
- since + 起点 (例: since yesterday, since 2010, since I was born, since last night)

以上が、現在完了形の代表的な3つの用法です。どの用法も「過去と現在のつながり」というコア・イメージを持っていることが分かりますね。

3つの用法、なるほど! 「完了・結果」「経験」「継続」ですね! 例文を見るとイメージしやすいです! have been to と have gone to の違いも気をつけます!
最重要!過去形との使い分け&注意点を完全マスター
現在完了形の3つの用法が分かったところで、多くの学習者が最も苦労する「過去形との使い分け」について、さらに詳しく見ていきましょう。そして、現在完了形を使う上での重要な注意点も確認します。
決定的な違い:「現在とのつながり」の有無を徹底比較!
繰り返しになりますが、現在完了形と過去形の最も大きな違いは、「現在とのつながり」があるかないかです。
- 過去形:過去のある時点での完結した出来事や状態。現在は関係ない「点」のイメージ。
- 現在完了形:過去から現在までの時間的な幅や影響。現在と繋がっている「線」や「影響」のイメージ。
状況を設定して、比較してみましょう。
状況1:財布をなくした時
- A: What’s wrong? (どうしたの?)
B: I lost my wallet yesterday. But don’t worry, I found it this morning.
(昨日財布をなくしたんだ。でも心配しないで、今朝見つけたから。)
→ 過去形 `lost`:昨日なくしたという過去の事実。今はもう見つかっている。 - A: What’s wrong? (どうしたの?)
B: I have lost my wallet! I can’t find it anywhere.
(財布をなくしちゃったんだ!どこにも見つからない。)
→ 現在完了形 `have lost`:過去になくして、その結果「今も持っていない」という現在の状況に繋がっている。
状況2:宿題について
- Did you finish your homework last night?
(昨夜、宿題を終えましたか?)
→ 過去形 `finish`:昨夜という特定の過去の時点での完了を尋ねている。 - Have you finished your homework yet?
(宿題はもう終えましたか?)
→ 現在完了形 `Have finished`:「今」の時点までに完了したかどうか、その結果(提出できるか、遊びに行けるかなど)に関心がある。
状況3:ある経験について
- I saw that movie when I was in college.
(大学時代にその映画を見た。)
→ 過去形 `saw`:大学時代という特定の過去の時点での出来事。 - I have seen that movie twice.
(その映画を2回見たことがある。)
→ 現在完了形 `have seen`:「今までの人生で」2回見たという経験。
このように、「今」との関わりがあるかどうかを意識することが、使い分けの最大のヒントになります。
一緒に使えない!明確な過去を示す語句 (yesterday, ago, last…)
「現在とのつながり」がコアである現在完了形は、明らかに過去の一点を示す語句とは一緒に使うことができません。なぜなら、これらの語句は「現在とは切り離された過去」を指すため、現在完了形の意味と矛盾してしまうからです。
現在完了形と【一緒に使えない】代表的な過去の語句:
- yesterday (昨日)
- last week / month / year / Sunday など (先週/先月/去年/この前の日曜日)
- … ago (~前) (例: two days ago, three years ago)
- in + 過去の年号 (例: in 2005)
- at that time (その時)
- just now (たった今) ※ just はOKだが just now は過去扱い
- when 節 (特定の過去の時を表す場合。例: when I was a child)
間違いやすい例:
- × I have seen him yesterday. (yesterday は過去!)
〇 I saw him yesterday. - × She has finished the work two hours ago. (ago は過去!)
〇 She finished the work two hours ago. - × When have you arrived? (When は過去の特定の時を尋ねる!)
〇 When did you arrive?
このルールは非常に重要で、テストなどでもよく問われます。これらの過去を示す語句を見たら、「過去形を使う!」と判断できるようにしましょう。
ただし、「when 節」が「~する時はいつでも」のような一般的な条件を表す場合や、「since when…?」(いつから?) のような疑問文では、現在完了形と一緒に使われることもあります。基本ルールは「特定の過去の時とは使わない」ですが、例外もあることは頭の片隅に入れておくと良いかもしれません。
現在完了進行形との使い分け:「継続」のニュアンスの違い
現在完了形の「継続」用法と、現在完了進行形(have/has been + -ing)は、どちらも過去から現在までの継続を表すため、使い分けに迷うことがありますよね。
使い分けのポイント:
- 現在完了形 (have + 過去分詞):
- 主に状態動詞 (live, know, be, have など) の継続を表す。「ずっと~という状態だ」
- 動作動詞でも使えるが、その場合は「(結果として)~し続けている」というニュアンスがやや強い。
- 現在完了進行形 (have been + -ing):
- 主に動作動詞の継続を表す。「ずっと~し続けている」という動作そのものの継続性や活発さを強調する。
- 状態動詞は基本的に進行形にしないため、完了進行形にも通常はしない。
例文比較:
- I have lived here for 10 years. (ここに10年住んでいる – 状態の継続)
※ I have been living here for 10 years. も可能だが、状態動詞 live の場合は現在完了形がより一般的。 - I have been studying English for 3 hours. (3時間(ずっと)英語を勉強し続けている – 動作の継続強調)
※ I have studied English for 3 hours. も文法的には可能だが、「勉強し続けている」感を出すなら完了進行形の方が自然。 - It has rained for three days. (3日間雨が降っている – 結果としての継続)
- It has been raining hard since last night. (昨夜から激しく雨が降り続いている – 動作(降る)の継続強調)
特に「動作」が続いていることを強調したい場合は、現在完了進行形を使う、と覚えておくと良いでしょう。
疑問文と否定文の作り方をおさらい
最後に、現在完了形の疑問文と否定文の作り方を再確認しておきましょう。
疑問文:「~したことがありますか?」「もう~しましたか?」「ずっと~していますか?」
Have / Has + 主語 + 過去分詞…? の形にします。
- Have you ever been to Australia? (オーストラリアへ行ったことがありますか?)
- Has she finished her report yet? (彼女はもうレポートを終えましたか?)
- How long have they lived here? (彼らはどのくらいここに住んでいますか?)
否定文:「~したことがない」「まだ~していない」「ずっと~していない」
have not (haven’t) / has not (hasn’t) + 過去分詞 の形にします。
- I haven’t seen him today. (私は今日、彼に会っていない。)
- He hasn’t called me back yet. (彼はまだ私に電話をかけ直してきていない。)
- We haven’t known each other for a long time. (私たちは知り合ってから長い時間は経っていません。)
基本的な文の作り方なので、しっかり練習してスムーズに作れるようになりましょう!

過去形との違い、やっぱり「現在とのつながり」が鍵なんですね! yesterday とか ago と一緒に使えないルールも、これでバッチリです! 現在完了進行形との違いも分かりました! 疑問文と否定文も練習します!
まとめ:現在完了形を使いこなして表現の幅を広げよう!
今回は、英語学習の大きな壁の一つである「現在完了形」について、基本的な考え方から3つの用法、そして過去形との重要な違いまで、詳しく見てきました。少しは現在完了形のことが身近に感じられるようになったでしょうか?
最後に、現在完了形をマスターするための重要ポイントをまとめておきます。
- コア・イメージ:「過去と現在のつながり」。過去の出来事が現在に影響を与えている、あるいは現在まで続いていることを表す。
- 形:have / has + 動詞の過去分詞。不規則動詞の過去分詞形を覚えることが必須。
- 3つの主な用法:
- 完了・結果:「~し終えた」「~してしまった(結果、今は…)」(just, already, yet)
- 経験:「(今までに)~したことがある」(ever, never, before, once, … times) ※ have been to / have gone to の違いに注意!
- 継続:「(現在まで)ずっと~している」(for, since)
- 過去形との決定的な違い:
- 過去形:過去の一点で完結したこと(現在とのつながりはない)。
- 現在完了形:過去から現在へのつながりがある。
- そのため、yesterday, ago, last… など明確な過去を示す語句とは一緒に使えない!
- 現在完了進行形との違い(継続用法):
- 現在完了形:状態の継続、結果としての継続。
- 現在完了進行形:動作の継続を強調。
現在完了形は、日本語にはない感覚なので、最初は難しく感じるかもしれません。でも、この「過去と現在のつながり」というコアなイメージを掴み、3つの用法がそれぞれどんな状況で使われるのかを理解し、そして過去形との違いをしっかり意識できるようになれば、必ず使いこなせるようになります!
たくさんの例文に触れ、実際に自分で使ってみる練習を繰り返すことが上達への一番の近道です。現在完了形をマスターすれば、あなたの英語の表現力は格段にアップし、より微妙なニュアンスを伝えられるようになりますよ。ぜひ、諦めずにチャレンジし続けてくださいね!応援しています!
コメント