現在完了進行形とは?have been ~ingの使い方を例文で解説

現在完了進行形を表す英語学習イラスト。have / has been + 動詞のing形を図解。 📚 中2英文法
現在完了進行形|have been ~ingの使い方

現在完了進行形は、過去に始まった動作が今まで続いていることを表す表現です。「ずっと〜している」「どのくらいの間〜している」と伝えたいときに使います。

この記事でわかること

  • 現在完了進行形の基本の形と意味
  • 肯定文・否定文・疑問文の作り方
  • for・since・How longの使い方
  • 現在完了(継続)や現在進行形との違い

🟨 現在完了進行形は 主語+have/has+been+動詞のing形 で作ります。

現在完了進行形の意味

現在完了進行形は、過去のある時点で始まった動作が、現在まで続いていることを表します。動作が続いている時間や期間に焦点を置くのが特徴です。

I have been studying English for two hours.
私は2時間ずっと英語を勉強しています。

She has been reading since this morning.
彼女は今朝からずっと読書をしています。

⚠️ 現在完了進行形では、have/has・been・動詞のing形の3つをそろえます。

基本の形

主語がI・you・we・theyのときはhave、he・she・itなど三人称単数のときはhasを使います。その後ろにbeen、最後に動詞のing形を置きます。

They have been playing soccer since three o’clock.
彼らは3時からずっとサッカーをしています。

Ken has been practicing the piano for an hour.
ケンは1時間ずっとピアノを練習しています。

💡 have/has+been+動詞ingの順番で覚えましょう。

動詞のing形の作り方

基本的には動詞の原形にingを付けます。

play → playing read → reading listen → listening

語尾がeで終わる動詞は、eを取ってingを付けることがあります。

use → using write → writing

短母音+子音で終わる短い動詞では、最後の子音を重ねることがあります。

run → running swim → swimming

for「〜の間」とsince「〜から」

forは期間を表し、「どのくらいの間」を示します。sinceは動作を始めた時点を表し、「いつから」を示します。

We have been waiting for thirty minutes.
私たちは30分ずっと待っています。

He has been working here since April.
彼は4月からここで働いています。

🟨 forは期間、sinceは始まった時点を表します。

否定文

否定文は、have/hasの後ろにnotを置きます。

I have not been sleeping well recently.
私は最近、よく眠れていません。

She has not been using the computer.
彼女はそのコンピューターを使い続けているわけではありません。

⚠️ 否定文ではhave/has not been+動詞ingの語順にします。

疑問文

疑問文はhave/hasを文頭に出します。

Have you been studying for a long time?
あなたは長い間勉強していますか。

Has Mr. Brown been teaching English since last year?
ブラウン先生は去年から英語を教えていますか。

💡 疑問文はHave/Has+主語+been+動詞ingです。

How longで期間を尋ねる

How long have you been ~ing?で「どのくらいの間〜していますか」と尋ねられます。答えではforやsinceを使います。

How long have you been learning English?
どのくらい英語を学んでいますか。

For three years.
3年間です。

How long has she been volunteering?
彼女はいつからボランティアをしていますか。

Since she was a high school student.
高校生のころからです。

現在完了(継続)との違い

現在完了(継続)と現在完了進行形は、どちらも過去から現在まで続くことを表します。ただし、現在完了(継続)は状態を表す動詞、現在完了進行形は動作を表す動詞と相性がよい傾向があります。

I have lived in Hiroshima for ten years.
私は広島に10年間住んでいます。

I have been studying English for ten years.
私は10年間ずっと英語を勉強しています。

⚠️ know・live・haveなど状態を表す動詞は、通常、現在完了進行形ではなく現在完了(継続)を使います。

現在進行形との違い

現在進行形は「今〜している」という現在の動作に注目します。一方、現在完了進行形は、過去から今まで続いている期間も表します。

My mother is cooking now.
母は今、料理をしています。

My mother has been cooking for an hour.
母は1時間ずっと料理をしています。

練習問題

1.「私は2時間ずっと英語を勉強しています。」

解答を見る

I have been studying English for two hours.

2.「彼女は今朝からずっと本を読んでいます。」

解答を見る

She has been reading a book since this morning.

3.「あなたはどのくらい英語を学んでいますか。」

解答を見る

How long have you been learning English?

4.「彼は30分ずっと待っていません。」

解答を見る

He has not been waiting for thirty minutes.

🟨 現在完了進行形では、動作の継続と期間に注目し、have/has+been+動詞ingを使います。

まとめ

現在完了進行形は、過去に始まり現在まで続いている動作を表します。for・since・How longと一緒に使うことが多く、現在完了(継続)や現在進行形との違いを押さえると理解しやすくなります。

📚 中2英文法|学習ロードマップ