モチタン辞典 › 読みもの › 英文法 › 現在完了形と現在完了進行形の違い

現在完了形と現在完了進行形の違いは?見分け方と使い分け
現在完了形(have + 過去分詞)と現在完了進行形(have been + -ing)の最大の違いは、「状態の継続や結果の蓄積」を表すか、「動作のプロセスや臨場感」を表すかです。
原則として、know や be などの状態動詞の継続は現在完了形を使い、wait や run などの動作動詞が今も続いている継続は現在完了進行形を用います。
3秒でわかる違い!公式と基本性質の対比表
現在完了形と現在完了進行形は、形だけでなく「話者がどこに視点を置いているか」が根本的に異なります。まずは要点を表で把握しましょう。
| 項目 | 現在完了形 | 現在完了進行形 |
|---|---|---|
| 基本の公式 | have / has + 過去分詞 | have / has been + -ing |
| 視点の焦点 | 動作や状態の「結果・完了・蓄積」 | 動作の「プロセス・経過・臨場感」 |
| 動詞の相性 | 状態動詞(原則進行形にしない動詞) | 動作動詞(動きを表す動詞) |
| 動作の状況 | 完了している、または状態が続いている | 今も継続中、または直前まで続いていた |
| 回数・数量の表現 | 一緒に使える(twice, three timesなど) | 一緒に使えない(回数・達成量は不可) |
| 代表的な例文 | I have known him for five years.(彼とは5年前からの知り合いだ) | I have been waiting for two hours.(2時間ずっと待ち続けている) |
学校英語ではどちらも「〜ずっと…している(継続)」と訳されることが多いため混同されがちですが、英語本来の感覚では「状態がそのまま続いて今に至る(現在完了)」のか、「身体や活動を動かし続けて今に至る(現在完了進行形)」のかという明確な境界線があります。
次の疑問「今まさにしている」動作との境界線が気になるなら、現在進行形と現在完了進行形の違いも整理しておくと迷いません。
動詞の種類で決まる大原則:状態動詞vs動作動詞
英文法テストや入試において、どちらを選ぶべきか迷ったときの第一基準となるのが「使われている動詞の性質」です。英語の動詞は大きく「状態動詞」と「動作動詞」の2つに分かれます。
原則1:状態動詞の継続は「現在完了形」を使う
状態動詞とは、自分の意志で「今すぐ始めて5秒後にピタッと止める」ことができない動詞を指します。心理、認識、所有、所属、知覚などの状態を表す動詞は、そもそも進行形(-ing)にできません。そのため、過去から現在まで続いていることを表す場合は、現在完了進行形ではなく現在完了形を用います。
- know(知っている・知り合いである)
- have(持っている・所有している)※食事をするなどの動作は除く
- be(〜である・いる)
- belong to(〜に所属している)
- like / love(好いている・愛している)
- believe(信じている)
例文を確認しましょう。
○ We have been friends since elementary school.(私たちは小学校のときからずっと友人です)
× We have been being friends since elementary school.(be動詞を進行形にする継続は不可)
○ She has known him for ten years.(彼女は彼と10年来の知り合いです)
× She has been knowing him for ten years.(know は進行形にできないため不可)
原則2:動作動詞の継続は「現在完了進行形」を使う
動作動詞とは、自分の意志で開始や中断がすぐにできる、動きを伴う動詞です。動作動詞を使って「過去から今までずっとその動作を続けている」と言いたい場合、英語では現在完了進行形にするのが標準的なルールです。
動作動詞を通常の現在完了形(have + 過去分詞)にしてしまうと、「継続」ではなく「完了(もう終わった)」や「経験(したことがある)」として解釈されるのが自然だからです。
○ He has been playing games for three hours.(彼は3時間ずっとゲームをし続けている【今もプレイ中】)
△ He has played games for three hours.(文法的にはあり得ますが、日常会話では「3時間ゲームをしたことがある(経験)」や「3時間ゲームをやり終えた(完了)」に聞こえやすく、継続のニュアンスが弱まります)
状態動詞(現在完了形)
- know
- have
- be
- belong to
- like / love
動作動詞(現在完了進行形)
- wait
- run
- play
- read
- talk
動詞の種類によって選ぶべき完了形の形式が決まります。
英語の現在完了形と現在完了進行形の違い:視点とニュアンス
文法規則だけでなく、ネイティブスピーカーがそれぞれの表現を使うときの「頭の中のカメラの向け方」を理解すると、表現の使い分けが感覚的に身につきます。
現在完了形は「遠くから全体を眺めて結果や総量を数える」
現在完了形(have + 過去分詞)は、過去の行為を「今の自分の手元に持ち込んでいる(have)」感覚です。視点は現在の立ち位置にあり、過去を振り返って「その結果、今はどうなのか」「これまでにどれだけの量や経験が蓄積されたか」に焦点が当たります。
そのため、以下のように具体的な「回数」や「達成した数値」を伝える文では、必ず現在完了形を用います。
- I have read this book three times.(私はこの本を3回読んだことがある【経験・回数】)
- She has written five reports today.(彼女は今日、レポートを5本書き上げた【達成量】)
現在完了進行形は「動作の渦中にカメラをズームインする」
現在完了進行形(have been + -ing)は、過去から今に至る「動作の真っ最中」に視点を固定します。行為の結果や達成した量ではなく、「その活動をずっと続けている労力・熱量・プロセスの臨場感」を相手に伝えたいときに使われます。
「まだ終わっていない」「今まさにその最中である」という未完了の含みを持たせることができ、話し手の「ずっとこれに没頭していたんだ」という感情が乗りやすいのが大きな特徴です。
| 比較項目 | 現在完了形(have + 過去分詞) | 現在完了進行形(have been + -ing) |
|---|---|---|
| カメラの位置 | 全体を引きで撮影(結果・蓄積を重視) | 現場へズームイン(動作・熱量を重視) |
| 完了か未完了か | すでに終わっていることが多い(完了) | まだ途中・終わっていない(未完了) |
| 感情のニュアンス | 客観的な事実の報告 | 感情の余韻、労力への共感、臨場感 |
| 数字との相性 | 回数・個数・冊数と相性が良い | 期間(for, since)のみと結びつく |
基本となる形や用例をまとめて確認したいときは、現在完了形の使い方の例文集を参考にしてください。
同じ動詞で比べる対比例文集:完了か未完了か
同一の動詞を使って両者を比べると、ニュアンスの差が鮮明になります。文脈によって使い分けられるようになりましょう。
例1:read(本を読む)
I have read the book.
(私はその本を読み終えました)
→ 焦点は「読了した」という完了の結果にあります。本はもう閉じられています。
I have been reading the book all morning.
(私は午前中ずっとその本を読み続けています)
→ 焦点は「読書という行為の継続」にあります。本はまだ読み終えておらず、読書の途中です。
例2:paint(ペンキを塗る・絵を描く)
He has painted the fence.
(彼はフェンスのペンキ塗りを終えた)
→ 作業は完了しており、きれいに塗り直されたフェンスが目の前に完成しています。
He has been painting the fence since morning.
(彼は朝からずっとフェンスにペンキを塗っている)
→ 作業はまだ進行中であり、彼の服にはペンキが飛び散り、今も作業を続けている情景が浮かびます。
例3:wait(待つ)
I have waited for your reply.
(お返事をお待ちしておりました)
→ 形式ばった報告であり、返信が届いた後や区切りがついた場面でも使われます。
I have been waiting for you for an hour!
(1時間もずっと待ってたんだよ!)
→ 「待ちくたびれた」「イライラした」「寒空の下でずっと立っていた」という感情や生々しい臨場感が相手に伝わります。
現在完了形(完了・結果)
- read: 読み終えて本を閉じた
- paint: ペンキ塗りを終えた
- wait: 返事を待っていた(報告)
現在完了進行形(未完了・継続)
- read: 今も読書の途中である
- paint: 今も作業を続けている
- wait: ずっと待ちくたびれた(感情)
同じ動詞でも形の違いで完了か進行中かが明確に分かれます。

実際の会話で使われるパターンをもっと見たいときは、現在完了進行形の使い方の例文集が役立ちます。
liveやworkはどちらも正解?恒久と一時的の境界線
学校や文法書で「live(住む)」「work(働く)」「study(勉強する)」などの動詞は、現在完了形でも現在完了進行形でもどちらを使ってもほぼ同じ意味になると教わることがあります。しかし、ネイティブスピーカーの感覚では明確なニュアンスの差が存在します。
liveの比較:恒久的な定住か、一時的な滞在か
I have lived in Tokyo for ten years.
(私は東京に10年間住んでいます)
→ 自宅を構えている、腰を据えて暮らしているなど、「今後もずっと住み続ける恒久的な拠点」というニュアンスが強くなります。
I have been living in Tokyo for six months.
(私は東京に住んで6ヶ月になります)
→ 単身赴任、留学、一時的な仮住まいなど、「将来は別の場所に移動する可能性がある一時的な生活」というニュアンスを含みます。
workの比較:正社員・本業か、一時的なプロジェクトか
She has worked at this company for twenty years.
(彼女はこの会社で20年間働いている)
→ 安定したキャリアとして、その組織に長く定着して働いている印象を与えます。
She has been working on this project for two weeks.
(彼女はこのプロジェクトにここ2週間取り組んでいる)
→ 期限のある特定の仕事や、一時的に集中的に関わっている活動に対して用いられます。
| 動詞 | 現在完了形(恒久的・安定的) | 現在完了進行形(一時的・流動的) |
|---|---|---|
| live | 定住している、実家、マイホーム | 一時滞在、留学中、仮住まい |
| work | 本業、正規雇用、長期勤続 | 短期プロジェクト、副業、アルバイト |
| study | 専攻、長年の研究テーマ | 試験直前の詰め込み、最近始めた学習 |
直前の痕跡・最近の習慣:進行形ならではの重要用法
現在完了進行形は、「今まさに動作をしている瞬間」だけでなく、会話で非常によく使われる発展的な2つの用法があります。
1. 直前までの動作の痕跡・余韻(証拠が今残っている)
今その動作を行っていなくても、「たった今までその行為をしていたことが、現在の外見や状況から一目瞭然である」ときに現在完了進行形を使います。
例えば、目の前に息を切らして汗だくで現れた友人に対して、次のように言います。
You are out of breath. Have you been running?
(息が上がっているね。走ってきたの?)
質問している瞬間、友人はすでに走るのをやめて立ち止まっています。それでも「息切れ」「汗」という直前の動作の痕跡が今に残っているため、Have you run? ではなく Have you been running? を用いるのが自然です。
他の例も見てみましょう。
- The ground is wet. It has been raining.(地面が濡れている。さっきまで雨が降っていたんだね)
- Her eyes are red. She has been crying.(彼女の目が赤い。さっきまで泣いていたんだ)
- My hands are dirty because I have been repairing my bicycle.(自転車を修理していたから手が汚れているんだ)
2. 最近の習慣・マイブーム(反復的な動作)
過去から現在にかけて、「最近習慣的に繰り返していること」を表す際にも現在完了進行形が好まれます。recently や lately(最近)といった副詞とよくセットで用いられます。
I have been going to the gym lately.
(最近、ジムに通っているんだ)
→ 24時間ずっとジムにいるわけではありませんが、「通う」という動作を最近のマイブームとして継続的に反復していることを表します。
He has been eating a lot of vegetables recently.
(彼は最近、野菜をたくさん食べるようにしている)
息切れや地面の濡れなど、直前までの行為の余韻や証拠が今残っている状況を表す。
ジム通いなど、過去から現在にかけて反復して継続している行為を表す。
今まさにしている動作以外にも使われる2つの重要用法です。
テストで迷わない判別フローチャートとよくあるNG例
定期試験、大学入試、各種英語資格試験の空欄補充問題で正答を素早く見抜くための判別ルールと、失点しやすいNGパターンを整理しました。
試験用:即答判別フローチャート
- ステップ1:動詞が状態動詞か動作動詞かを確認する
・know, have, be などの状態動詞 → 迷わず現在完了形を選ぶ。 - ステップ2:回数や数量の表現があるか確認する
・twice, three times, two books などの数値がある → 現在完了形を選ぶ。
※回数や達成量を表す語句は進行形と一緒に使えません。 - ステップ3:期間を表す「for / since」があり、今も動作が続いているか確認する
・動作動詞 + for ... / since ... + 「今も継続中」 → 現在完了進行形を選ぶ。
絶対に避けるべきNG文例集
初心者が間違えやすい文法エラーの典型例です。
× I have been knowing Ken for three years.
○ I have known Ken for three years.(ケンとは3年前からの知り合いです)
【理由】know は状態動詞なので、進行形にできません。
× She has been visiting Kyoto three times.
○ She has visited Kyoto three times.(彼女は京都を3回訪れたことがある)
【理由】three times のような回数は「経験の総量」であるため、現在完了形を使います。
× It has rained since this morning.(間違いとまでは言えないが不自然)
○ It has been raining since this morning.(今朝からずっと雨が降り続いている)
【理由】動作動詞 rain で「今も雨が降り続いている」ことを表す場合は、現在完了進行形を使うのが現代英語の標準です。
期間を表す since と for の使い分け
どちらの時制を使う場合でも、期間を添える前置詞の使い分けは共通です。
- since + 起点となる過去の時点(since yesterday, since 2020, since this morning)
- for + 継続した時間の長さ(for two hours, for three days, for a long time)
状態動詞なら迷わず現在完了形を選ぶ
回数や達成量の数値があれば現在完了形を選ぶ
動作動詞+for/sinceで今も継続中なら現在完了進行形
動詞の性質、数値表現、期間の表現を順に確認して見抜きます。
次の疑問判別ルールが頭に入ったら、現在完了進行形の練習問題を解いて知識が定着しているか試してみましょう。
現在完了形と現在完了進行形の違い 知恵袋の疑問を解消
Q&Aサイトなどでよく議論される、学習者がつまずきやすい疑問に詳しく回答します。
疑問1:現在完了にも「継続用法」があるのに、なぜ進行形が必要なのか?
歴史的に見ると、もともと英語の現在完了形(have + 過去分詞)は完了・結果・経験・継続のすべてを担っていました。しかし、動作動詞を使って I have written a letter. と言った場合、「手紙を書き終えた(完了)」のか「ずっと手紙を書き続けている(継続)」のかが文脈なしでは判別できません。
そこで、動作が途切れず今も生き生きと続いていることをはっきり区別するために、17〜18世紀頃から「have been + -ing」という進行形の組み合わせが発達しました。その結果、現代英語では「状態の継続は完了形」「動作の継続は完了進行形」という機能分担が確立しました。
疑問2:動作が終わったばかりなのに進行形を使うのはなぜ?
「走るのをやめたのに、なぜ Have you been running? と進行形なのか」という疑問は非常に多く見られます。これは英語の -ing が持つ「直前の生々しい活動の余韻」を捉えているためです。
完了進行形の本質は「その活動にどっぷり浸かっていたこと」にあります。たとえ動作そのものは1分前にストップしていても、息切れや汗、手の汚れ、疲れといった「動作の余波」が今この瞬間に色濃く残っている場合、話者の意識はその活動のプロセスに向いているため進行形が使われます。
基本となる4つの意味を整理したいときは、現在完了形の4用法の見分け方とキーワードをご覧ください。
続けて読む
理解度チェック
Q1. 状態動詞を使い過去からの継続を表す文として適切なものは?
- She has known him for ten years.
- She has been knowing him for ten years.
- She is knowing him since ten years.
- She knows him for ten years.
答えを見る
正解: A. She has known him for ten years.
knowは状態動詞であり進行形にできないため、過去からの継続を表す場合は現在完了進行形ではなく現在完了形を用います。
Q2. 回数や達成した数値を表す語句と一緒に使う時制はどれ?
- 現在完了進行形
- 過去完了進行形
- 現在進行形
- 現在完了形
答えを見る
正解: D. 現在完了形
回数や達成量を示す語句は結果や蓄積に焦点が当たるため、現在完了進行形とは一緒に使えず、現在完了形を用います。
Q3. liveを使う際、現在完了進行形にすると生じるニュアンスは?
- マイホームに定住している
- 将来別の場所へ移る可能性のある一時的滞在
- 過去に一度だけ訪れた経験がある
- 今後もずっと住み続ける恒久的な拠点
答えを見る
正解: B. 将来別の場所へ移る可能性のある一時的滞在
liveを現在完了進行形にすると、留学や仮住まいなど将来別の場所に移動する可能性がある一時的な生活というニュアンスを含みます。
英語の文法は、話して身につけよう。会話アプリ「モチスピ」英語を話して練習できる会話アプリ。話すたびに、発音・文法・自然さをその場で直してもらえます。無料で試す
よくある質問
- Q. 状態動詞の継続に完了進行形は使えないのですか?
- 原則として使えません。knowやbe、belongなどの状態動詞は進行形にできないため、過去からの継続を表す場合でも現在完了形(have + 過去分詞)を用います。
- Q. liveやworkはどちらの形を使うのが自然ですか?
- どちらも文法的に正しいですが、定住や正規雇用など恒久的なニュアンスを出すなら現在完了形、一時的な仮住まいや短期プロジェクトなら現在完了進行形が自然です。
- Q. 回数を表す文で現在完了進行形を使えない理由は?
- 完了進行形は「動作のプロセスそのもの」に焦点を当てる時制だからです。twiceなど行為の回数や完了した冊数などは結果の蓄積であるため現在完了形を使います。
- Q. 否定文ではどちらの形を使うことが多いですか?
- 「〜の間ずっと…していない」という否定の継続では、「動作をしていない状態」が続いているとみなされるため、動作動詞であっても現在完了形を使うのが一般的です。
2026年10月3日更新・モチタン辞典編集部
since
for
recently
lately