モチタン辞典 › モチタン英文法辞典 › 現在完了形の使い方

現在完了形の使い方|3用法の見分け方と過去形との違い

現在完了形の使い方|3用法の見分け方と過去形との違い

現在完了形は「have+過去分詞」で表し、「過去の出来事が現在にどうつながっているか」を伝える文法です。日本語にはない感覚のため難しく思われがちですが、本質は「過去と現在の橋渡し」という1点に集約されます。

初級読む時間 約4分「時制」12/37✓ 読んだ項目

この項目のポイント

先に読むと分かりやすい: 過去形の作り方と使い方

現在完了形の使い方とは(結論)

現在完了形の基本構造は「主語+have /hæv/(主語が3人称単数のときはhas /hæz/)+過去分詞」です。過去の動作や状態を取り上げつつも、話し手の視線は常に「今どうであるか」に向いています。


たとえば、単に過去の動作を述べる過去形とは異なり、現在完了形を使うと「その結果、現在の状況がどうなっているか」までを一文で表現できます。

表は横にスクロールできます →

文の種類基本パターン例文意味
肯定文主語 + have / has + 過去分詞I've finished my homework.宿題を終えました。(今終わった状態)
否定文主語 + have / has + not + 過去分詞They haven't arrived yet.彼らはまだ到着していません。
疑問文Have / Has + 主語 + 過去分詞...?Have you seen this before?これ、前にも見たことがありますか?

短縮形として I've /aɪv/, you've /juːv/, he's /hiːz/, haven't /ˈhævnt/, hasn't /ˈhæznt/ が日常会話で頻繁に使われます。

Nathan英語の文法は、話して身につけよう。会話アプリ「モチスピ」英語を話して練習できる会話アプリ。話すたびに、発音・文法・自然さをその場で直してもらえます。無料で試す

助動詞のhaveに続く過去分詞を確かめるなら、haveの過去形・過去分詞とhave had/had hadの仕組みで、同じ語が続く形も例文で確認できます。

完了・経験・継続の3用法と目印

現在完了形には「完了・結果」「経験」「継続」の3つの用法があります。どの用法になるかは、一緒に使われる副詞が大きな目印です。文脈と目印の語句をセットで覚えると、意味を即座に見分けられます。

表は横にスクロールできます →

用法意味よく使われる目印の語例文
完了・結果「〜したところだ」「〜してしまった」just /dʒʌst/, already /ɔːlˈredi/, yet /jet/The meeting has ended.(会議は終わった)
経験「(今までに)〜したことがある」ever /ˈevər/, never /ˈnevər/, before /bɪˈfɔːr/I've never had sushi.(今まで寿司を食べたことがない)
継続「(過去から今まで)ずっと〜だ」for /fɔːr/(〜の間), since /sɪns/(〜以来)I've had this cough for a week.(この咳が1週間続いている)

「完了」は動作が終わった直後や現在の結果を表し、「経験」は生まれてから現在までの履歴を語ります。「継続」は状態動詞(have, live, know など)とともに用いられ、過去から今もなおその状態が続いていることを示します。

過去形との違いと時を特定する語

現在完了形と過去形の決定的な違いは、「現在の状況を含んでいるかどうか」です。
過去形 I lost my keys. は「過去に鍵をなくした」という事実のみを述べ、いま鍵が見つかったかどうかには言及しません。

一方、現在完了形 I've lost my keys. は「鍵をなくして、今も手元にない(困っている)」という現在の事実を直接伝えます。

過去形としか使えない語句ルール

現在完了形は「今」につながる時制であるため、過去のある一点を明確に切り離す「時を特定する副詞」とは絶対に併用できません。以下の語句がある場合は、必ず過去形を使います。

たとえば「昨日宿題を終えた」は I finished my homework yesterday. が正解であり、I have finished my homework yesterday. と言うことは文法上できません。

現在完了形と過去形の違い

過去形(I lost my keys.)

  • 過去に鍵をなくした事実のみ述べる
  • いま鍵が見つかったかには言及しない
  • yesterdayなど過去の語と使える

現在完了形(I've lost my keys.)

  • 鍵をなくして今も手元にない状態
  • 「現在の状況」を直接伝える
  • 過去を特定する語句とは併用不可

現在の状況が含まれているかどうかが2つの時制の決定的な違いです。

have been to と have gone to

場所を表す前置詞 to を伴う現在完了形で、非常によく混同されるのが have been to と have gone to の使い分けです。主語の現在地がどこにあるのかに着目すると、違いが明確になります。

したがって、目の前にいる話し相手に対して「どこそこへ行ってしまった」という意味で I have gone to... や You have gone to... と言うのは、論理的に不自然になります。自分の経験を語る場合は必ず have been to を選びます。

have been to と have gone to

have been to

  • 「行ったことがある」「行ってきたところ」
  • すでに元の場所へ戻っており今ここにいる
  • 自分の経験を語るときに使う

have gone to

  • 「行ってしまった(今はここにいない)」
  • 目的地に向かったままで戻っていない
  • 目の前の相手や自分には使えない

主語の人物が「今どこにいるか」に着目して使い分けます。

否定文と疑問文の作り方と答え方

現在完了形の否定文と疑問文では、have / has を助動詞のように扱います。一般動詞の文のように do や did を持ち出す必要はありません。

否定文のルール

have / has の直後に not を置きます。完了用法では文末に yet(まだ)を置くことが多く、強い否定(一度も〜ない)には never を挟みます。

疑問文と答え方のルール

Have / Has を文頭に出して主語と倒置させます。「今までに〜したことがありますか?」と尋ねる際は ever を主語の後ろに入れます。

日本人が間違えやすい典型ミス3選

日本語の「〜した」「〜している」という訳語に引きずられると、英語の時制選択で誤りを犯しやすくなります。代表的なミスを3つ確認しておきましょう。

  1. When と現在完了形を一緒に使ってしまう
    「いつ着いたの?」と聞きたいときに When have you arrived? と言うのは誤りです。when は過去の一点を尋ねる言葉なので、When did you arrive? と過去形で尋ねるのが正解です。
  2. 期間を表すのに since と for を混同する
    since の後ろには「起点の時点(since 2020, since this morning)」が来ます。一方、for の後ろには「時間の長さ(for two hours, for five years)」を置きます。since 3 years のような表現は誤りです。
  3. 現在の状態を言うのに過去形を使ってしまう
    「予定が変わった(そして今も変わったままだ)」を My plans changed. と言うと過去の事実で終わり、今どうなのかが曖昧になります。現在の影響を伝えるなら My plans have changed. と現在完了形を使います。
日本人が間違えやすい典型ミス3選
⚠️Whenとの併用ミス

Whenは過去の一点を尋ねるため完了形不可。When did you arrive?とする。

⏳since と for の混同

sinceは起点(2020など)、forは期間の長さ(two hoursなど)に使う。

🔄現在の状態に過去形

今も予定が変わったままなら、My plans have changed.と現在完了形を使う。

日本語の訳に引きずられやすい代表的な3つのミスと正しい使い方です。

辞典の例文で見る現在完了形の使い方

英文和訳ポイント
No. There have been some delays. They haven't arrived yet. ▶いいえ。これまでにいくつかの遅れがありました。まだ届いていません。否定文で文末に yet を伴う完了用法の基本例文
My plans have changed. ▶予定が変わった。過去の変更が現在に影響している「結果」の現在完了
I've seen this before. ▶これ、前にも見たことがあるよ。before を文末に添えて過去の「経験」を表す例文
I've lost my keys. ▶私は鍵をなくしました。鍵をなくして今も持っていない現在の結果を示す文
Their customer service is the best experience I've ever had. ▶あそこのカスタマーサービスは私が今まで経験した中で最高の対応だった。最上級の修飾節内で ever を用いた経験表現
I've never felt so proud. ▶今までこんなに誇らしく感じたことはない。never を使って「一度も〜ない」と強い経験の否定を表す文
I've finished my homework. ▶宿題を終えました。宿題を終えた直後の状態を伝える代表的な完了用法
I've had this cough for a week. ▶この咳が1週間続いているんだ。for a week で1週間続いている症状を述べる継続用法
We've been together for five years. ▶私たち、付き合ってもう5年だね。for five years で期間を示し人間関係の継続を表す文
I've never had sushi. ▶今まで寿司を食べたことがありません。never を挟んで今までの未経験を簡潔に表す定番フレーズ

確認問題(5問)

  1. 次の空所に入る最も適切な語を選びなさい。 I have lived in this city (  ) five years.

    答えと解説

    正解: for
    「時間の長さ」を表す表現(five years)の前には for を使います。since は起点の時点に使います。

  2. 本文の説明に照らして、文法的に【正しい文】を選びなさい。

    答えと解説

    正解: They haven't arrived yet.
    現在完了形は when や yesterday など過去の一点を特定する語とは併用できません。

  3. 「She has gone to Paris.」が表す意味として最も適切なものを選びなさい。

    答えと解説

    正解: 彼女はパリに行ってしまって、今はここにいない。
    have gone to は目的地に向かったままで今ここには戻っていない状態を表します。

  4. 次の英文のうち、文法的な【誤りを含む文】を選びなさい。

    答えと解説

    正解: I have had this cough since a week.
    a week は「期間の長さ」なので since ではなく for を用いる必要があります。

  5. 過去形「I lost my keys.」と現在完了形「I've lost my keys.」の違いに関する説明として正しいものを選びなさい。

    答えと解説

    正解: 現在完了形は、鍵をなくして今も手元にないという現在の状況を直接伝える
    過去形は過去の事実のみを述べ、現在完了形は「鍵をなくして今も手元にない」現在の状況を含みます。

なぜhaveを使う?現在完了形のコアイメージと成り立ち

現在完了形が「have + 過去分詞」という形をとる理由に疑問を持つ方も多いでしょう。この文法の本質は、動詞 have が本来持っている「〜を持っている・抱えている」という核のイメージにあります。

英語の歴史において、元来は動作を終えた状態を表す過去分詞を目的語の後に置き、I have the homework finished.(私は仕上がった状態の宿題を今持っている)のように表現していました。これがやがて have と過去分詞が結びつき、「過去の動作を終えた結果を、今現在も手元に保持している」という現在の状況を伝える形として定着しました。

つまり、現在完了形は過去の事実そのものを客観的に述べる時制ではなく、過去の出来事の影響を「今まさに抱えている」という話し手の現在の視点を表しています。「完了」「経験」「継続」という3つの用法も、根本はこの「今持っている」という1つのコアイメージから派生した解釈にすぎません。

中学英語で差がつく現在完了形と現在完了進行形の見分け方

中学英語の文法でつまずきやすいのが、現在完了形の「継続用法」と「現在完了進行形(have / has + been + -ing)」の使い分けです。この2つを見分ける決定的な基準は、動詞が「状態動詞」か「動作動詞」かという点にあります。

状態動詞(live, know, have など)は、動詞そのものが継続する状態を表すため、進行形にせず通常の現在完了形(have + 過去分詞)で「ずっと〜している」という継続の意味を表します。

一方、動作動詞(wait, study, play, rain など)を通常の現在完了形にすると「(ちょうど)〜し終えた」という完了の意味にとられやすくなります。そのため、「今も動作が休まず続いている」という躍動感のある継続を伝えるには、現在完了進行形を用います。

文法形式動詞の性質ニュアンス例文
現在完了形(継続)状態動詞(live, know 等)状態が過去から今まで続いているI have known him for three years.(彼とは3年前からの知り合いです。)
現在完了進行形動作動詞(wait, study 等)動作が今も休まず進行中であるHe has been studying for two hours.(彼は2時間ずっと勉強し続けています。)

中学英語 現在完了形・現在完了進行形の実戦練習問題

定期テストや高校入試で頻出する現在完了形・現在完了進行形の重要パターンを、練習問題で確認しましょう。

【問題】空所に入る最も適切な語句を答えましょう。

  1. Ken (   ) soccer since this morning.(ケンは今朝からずっとサッカーをし続けています。)
    ア plays   イ has played   ウ has been playing
  2. (   ) you ever visited Kyoto?(あなたは今までに京都を訪れたことがありますか?)
    ア Did   イ Have   ウ Were
  3. My sister (   ) already cleaned her room.(私の妹はもう部屋を掃除してしまいました。)
    ア has   イ have   ウ is

【解答と解説】

「現在完了形」のよくある疑問

現在完了形の問題・練習プリント現在完了形 beenの使い方と省略現在完了形の受動態の作り方現在完了形と現在形・進行形の違い現在完了形でよく使う動詞・単語英語の完了時制(現在・過去・未来)

この分野の疑問をすべて見る

よくある質問

Q. 現在完了形と過去完了形の違いは何ですか?
現在完了形は「過去から現在まで」のつながりを表しますが、過去完了形(had+過去分詞)は「過去のある時点よりもさらに前(大過去)からその過去時点まで」の動作や状態を表します。基準点が現在か過去かという点が決定的な違いです。
Q. just now は現在完了形と一緒に使えますか?
使えません。just now は「たった今」という意味ですが、過去の一点を指す副詞句とみなされるため、過去形(例:He arrived just now.)と一緒に用いるのが英語の文法規則です。現在完了形には just を単独で用います。
Q. 継続用法は進行形(have been -ing)とどう違いますか?
状態動詞(live, know等)は通常の現在完了形で継続を表します。一方、動作動詞(wait, rain等)で「ずっと〜し続けている」という動作の継続を強調したい場合は、現在完了進行形(have been -ing)を用いるのが自然です。
Q. 主語が三人称単数のとき、なぜ have ではなく has を使うのですか?
現在完了形は「過去の出来事」を取り上げますが、文法上の基準時はあくまで「現在」だからです。そのため、通常の現在形と同じく三人称単数現在(三単現)のルールが適用され、主語が he, she, it や単数名詞のときは have が has に変化します。
Q. 疑問詞の How long で始まる文ではどの用法が使われますか?
How long(どのくらいの間)は期間の長さを尋ねる疑問詞であるため、基本的に「継続用法」または「現在完了進行形」で使われます。例えば How long have you lived here?(ここにどのくらい住んでいますか?)のように表現します。過去の一点をピンポイントで問う When とは異なり、期間を尋ねる文では現在完了形を使うのが原則です。

2026年9月24日更新・モチタン辞典編集部

モチタン英文法辞典で続けて学ぶ

「時制」の項目(37)

分からない用語は 文法用語のやさしい辞典 へ

📘 モチタン英文法辞典のトップへ(全260項目)

関連の解説動画

英語の文法

現在完了

現在完了の解説動画
英語・文法 第3章 完了形 4:48モチタンの授業動画で続けて学ぶ
英語の文法

経験の現在完了

経験の現在完了の解説動画
英語・文法 第3章 完了形 5:20モチタンの授業動画で続けて学ぶ
英語の文法

過去形と現在完了

過去形と現在完了の解説動画
英語・文法 第3章 完了形 4:22モチタンの授業動画で続けて学ぶ