現在完了進行形は、過去に始まった動作が今まで続いていることを表す表現です。「ずっと〜している」「どのくらいの間〜している」と伝えたいときに使います。
この記事でわかること
- 現在完了進行形の基本の形と意味
- 肯定文・否定文・疑問文の作り方
- 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英文法を、もう一度基礎から整理したい人には、こちらの教材もおすすめです。
