こんにちは、すなおです!
現在完了 have/has + 過去分詞 と 現在完了進行形 have/has been + -ing。「違いがよく分からない!」とよく悩むテーマですが、実は 動詞の種類で3パターンに分かれるだけなんです。このポイントさえ押さえれば、もう迷いません!
- ✅ 現在完了の「継続」と現在完了進行形、何が違うの?
- ✅ どっちを使えばいいのか毎回迷う
- ✅ 動詞によって意味が変わるって聞いたけど…
- ✅ 状態動詞は進行形にできないって本当?
⚠️ 大事な前提
現在完了と現在完了進行形の使い分けは、動詞の種類によって3パターンに分かれます。
🟦 動作動詞(run / eat / read など):意味がはっきり違う → 使い分けが必要
🟧 両方OK動詞(work / live / study など):ほぼ同じ意味 → どちらでもOK
🟪 状態動詞(know / love / believe など):文法的には進行形にできない → 現在完了一択
この3パターンさえ押さえれば、迷う場面はぐっと減ります!

🟦 動作動詞:手足や口を動かして「やる」動作(run / eat / read / write / cook など)
→ 開始と終わりがハッキリしてる「動き」
🟧 両方OK動詞:動作にも状態にも見える動詞(work / live / study / teach など)
→ 「働く(動作)」と「勤務してる(状態)」みたいに二面性アリ
🟪 状態動詞:「ある状態・気持ち・思考」を表す動詞(know / love / believe / want / understand など)
→ 動いてないので進行形(〜している最中)にしづらい
― Let’s dive in ―

「3時間走った」って言いたいとき、I have run なのか I have been running なのか、毎回迷ってます…

結論、動詞の種類で使い分けが変わるからそこを押さえるのがコツ! 動作動詞・両方OK動詞・状態動詞の3パターンをサクッと整理しよう!
コアイメージの違い|一発で分かる対比

両者の違いは 「完了 / 状態の継続」 なのか 「動作の継続」 なのかです。
「もう終わった」「ずっと〜の状態」と、結果や状態に焦点
🟧 現在完了進行形(have been + -ing) = 動作の継続
「ずっと〜し続けている」と、動作のプロセスに焦点
同じ「走る」でも、焦点の置きどころで使う表現が変わります。
✅ I have run for 3 hours.(3時間走ってきた)=もう走り終わった=完了
✅ I have been running for 3 hours.(3時間ずっと走り続けてる)=まだ走ってる=動作の継続
※ 動作動詞の場合は意味がはっきり分かれます。
📊 現在完了 vs 現在完了進行形 一覧比較表
5つの観点でまるごと整理:
| 観点 | 🟦 現在完了 | 🟧 現在完了進行形 |
|---|---|---|
| 焦点 | 結果・状態 | 動作のプロセス |
| 意味 | 完了 or 状態の継続 | 動作の継続(まだ続いてる) |
| 典型シーン | 「もう〜した」「ずっと〜の状態」 | 「ずっと〜し続けている」 |
| ニュアンス | 永続的・確定的 | 一時的・進行中 |
| 状態動詞との相性 | ◯ 使える | ✕ 文法的には使えない |
🟦 現在完了|完了・状態の継続
コアイメージ:「もう終わった」結果や、「ずっと続いている状態」に焦点を当てる。動作のプロセスではなく、結果や状態を伝えたい時に使います。
- I have finished my homework.(宿題終わったよ)=完了
- She has lived in Osaka for 5 years.(彼女は大阪に5年住んでるよ)=状態の継続
- I have known him since college.(彼とは大学からの知り合いだよ)=状態の継続
- We have visited Hokkaido three times.(北海道には3回行ったことがあるよ)=経験
💡 Point!
現在完了は 「過去と今のつながり」 を表す。終わったこと(完了)でも、続いている状態(継続)でも、「今に影響がある」のがポイント。
会話では I have → I've / She has → She's のように短縮形で使われることが多い。
🟧 現在完了進行形|動作の継続
コアイメージ:動作が過去から今までずっと続いていて、まだ終わっていない。動作のプロセス自体に焦点を当てたい時に使います。
- I have been studying for 2 hours.(2時間勉強し続けているよ)=動作が今も継続
- It has been raining since morning.(朝から雨が降り続けているね)=動作が今も継続
- She has been crying all day.(彼女は1日中泣き続けているよ)=動作の継続
- They have been talking for an hour.(彼らは1時間話し続けているよ)=動作の継続
💡 Point!
現在完了進行形は 「動作が継続中・まだ終わってない」 を強調。
「今この瞬間もまだやってる」「最近ずっと〜している」というニュアンスがポイント。

現在完了は「結果・状態」、進行形は「動作の継続」って覚えればいいんですね!
⚖️ パターン別の具体例で深掘り
🟦 現在完了 = 完了(終わった)
🟧 進行形 = 未完了(まだ続いてる)
✅ I have run for 3 hours.(3時間走ってきた)=もう走り終わった=完了
✅ I have been running for 3 hours.(3時間ずっと走り続けてる)=まだ走ってる=未完了
両方とも使えて、意味もほぼ同じになります。ただし微妙なニュアンス差あり:
🟦 現在完了 = 状態の継続(落ち着いた・永続的な感じ)
🟧 進行形 = 動作の継続(今もアクティブに続けてる感じ)
✅ I have worked here for 10 years.(ここで10年働いている)=勤務してる状態
✅ I have been working here for 10 years.(ここで10年ずっと働き続けている)=今もアクティブ
状態動詞は 文法的には進行形にできません。現在完了のみ使用可(※口語では使われますが、テスト・ライティングは標準形が安全)。
✅ I have known her for 10 years.(彼女とは10年来の知り合い)=OK
❌ I have been knowing her for 10 years.=文法的にはNG
他の状態動詞: love / like / hate / want / believe / understand / remember / own / belong など
厳密には「状態動詞は進行形で使わない」が文法ルール(だから “I have been knowing him” は文法的にはNG)。
だけど現代の口語ではネイティブが普通に使ってます。有名な例:McDonald’s の “I’m lovin’ it”(love は典型的な状態動詞)。
→ テスト・ライティングは標準形(have known)一択。
→ 口語では使ってる人もいるけど、自分から無理に使う必要はありません。

動詞の種類で考えればいいのか! 状態動詞は進行形にできないって意外と知らないところでした!
シーン別 使い分けパターン
コアイメージから考えると「自然な選択」はこうなる、というガイドです。
(完了を伝えたい)
✅ I have eaten lunch.(昼食もう食べたよ)=完了
✅ She has cleaned the room.(彼女は部屋を掃除したよ)=完了
(動作の継続を強調)
✅ I have been writing this email for an hour.(このメール1時間書き続けてるよ)=今も書いてる
✅ It has been snowing since last night.(昨夜から雪が降り続けているね)=今も降ってる
(永続的な状態)
✅ I have known him since high school.(高校からの友達だよ)=状態の継続
✅ We have lived here for 8 years.(ここに8年住んでるよ)=状態の継続
(最近の動作のパターン)
✅ I have been jogging every morning.(最近毎朝ジョギングしてるよ)=最近の習慣
✅ She has been calling me a lot lately.(最近彼女よく電話してくるよ)=最近の繰り返し
定着クイズ(コアイメージで選ぶなら?)
コアイメージから判断すると、どっちが自然?
Q1. I ( ) him for 5 years.(彼とは5年知り合いだよ)
Q2. I ( ) this report for 2 hours.(このレポート2時間書き続けてるよ)
Q3. She ( ) the dishes.(彼女は皿を洗ったよ)
Q4. It ( ) since morning.(朝からずっと降っているね)
Q5. I ( ) this game for years.(このゲームを何年もずっと欲しいんだよね)
▶ 答えを見る
Q1. have known(状態動詞knowは進行形にできない)
Q2. have been writing(動作が今も継続)
Q3. has washed(行動が完了)
Q4. has been raining / has been snowing(動作の継続)
Q5. have wanted(状態動詞wantは進行形にできない)

動詞の種類さえ意識すれば、迷う場面はぐっと減るよ! 特に状態動詞は進行形にできないのだけは要チェック!
まとめ|動詞の種類で使い分ける
🎯 結論:動詞の種類で3パターン
🟦 動作動詞:意味が違うので使い分け必要
例:I have run(走り終わった)/ I have been running(まだ走ってる)
🟧 両方OK動詞:ほぼ同じ意味 → どちらでもOK
例:I have lived ≒ I have been living
🟪 状態動詞:文法的には進行形NG → 現在完了一択
例:✅ I have known him. / ❌ I have been knowing him.
- ✅ 文法的には 現在完了 = 完了/状態の継続、進行形 = 動作の継続
- ✅ 動詞の種類で使い分けが変わる:動作動詞は意味が違う、両方OK動詞はほぼ同じ、状態動詞は文法的に進行形NG
- ✅ 会話で要注意は1つだけ:状態動詞は進行形にできない
- ✅ それ以外はどちらを使ってもOK

現在完了系を深掘りしたい人は 現在完了 完全ガイド もチェックしてね! 経験・継続・完了の3用法から丁寧に整理してるよ!
関連記事|現在完了をもっと深く
- 👉 現在完了 完全ガイド|過去形との違いから進行形まで — 3用法を完全網羅
- 👉 英会話のための英文法完全ガイド — 文法全体を5つの型で整理
