モチタン辞典 › 読みもの › 英文法 › 現在完了と現在完了進行形の違い
have 過去分詞と have been ing の違い
have+過去分詞とhave been+-ingの決定的な違いは、「完了した結果や状態」に焦点を当てているか、「今まさに動作が続いている臨場感」に焦点を当てているかです。
走る・勉強するなどの動作動詞で「ずっと〜し続けている」と言いたいときは基本的にhave been+-ingを使い、知っている・持っているなどの状態動詞は進行形にできないためhave+過去分詞で継続を表します。

一目でわかる違いの比較表と基本イメージ
英語の日常会話や資格試験で多くの学習者が立ち止まるのが、現在完了形(have / has + 過去分詞)と現在完了進行形(have / has + been + -ing)の使い分けです。
どちらも日本語では「〜している」と訳される場面がありますが、ネイティブスピーカーが頭の中に思い浮かべている映像は大きく異なります。
まずは両者の根本的な違いを表で確認しましょう。
| 比較項目 | 現在完了形(have + 過去分詞) | 現在完了進行形(have been + -ing) |
|---|---|---|
| 基本の形 | have / has + 過去分詞 | have / has + been + 動詞-ing |
| 意識の焦点 | 動作の結果、完了、過去の経験 | 動作そのものの継続、今この瞬間の躍動感 |
| 現在の状況 | 動作はすでに終わっている、または状態が続いている | 今この瞬間も動作を行っている(未完了) |
| 使える動詞 | 状態動詞(know, like, haveなど)・動作動詞 | 動作動詞(run, study, playなど) |
| 代表的な訳し方 | 「〜したところだ」「〜したことがある」「(ずっと)〜である」 | 「ずっと〜し続けている」「さっきまで〜していた」 |
時間軸(タイムライン)でイメージすると、さらにわかりやすくなります。
have + 過去分詞は、過去に起きた出来事の「矢印の先端」が現在に到達し、現在の状態や結果を確定させているイメージです。例えば「宿題を終えた結果、今は自由だ」「過去にパリを訪れた経験を、今の自分が持っている」というように、視点は常に「今どのような結果・経験・状態にあるか」に向いています。
一方のhave been + -ingは、過去のある地点から始まった動作の波が、途切れることなく現在までザブザブと押し寄せており、まさに今もその波の中にいるような躍動感を表します。「過去から始めて、今もその動作の真っ最中である」という未完了のエネルギーが伝わる表現です。
英語の文法は、話して身につけよう。会話アプリ「モチスピ」英語を話して練習できる会話アプリ。話すたびに、発音・文法・自然さをその場で直してもらえます。無料で試す
have 過去分詞 ing という形の成り立ち
検索エンジンで「have 過去分詞 ing」と検索する方の多くは、現在完了進行形の正式な形であるhave been + -ingの仕組みを確認したいと考えています。なぜ完了形と進行形が合体するとこのような形になるのか、文法構造を分解してみましょう。
現在完了進行形は、以下の2つの文法パーツが足し算されてできた形です。
- 現在完了形:have + 過去分詞(過去から現在へのつながり)
- 進行形:be動詞 + 動詞の-ing形(今まさに動作を行っている最中)
この2つを上下に重ねて足し合わせると、真ん中で「be動詞」と「過去分詞」が合体します。be動詞の過去分詞形はbeenですから、結果としてhave + been + -ingというひとつの形が完成します。
したがって、文法的に「have 過去分詞 ing」という語順がそのまま直接並ぶことはなく、必ず完了の目印である助動詞haveの直後に、be動詞の過去分詞であるbeenが入り、その直後に動作動詞の現在分詞(-ing)が続きます。
主語が三人称単数(he, she, it など)の場合は、助動詞がhasに変わり、has been + -ingとなります。この構造を理解しておくと、「been を入れ忘れる」「ing ではなく原形を置いてしまう」といった文法ミスを防ぐことができます。
He has been painting the fence.彼はフェンスにペンキを塗り続けています。
完了形と進行形が重なり、be動詞が過去分詞beenに変化して合体します。
次の疑問そもそも現在完了の基本から整理したいときは、have+過去分詞の用法総まとめでおさらいできます。
なぜ have 過去分詞 でも継続と教わるのか
日本の学校英語や中学の教科書では、現在完了形(have + 過去分詞)の3大用法として「完了・結果」「経験」「継続」を習います。そのため、「中学では have + 過去分詞で継続(ずっと〜している)を表すと習ったのに、なぜ高校や英会話では have been -ing が出てくるのか」と混乱する方が非常に多くいます。
この疑問を解決する鍵は、「英語の動詞には2つのグループがある」という点にあります。
- 状態動詞(状態を表す動詞):原則として進行形(-ing)にできない動詞
- 動作動詞(具体的な動きを表す動詞):進行形(-ing)にできる動詞
中学英語の教科書で「現在完了の継続用法」として登場する例文を思い返してみましょう。
- I have lived in Tokyo for five years.(私は東京に5年間住んでいます)
- I have known Ken since 2015.(私は2015年からケンを知っています)
- She has been sick since yesterday.(彼女は昨日からずっと病気です)
これらの文で使われている動詞(live, know, be動詞)は、いずれも「状態」を表す動詞です。英語には「状態動詞は原則として進行形(-ing)にできない」という大原則があるため、進行形を使わずにhave + 過去分詞の形のまま「継続」を表します。これが、中学で習った「現在完了形の継続」の正体です。
一方で、走る(run)、勉強する(study)、テニスをする(play)などの動作動詞で「2時間ずっと走り続けている」「今朝からずっと勉強し続けている」と言いたいときは、have + 過去分詞ではなく、have been + -ingを用いるのが自然な英語です。
もし動作動詞を単なるhave + 過去分詞にすると、ネイティブスピーカーは「もう走り終えた(完了)」「走ったことがある(経験)」という意味として受け取ってしまいます。
状態動詞と動作動詞を5秒で見分ける基準
では、目の前にある動詞が「状態動詞」なのか「動作動詞」なのかを、文法用語に頼らず直感的に見分けるにはどうすればよいでしょうか。
最も実用的で簡単な見分け方は、「自分の意志で5秒以内に中断して、すぐに再開できる動作かどうか」を自問することです。
5秒でやめられない動詞=状態動詞(have + 過去分詞 を使う)
例えば、know(知っている)という動詞を考えてみましょう。「今から5秒間だけケンを知るのをやめて、5秒後にまた知ってください」と言われても、人間の頭の記憶を意識的にオン・オフすることは不可能です。like(好き)、belong(所属している)、have(持っている・所有している)なども同様です。
このように「意識してパッとやめられないもの」は状態動詞です。状態動詞を継続で使う場合は、進行形にせずhave + 過去分詞を選びます。
- We have known each other for ten years.(私たちは10年来の知り合いです)※have been knowingとは言えません。
- He has had this watch since he was a child.(彼は子どもの頃からこの腕時計を持っています)※所有を表すhaveは進行形にできません。
- I have liked jazz since I was in college.(大学時代からずっとジャズが好きです)※likeも感情の状態なので完了形を使います。
5秒でやめて再開できる動詞=動作動詞(have been -ing を使う)
次に、run(走る)、read(読む)、cook(料理する)を考えてみましょう。「今走るのをやめてください」と言われれば、1秒で立ち止まることができます。「また走ってください」と言われれば、すぐに再開できます。
このように「自分の意志でオン・オフできる具体的な体の動き」は動作動詞です。動作動詞を「ずっと〜し続けている」と表現するときは、have been + -ingを選びます。
- He has been running for an hour.(彼は1時間ずっと走り続けています)※今も走っています。
- She has been reading this book since morning.(彼女は今朝からずっとこの本を読んでいます)※今も読書中です。
- They have been cooking dinner for thirty minutes.(彼らは30分間ずっと夕食を作っています)※今もキッチンで作業中です。
状態動詞(中断できない)
- 5秒でやめられない性質・記憶
- 例:know, like, have, belong
- 進行形にできず完了形を使う
- We have known each other.
動作動詞(オン・オフ可能)
- 1秒で停止・再開できる体の動き
- 例:run, read, cook
- 継続にはhave been -ingを使う
- He has been running.
自分の意志ですぐに動作を中断・再開できるかで形を判断します。

場面別例文対比:終わったのか今もしているのか
同じ動作動詞であっても、have + 過去分詞を使うかhave been + -ingを使うかで、状況の伝わり方が180度変わります。会話や文章でよく使われる具体的なペアで比較してみましょう。
例1:手紙やレポートを書く(write)
- I have written the report.(レポートを書き上げました)
→ 焦点は「書き終えた結果」にあります。レポートはすでに完成しており、手元にあって提出できる状態です。 - I have been writing the report for two hours.(2時間ずっとレポートを書いています)
→ 焦点は「書くという動作の継続」にあります。レポートはまだ書き上がっておらず、今もパソコンの前でキーボードを叩いています。
例2:ペンキを塗る(paint)
- He has painted the fence.(彼はフェンスにペンキを塗りました)
→ ペンキ塗りの作業は完全に終了しています。目の前には綺麗に塗り直されたフェンスが存在します。 - He has been painting the fence since noon.(彼は正午からずっとフェンスにペンキを塗っています)
→ 作業は今も進行中です。ペンキ缶とブラシを持ち、現在進行形で作業を続けています。
例3:雨が降る(rain)
- It has rained.(雨が降りました)
→ 今は雨が止んでいます。地面が濡れているなどの結果が残っている状態です。 - It has been raining since this morning.(今朝からずっと雨が降り続いています)
→ 今まさに窓の外で雨がザーザーと降っています。
このように、動作が「すでに完結して結果が残っている」のか、「現在もその作業の真っ只中にある」のかを明確に伝えるために、英語圏の人々は形を厳格に使い分けています。
live や work はどちらでもよいのか?ニュアンスの違い
英語学習者から最も多く寄せられる質問のひとつに、「live(住む)やwork(働く)、study(勉強する)はどちらの形を使ってもいいのか」というものがあります。
結論から言うと、liveやworkのように「習慣的・長期的に行われる動詞」は、have + 過去分詞とhave been + -ingのどちらを使っても文法的に正しく、大意としては通じます。しかし、話し手が込める「心理的なニュアンス」には明確な違いが存在します。
live(住む)の場合の比較
- I have lived in Osaka for ten years.(私は大阪に10年住んでいます)
→ ニュアンス:大阪に腰を据えており、「大阪が自分の定住地である」という永続的・安定的な感覚を含みます。 - I have been living in Osaka for three months.(私は大阪に住んで3ヶ月になります)
→ ニュアンス:進行形の-ingには「一時的な状態」というニュアンスが宿るため、「単身赴任中である」「仮住まいである」「将来は別の場所へ移る可能性がある」といった一時的な滞在感を自然と醸し出します。
work(働く)の場合の比較
- She has worked at this hospital for twenty years.(彼女はこの病院で20年間働いています)
→ ニュアンス:正規職員として長年勤務しており、彼女のキャリアの根幹をなす本務である印象を与えます。 - She has been working at this cafe for two weeks.(彼女はこのカフェで働いて2週間になります)
→ ニュアンス:アルバイトやインターン、短期契約など、一時的な労働環境であることを暗示する響きがあります。
期間の長さにも傾向があります。10年や20年といった長期の定住・勤務にはhave + 過去分詞が好まれ、数日・数週間・数ヶ月といった比較的短い期間や過渡期の生活にはhave been + -ingが自然に選ばれる傾向があります。
have + 過去分詞
- 長期・永続的・安定的な感覚
- 「腰を据えている」「正規職員」
- 10年や20年など長期に好まれる
- I have lived in Osaka for 10 years.
have been + -ing
- 一時的な状態・仮住まいの感覚
- 「単身赴任」「バイト・短期契約」
- 数日・数週間・数ヶ月に好まれる
- I have been living in Osaka for 3 months.
完了形は永続的・安定的、進行形は一時的な滞在・労働の響きを持ちます。
直前までやっていて息が上がっているときの用法
現在完了進行形(have been + -ing)には、「今この瞬間も動作を続けている」という意味のほかに、もうひとつ非常に重要な用法があります。それは、「直前までその動作を激しく行っており、その生々しい影響(痕跡)が今まさに現れている」という臨場感の表現です。
たとえ発言する1秒前にその動作自体をストップしていたとしても、動作の余韻が体に残っている場合はhave been + -ingを使います。以下の会話例を見てみましょう。
息を切らして待ち合わせ場所に現れた友人との会話
A: Why are you out of breath?(どうして息が切れているの?)
B: I have been running!(ずっと走ってきたんだ!)
このとき、話し手Bは友人の目の前に立ち止まって会話をしているため、厳密には「今この瞬間は走っていません」。しかし、ハァハァと激しく息が上がっており、シャツが汗でびっしょり濡れています。
直前までの「走る」という動作の躍動感がそのまま体に残っているため、単なる過去形や現在完了形ではなくI have been running!と叫ぶことで、その必死さをリアルに伝えているのです。
ペンキで汚れた手を見たときの会話
A: Your hands are covered in paint!(手がペンキだらけじゃないか!)
B: I have been painting my room.(部屋のペンキ塗りをしていたんだ)
こちらも現在はブラシを置いて手を洗おうとしているところですが、直前まで行っていた作業の痕跡が体にアリアリと残っているため、have been + -ingが最も状況に合致します。
このように、現在完了進行形は「動作の未完了」だけでなく、「直前の激しい動作が現在にもたらしている臨場感・余韻」を描写する際にも力を発揮します。
過去の出来事と今のつながりを整理したいときは、過去形と現在完了形の違いと使い分けも参考になります。
次の疑問今まさにしている動作を表す進行形との違いに迷ったら、現在進行形と現在完了進行形の違いを比べると整理しやすくなります。
英会話やテストで1秒で迷わない判別フローチャート
実際の英会話の最中や、TOEIC・高校入試などのテスト問題を解く際に、どちらを使うべきか1秒で判断するための思考フローチャートを整理しました。頭の中で以下の3つの問いを順番に確認してください。
- ステップ1:その動詞は「状態動詞」か?
→ know, like, belong, 所有のhaveなどの状態動詞であれば、迷わずhave + 過去分詞を選択します(進行形にはできません)。
→ 動作動詞であれば、ステップ2へ進みます。 - ステップ2:動作はすでに終わって、結果や経験を言いたいのか?
→ 「すでに終えた(完了)」「もう準備ができた(結果)」「〜回やったことがある(経験)」を伝えたいなら、have + 過去分詞を選択します。
→ 「今もやっている」「何時間もやり続けている」なら、ステップ3へ進みます。 - ステップ3:今まさに動作中か、直前までやっていて息切れや痕跡があるか?
→ 今まさにその動作の最中である、あるいは直前までやっていて生々しい痕跡がある場合は、have been + -ingを選択します。
※期間を表すfor + 時間(for three hoursなど)やsince + 起点(since yesterdayなど)が動作動詞と一緒に使われている場合は、現在完了進行形が極めて有力な正解候補になります。
この3段階のフィルターを通すだけで、会話で言葉に詰まったり、テストの四択問題で迷ったりすることはなくなります。
状態動詞ならhave+過去分詞を選択
終了・結果・経験ならhave+過去分詞
動作中や息切れの痕跡ならhave been -ing
動詞の種類、完了か継続か、直前の痕跡の有無の順に確認します。
理解度チェック練習問題
学んだ知識が定着しているか、以下の練習問題で確認してみましょう。文脈に合わせて括弧内の動詞を適切な形(現在完了形、または現在完了進行形)に変えてみてください。
問題
- I ( wait ) for you for an hour! Where were you?(あなたを1時間もずっと待っていたんだよ!どこにいたの?)
- She ( lose ) her car key. She cannot go home now.(彼女は車の鍵をなくしてしまった。今家に帰ることができない。)
- Tom and I ( be ) friends since elementary school.(トムと私は小学生の頃からの友達です。)
- Look at the ground. It is completely dry. It ( not rain ) at all today.(地面を見て。完全に乾いているよ。今日はまったく雨が降っていない。)
- How long ( you / study ) English? — For about two years.(どのくらいの間英語を勉強し続けているのですか? — 約2年間です。)
解答と解説
- have been waiting
解説:wait(待つ)は動作動詞です。1時間前から待つ動作が継続しており、感情的な「ずっと待たされた」というニュアンスを強調するため、現在完了進行形が適切です。 - has lost
解説:鍵を「なくす(lose)」という瞬間的な動作の結果、現在鍵を持っていない状態を表しています。動作を継続しているわけではないため、完了・結果を表す現在完了形(has lost)にします。 - have been
解説:be動詞は状態動詞であり、「友達である」という関係性の継続を表します。進行形にはできないため、現在完了形(have been)が正解です。 - has not rained
解説:「今日は雨が降っていない」という事実・結果を述べています。地面が乾いているという現在の結果に焦点があるため、現在完了形(has not rained)を用います。 - have you been studying
解説:study(勉強する)という動作動詞を使い、現在も継続している学習期間を尋ねる典型的な疑問文です。日常会話でも「どのくらい〜し続けているの?」と尋ねる際はHow long have you been -ing?が最も自然です。
実際の文脈でどのような表現が使われるか確認したい方は、現在完了進行形の使い方の例文集をご覧ください。
疑問文・否定文の形と実践フレーズ
現在完了進行形の否定文は、助動詞 have / has の直後に not を置きます。疑問文は主語と have / has を入れ替え、疑問詞を使う場合は文頭に配置します。
- 否定文:He has not (hasn't) been studying.
- 疑問文:Have you been waiting long?(長く待っていましたか?)
- 疑問詞付き:What have you been doing?(今まで何をしていたの?) / How long has it been snowing?(雪はどのくらい降り続いていますか?)
そのまま口から出せる会話・ビジネス頻出フレーズ
ネイティブスピーカーが日常的によく使う定番の表現です。
- 待ち合わせでの確認:
Sorry to keep you waiting. Have you been waiting long?(待たせてごめんね。長く待った?)
返答:No, I've only been waiting for a few minutes.(ううん、数分待っていただけだから大丈夫だよ) - 知人への挨拶:
How have you been doing lately?(最近はどう過ごしていたの?)
I've been working really hard these days.(このところ仕事がとても忙しくてね) - ビジネスでの近況伺い:
What kind of project have you been working on?(現在どのようなプロジェクトに取り組んでいらっしゃるのですか?) - 検討していた意見の切り出し:
I have been thinking about our new marketing plan.(私たちの新しいマーケティング計画について、ずっと考えていたんだ)
回数・数量の注意点と頻出の時間表現
テストや英作文で特に注意が必要なのが、具体的な数量や回数を述べる場面です。
回数や数量を表す表現があるときは完了形を使う
「3通」「2回」のように具体的な数字が文に含まれる場合、関心は動作のプロセスではなく達成された「結果・成果」に向きます。そのため、現在完了進行形ではなく現在完了形を用います。
○ She has written three emails since this morning.(彼女は今朝からメールを3通書いた)
× She has been writing three emails since this morning.
数量や回数(three times、two books、five cups of coffee など)を明示する場合に進行形を使うと、「3通のメールを同時並行で書きかけにしている」ような不自然な響きになってしまいます。
よく一緒に使われる時間表現
現在完了や現在完了進行形とともに用いられる代表的な時間表現も押さえておきましょう。
| 表現 | 意味・使われ方 | 例文 |
|---|---|---|
| for + 期間 | 「〜の間」(時間の長さ) | for three hours(3時間), for five years(5年間) |
| since + 起点 | 「〜以来」「〜から」(過去の出発点) | since yesterday(昨日から), since I was a child(子どもの頃から) |
| lately / recently | 「最近」「近ごろ」(反復や継続) | I have been sleeping badly lately.(最近眠りが浅い) |
| all day / all morning | 「一日中 / 朝からずっと」(休みない継続) | She has been crying all day.(彼女は一日中泣いている) |
数量や回数を述べる際の重要ルール
文法問題や資格試験において重要なポイントとなるのが、「具体的な数量や成果物、回数を述べる場合は現在完了形を使う」という原則です。
成果の数量や回数は現在完了形でしか言えない
動作をいくら続けていても、完成した個数や達成した回数は「区切られた結果の集計」です。現在完了進行形は継続中の活動そのものに焦点を当てるため、完結した個数を数える表現とは原則として併用できません。
- I have written five reports today.(正解:私は今日、報告書を5通書き上げました。)
※「5通」という完成品の数量があるため現在完了形を用います。I have been writing five reports today. と言うことはできません。 - I have visited Kyoto three times.(正解:私は京都を3回訪れたことがあります。)
※「3回」という訪問回数のカウントは結果の蓄積であるため、現在完了形を使います。
| 伝えたい内容 | 使うべき時制 | 英文の例 |
|---|---|---|
| 活動そのもの(何をして過ごしたか) | 現在完了進行形 | I have been writing reports all day.(一日中レポート書きを続けている。) |
| 具体的な成果の数(何通できたか) | 現在完了形 | I have written three reports so far.(これまでに3通レポートを書いた。) |
| 継続している時間(何時間読んだか) | 現在完了進行形 | He has been reading for two hours.(彼は2時間ずっと読書している。) |
| 読了した冊数(何冊読み切ったか) | 現在完了形 | He has read two books this week.(彼は今週2冊本を読んだ。) |
since と for は時制決定の決め手にしない
since(〜以来)や for(〜の間)は、現在完了形と現在完了進行形の両方で日常的に使われます。そのため、これらの語があることだけで時制を決めつけることはできません。動詞が状態動詞か、今も続くアクションか、成果の数字があるかなど、文脈全体の構造から判断する必要があります。
現在進行形との違いと時間の捉え方
「単なる現在進行形」と「現在完了進行形」の違いに迷ったときは、「時間の起点や幅があるかどうか」を確認します。
- She is cooking dinner.(彼女は晩ご飯を作っています。)
※現在進行形は、今まさにキッチンで手を動かしている最中であることだけを伝えており、いつから作り始めたのかには触れていません。 - She has been cooking dinner for two hours.(彼女は2時間前からずっと晩ご飯を作り続けています。)
※現在完了進行形は、「2時間前」という過去の起点から「今」まで、料理という作業が絶え間なく続いている時間の厚みを伝えます。
時間軸における各時制の位置付けは以下の通りです。
表は横にスクロールできます →
| 時制 | 時間軸上の位置と範囲 | コアイメージ | 例文 |
|---|---|---|---|
| 過去形 | 過去の1点(現在とは切り離されている) | 過去の出来事・過去の事実 | I worked yesterday.(昨日働いた。) |
| 現在形 | 過去・現在・未来を含む恒久の帯 | 習慣・変わらない事実・性質 | I work here.(私はここで普段働いている。) |
| 現在進行形 | 現在の1点をまたぐ極めて短い今ここ | 今この瞬間の動作の真っ最中 | I am working now.(今まさに仕事中だ。) |
| 現在完了形 | 過去から現在まで届く矢印(視点は今) | 現在の結果・これまでの経験と蓄積 | I have worked for five hours.(5時間働いた状態だ。) |
| 現在完了進行形 | 過去から現在まで波打ちながら続く矢印 | 過去から今も途切れず続く活動の渦中 | I have been working for five hours.(5時間ぶっ続けで働き続けている。) |
今まさに行われている動作の表現を復習したいときは、現在進行形の使い方の例文集をあわせて確認してみてください。
現在進行形も含めた3つの時制の比較
理解を深めるために、似通った3つの時制である「現在進行形」「現在完了形」「現在完了進行形」を同じ状況下で並べて整理します。
表は横にスクロールできます →
| 時制 | 形式 | 時間的な視点 | 例文と実際の状況 |
|---|---|---|---|
| 現在進行形 | am / is / are + -ing | 「今この瞬間」だけを切り取っている | It is raining.(雨が降っています:窓の外を見ると今まさに降っている) |
| 現在完了形 | have / has + 過去分詞 | 過去の出来事が現在の状況を作り出している | It has rained.(雨が降りました:道路が濡れており、雨が降った事実がわかる) |
| 現在完了進行形 | have / has been + -ing | 過去から現在まで雨の降り続く動作が直結している | It has been raining for three days.(3日間ずっと雨が降り続いています) |
日常会話でよく使われる wait(待つ)という動詞でも違いが明確に分かります。
- I am waiting for Tom.(トムを待っているところです)→ 単に現在の動作を説明しています。
- I have waited for Tom.(トムを待ったことがあります/待ちました)→ 通常は経験や過去の完了した事実として響きます。
- I have been waiting for Tom for an hour.(トムを1時間ずっと待ち続けています)→ 1時間前から現在まで待ち続けているイライラや疲労感などの臨場感が伝わります。
会話で役立つ挨拶や近況の頻出表現
ネイティブスピーカーが会話の挨拶や近況報告で頻繁に使う現在完了進行形の定番フレーズです。決まり文句として覚えておくとスムーズに使えます。
待ち合わせや挨拶のフレーズ
- Sorry to keep you waiting. — That's fine, I haven't been waiting long.(待たせてごめんね。 — 大丈夫、そんなに長く待っていないよ)
- What have you been up to?(最近は何をして過ごしていたの?) ※ How have you been?(元気にしてた?)と並ぶ親しい間柄の挨拶表現です。
- What have you been doing lately?(ここ最近、どんなことをしているの?)
- I have been thinking about you.(あなたのことをずっと考えていました)
近況や習慣的な活動を伝えるフレーズ
過去数日から数週間にわたって「最近習慣的にハマっていること・続けていること」を伝える際にも最適です。
- I have been going to the gym recently.(最近ジムに通い続けています)
- He has been taking online English lessons every night.(彼は毎晩オンライン英会話レッスンを受けています)
- I have been trying to eat healthier these days.(近ごろはより健康的な食生活を心がけています)
否定文で「継続」を表すときの注意点
テストや英作文で特に注意すべきなのが否定文の扱いです。「ここ数週間彼を見かけていない」のように「ある行為をずっと行っていない」という不作為の継続を述べる場合は、現在完了進行形の否定文ではなく、現在完了形の否定文を用いるのが標準的です。
- 誤:I haven't been seeing him.
- 正:I haven't seen him for weeks.(ここ数週間彼を見かけていません)
英語では「していない」という状態そのものが続いていると捉えるため、動作動詞であっても現在完了形(have + 過去分詞)を使います。
否定文での使い分けと最近のブームを表す用法
肯定文だけでなく、否定文や疑問文で用いる際にも押さえておきたい使い分けのポイントがあります。
否定文では現在完了形が好まれる
「〜していない」という否定の文を作る場合、動作動詞であっても現在完了進行形ではなく、現在完了形(haven't + 過去分詞)を使うのが一般的です。
- I haven't seen him for two weeks.(彼に2週間会っていません)
- She hasn't played tennis since last month.(彼女は先月からテニスをしていません)
「動作を行っていない」ということは「何もしない静止した状態」が続いていることを意味し、動作の躍動感が生じないためです。ただし、「最近サボり気味だ」のように最近の習慣の欠落を強調する文脈では、例外的に I haven't been practicing lately. のような形が使われることもあります。
期間語なしで「最近のマイブーム」を表す
現在完了進行形は、for や since などの期間を表す語がなくても、副詞の lately や recently を伴って「最近〜ばかりしている」「最近ハマっている」という直近のマイブームを表現できます。
- I have been watching a lot of Korean dramas lately.(最近、韓国ドラマをたくさん観ています)
- What have you been doing?(最近どうしていた?/何をやっていたの?)
特に What have you been doing? は、親しい間柄で相手の近況や活動を尋ねる挨拶の決まり文句として頻繁に使われます。
続けて読む
理解度チェック
Q1. 現在完了進行形(have been -ing)の文法的な成り立ちはどれ?
- have+過去分詞 と be動詞+-ing の合体
- have+原形 と be動詞+過去分詞 の合体
- 助動詞+原形 と have+-ing の合体
- be動詞+過去分詞 と have+-ing の合体
答えを見る
正解: A. have+過去分詞 と be動詞+-ing の合体
現在完了形(have+過去分詞)と進行形(be動詞+-ing)が合体し、be動詞が過去分詞のbeenとなって成り立ちます。
Q2. 状態動詞と動作動詞を見分ける基準として本文にあるものは?
- 過去形にしたときに不規則変化するかどうか
- 自分の意志で5秒以内に中断し再開できるか
- 目的語を後ろに必要とする動詞かどうか
- 期間を表すforやsinceと一緒に使えるか
答えを見る
正解: B. 自分の意志で5秒以内に中断し再開できるか
自分の意志で5秒以内に中断して、すぐに再開できる体の動きなら動作動詞、意識してパッとやめられないものは状態動詞と見分けます。
Q3. 「2時間ずっとレポートを書き続けている(未完成)」を表す文は?
- I have written the report.
- I have been writing the report for two hours.
- I am having written the report for two hours.
- I have write the report since two hours.
答えを見る
正解: B. I have been writing the report for two hours.
書く動作が今も続いていて未完了であることを表すには、動作動詞writeを現在完了進行形(have been writing)にします。
よくある質問
- Q. have 過去分詞 ing という文法は実在しますか?
- have 過去分詞 ing が直接連なる文法はありません。正しくは have / has been + -ing(現在完了進行形)であり、be動詞の過去分詞である been を挟むことで、完了と進行の意味を併せ持つ構造になります。
- Q. 状態動詞を have been -ing にすることは絶対ないですか?
- 原則としてありません。know, like, have(所有)などは進行形にできないため、継続を表すときは必ず have + 過去分詞 を使います。例外的に live や stay など一時性を強調する場合のみ進行形が使われます。
- Q. How long have you lived と been living の違いは?
- How long have you lived here? は「ここに永住・定住している」感覚で尋ねる標準的な表現です。一方 been living を使うと「一時的に滞在している」という前提やニュアンスがやや強くなります。
- Q. TOEICやテストで両方選択肢にあるときの見分け方は?
- まず動詞が状態動詞なら have 過去分詞 が正解です。動作動詞で for や since があり、「今もその動作の真っ最中」である文脈なら have been -ing が正解になります。完了した結果を述べていれば have 過去分詞 です。
- Q. 回数や数量を言いたいときに現在完了進行形は使えますか?
- 使えません。「メールを3通書いた」「本を2冊読んだ」のように回数や達成した数量を表す場合は、動作のプロセスではなく結果や成果に焦点が当たるため、現在完了進行形ではなく現在完了形(have + 過去分詞)を使います。
- Q. 否定文で「ずっと〜していない」と言うときはどちらですか?
- 現在完了形を用います。「行為をしていない状態」が続いていると捉えるため、動作動詞であっても I haven't eaten anything since morning. のように表現するのが自然です。
- Q. 現在完了進行形に「完了」や「経験」の用法はありますか?
- ありません。現在完了進行形が表すのは「継続」と「直前までの動作の痕跡」のみです。「〜したことがある(経験)」や「〜し終えた(完了)」を表したいときは、必ず通常の現在完了形を用います。
- Q. 最近の習慣を表す場合、現在形とはどう違いますか?
- 現在形(I run every day.)は不変の習慣や日常のルーティンを表します。現在完了進行形(I have been running lately.)は「ここ最近始めた取り組み」「一時的なマイブーム」というニュアンスを伝えます。
2026年9月30日更新・モチタン辞典編集部
関係する文法現在完了形の使い方現在完了進行形の使い方