英語学習法 Tips
学びになった 0 保存 0

【英検準2級 英文法】「現在完了進行形」をやさしく解説|have been+動詞のing形、現在完了形との違い、for・sinceの使い方と練習問題

【英検準2級 英文法】「現在完了進行形」をやさしく解説|have been+動詞のing形、現在完了形との違い、for・sinceの使い方と練習問題

「今、英語を勉強しています」
「2時間ずっと、英語を勉強しています」

この二つを、英語で言い分けられますか?

I am studying English now.
「私は今、英語を勉強しています」

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

一つ目は、今していることを伝える文です。二つ目は、2時間前に始めた勉強が、今まで続いていることを伝えています。

このように、過去から今にかけて続いている動作を表すときに使うのが「現在完了進行形」です。

「have、been、ingが並ぶと、どこから考えればよいか分からない」
「現在完了形でも『ずっと〜している』と言えるのでは?」

今回は、こうした疑問を例文で解説します。英検準2級に向けて文法を整理したい方も、現在完了形と進行形が混ざってしまう方も、まずは短い一文から確認していきましょう。

こんにちは。英語講師のTaka先生・根岸貴規です。私は日本国内で教科書の音読を中心に英語を身につけ、その英語を使って外資系投資銀行で約20年間働いてきました。英検1級・TOEIC980点を取得し、これまで累計14,000人以上の方に英語学習を指導してきました。ストアカでは、2022年から2025年まで4年連続で「最多受講者賞」を、2025年には「ストアカン・オブ・ザ・イヤー」をいただきました。

目次

■ 基本の形|「have been+ingは、どう組み立てるの?」

現在完了進行形の基本は、次の形です。

主語+have/has+been+動詞のing形

I、you、we、theyなどにはhaveを使い、he、she、itなどの三人称単数にはhasを使います。

She has been practicing the piano for thirty minutes.
「彼女は30分間ずっとピアノを練習しています」

文を分けてみましょう。

She:彼女は
has been practicing:ずっと練習している
the piano:ピアノを
for thirty minutes:30分間

ここでのhaveやhasは、「持っている」という意味ではありません。現在完了を作るために使っています。

現在完了形は「have/has+過去分詞」、進行形は「be動詞+動詞のing形」です。

この二つが組み合わさるため、be動詞が過去分詞のbeenになり、その後ろにpracticingなどのing形が続きます。

例えば、次の形では不十分です。

× She has practicing ...
○ She has been practicing ...

beenを抜かさないようにしてください。

また、has been practiceでは、最後の動詞が原形のままです。現在完了進行形では、has been practicingとします。

have been studying、has been practicingのように、まずはまとまりで声に出して覚えましょう。

■ forとsince|「『2時間』と『7時から』は、どう言い分けるの?」

現在完了進行形と一緒によく使うのが、forとsinceです。

forの後ろには「期間」、sinceの後ろには「始まった時点」を置きます。

① for+期間

I have been waiting for twenty minutes.
「私は20分間ずっと待っています」

for twenty minutesは「20分間」です。

ほかにも、次のように使います。

for two hours:2時間
for three days:3日間
for six months:6か月間

② since+始まった時点

I have been waiting since three o’clock.
「私は3時からずっと待っています」

since three o’clockは「3時から」です。

since this morning:今朝から
since Monday:月曜日から
since last year:去年から

「どれくらいの間?」に答えるならfor、「いつから?」に答えるならsinceと考えると、選びやすくなります。

「2時間ずっと勉強しています」なら、for two hoursです。since two hoursとはしません。

また、sinceの後ろには文を続けることもできます。

I have been studying since I got home.
「私は帰宅してからずっと勉強しています」

I got homeは「私は帰宅した」という意味です。帰宅した時点を、勉強が続いている期間の始まりとして示しています。

■ 疑問文と否定文|「どのくらい続けているのか、聞いてみよう」

① 疑問文はhave/hasを主語の前へ

Have you been studying since breakfast?
「朝食の後からずっと勉強しているのですか?」

肯定文では主語の後ろにあったhaveを、主語の前に出します。

答えるときは、次の形です。

Yes, I have.
「はい、そうです」

No, I have not.
「いいえ、違います」

主語がsheなどの三人称単数なら、文頭はHasになります。

Has she been practicing since this morning?
「彼女は今朝からずっと練習しているのですか?」

この質問への短い答えには、Yes, she has.やNo, she has not.を使います。

② 「どのくらいの間?」はHow long

How long have you been learning Spanish?
「どのくらいの間、スペイン語を学んでいるのですか?」

I have been learning it for six months.
「6か月間学んでいます」

語順は、次のとおりです。

How long+have/has+主語+been+動詞のing形?

How longの後ろに、疑問文の語順を続けます。直接相手に質問するときは、How long you have been ...としないように気をつけてください。

③ 否定文はhave/hasの後ろにnot

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

latelyは「最近」です。

この文は、最近ずっと一睡もしていないという意味ではありません。よく眠れない日が続いていることを伝えています。

短縮形は、have notがhaven’t、has notがhasn’tです。まずは省略しない形でnotの位置を確認し、その後で短縮形にも慣れていきましょう。

■ 現在完了形との違い|「現在完了形でも『ずっと〜している』と言えるのでは?」

はい。現在完了形でも、過去から今までの継続を表せます。

そのため、「現在完了形は終わったこと、現在完了進行形は続いていること」と、すべてを分けて覚えることはできません。

例えば、次の二文は、どちらも今ここに住んでいることを表せます。

I have lived here for five years.
「私はここに5年間住んでいます」

I have been living here for five years.
「私はここに5年間住み続けています」

後者では、住み続けている状況に、より焦点が当たります。liveやworkなどは、文脈によってどちらの形も使えます。

違いをつかむときは、「何を伝えたいのか」を考えてください。

① 読み終えた量を伝える

I have read three books this month.
「私は今月、本を3冊読みました」

今月これまでに、3冊読んだという実績を伝えています。

② 読み続けている時間を伝える

I have been reading this book for an hour.
「私はこの本を1時間ずっと読んでいます」

こちらは、読むという動作が続いてきたことに注目しています。この文だけでは、本を読み終えたとは言っていません。

現在完了形は、結果や完了した量を伝えるときによく使います。現在完了進行形は、動作そのものや続いてきた時間を伝えるときによく使います。

ただ形を見分けるだけでなく、「3冊読んだことを伝えたいのか」「1時間読んでいることを伝えたいのか」と、話している場面を思い浮かべてみましょう。

■ 状態を表す動詞|「『ずっと知っている』も、進行形にするの?」

「ずっと」という日本語があっても、何でも現在完了進行形にするわけではありません。

例えば、knowは「知っている」という状態を表す動詞です。通常は進行形にしません。

I have known her for six years.
「私は彼女を6年前から知っています」

have been knowingではなく、have knownを使います。knownはknowの過去分詞です。

「勉強する」「待つ」のような動作なのか、「知っている」のような状態なのか。

日本語の「ずっと」だけで決めず、使う動詞にも目を向けてください。

■ 意味をもう一歩|「現在完了進行形なら、今も必ず続いているの?」

基本が分かったら、もう一つ知っておいてほしい使い方があります。

現在完了進行形は、つい先ほどまでしていた動作を説明するときにも使えます。

例えば、走り終えて息を切らしている人が、こう言う場面です。

I am out of breath because I have been running.
「ずっと走っていたので、息が切れています」

話している瞬間には、もう立ち止まっているかもしれません。それでも、直前まで走っていたことが、今の「息が切れている」という状態につながっています。

現在完了進行形を見たら、「今も絶対にその動作をしている」とは決めつけず、前後の文も読んで判断しましょう。

また、「ずっと」は、一度も休まず続けているという意味だけではありません。

I have been practicing tennis every weekend for a year.
「私は1年間、毎週末テニスの練習を続けています」

1年間、休まずコートにいるわけではありません。「毎週末練習する」という取り組みが、今まで続いているのです。

■ 確認問題|「意味だけでなく、形も自分で選べますか?」

ここまで読んだら、次の5問に取り組んでみてください。答えを選ぶだけでなく、「なぜそうなるのか」も考えてみましょう。

① 正しい語を選んでください。

She(have/has)been waiting for ten minutes.
「彼女は10分間ずっと待っています」

② 正しい語を選んでください。

We have been practicing(for/since)April.
「私たちは4月からずっと練習を続けています」

③ 正しい形を選んでください。

I have been(study/studying)since seven o’clock.
「私は7時からずっと勉強しています」

④ 次の語句を並べ替えてください。文頭は大文字にし、文末に疑問符をつけてください。

(you/been/how long/have/waiting)
「どのくらいの間、待っているのですか?」

⑤ 次の文の動詞の形を直してください。

I have been knowing him for three years.
「私は彼を3年前から知っています」

■ 解答と解説|「間違えたところを、もう一度確認しよう」

① has

She has been waiting for ten minutes.
「彼女は10分間ずっと待っています」

主語がSheなので、haveではなくhasを使います。

② since

We have been practicing since April.
「私たちは4月からずっと練習を続けています」

Aprilは、練習を始めた時点です。期間を表すforではなく、sinceを選びます。

③ studying

I have been studying since seven o’clock.
「私は7時からずっと勉強しています」

現在完了進行形は「have/has+been+動詞のing形」です。

studyのing形はstudyingです。studiesと違い、yをiに変える必要はありません。

④ 並べ替えの答え

How long have you been waiting?
「どのくらいの間、待っているのですか?」

How longの後ろを、have+you+been+waitingの順に並べます。

⑤ have been knowing → have known

I have known him for three years.
「私は彼を3年前から知っています」

knowは、ここでは「知っている」という状態を表しています。通常は進行形にせず、現在完了形のhave knownを使います。

答え合わせが終わったら、間違えた英文を声に出して読んでください。翌日、もう一度答えを隠して解くと、覚えられているか確認できます。

■ 今日の練習|「自分が続けていることを、一文で言ってみよう」

文法の説明を読んで分かることと、自分で英文を作れることは別です。

私は、理解した例文を繰り返し音読し、日本語だけを見て英語にする練習まで行うことを大切にしています。

今日は、冒頭の一文を使ってみましょう。

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

① 場面を思い浮かべて音読する

2時間前から今まで勉強している場面を思い浮かべながら、声に出して読みます。

have been studyingを一つのまとまりとして捉え、その後ろに何を勉強しているのか、どのくらい続けているのかを加えていきます。

② 英文を隠して言う・書く

日本語だけを見て、英語で言ってみてください。

beenが抜けたり、studyingの形が出てこなかったりしたら、その部分を確認してもう一度。言えるようになったら、何も見ずに書いてみます。

③ 自分のことに変える

例えば、30分前から宿題をしているなら、次のように言えます。

I have been doing my homework for thirty minutes.
「私は30分間ずっと宿題をしています」

勉強、部活、読書、楽器の練習など、実際に続けていることを選んでください。

「何をしているか」
「いつから、どれくらい続けているか」

この二つを決めてから英文にすると、何を書けばよいか迷いにくくなります。

短い学習時間で、理解から音読、自力で思い出す練習まで進める方法は、「読んだ・解いた」で終わらせない15分の使い方でも紹介しています。

今日は、自分について一文言えるところまで取り組んでみましょう。そして明日、その一文を何も見ずに言えるか、もう一度確かめてください。

■ 参考資料

・Oxford Learner’s Dictionaries:現在完了進行形の形と使い方

・Oxford Learner’s Dictionaries:現在完了形と現在完了進行形の違い

・British Council:現在完了形と現在完了進行形の解説・練習

根岸貴規

1人でも多くの英語学習者のお役に立てるような情報を発信しています。英語をもっと頑張りたい方、頑張っているのになかなか続かない方は、ぜひ他の投稿も参考にしてみてください。

この記事を読んだ方におすすめ

この記事を書いた先生の講座・サービスです。先生から直接学べます。

この記事を書いた先生
Taka先生 根岸貴規 Proバッジ
ストアカ日本一の実績を持つ英検専門オンライン講師
フォロワー 0 記事 113 受講者 12,735

英語を勉強しているのに、「何から始めればよいのか分からない」「頑張っているのに成果が見えない」と悩んでいませんか。 英語学習で大切なのは、根性や才能ではなく、「正しい順序」「正しい方法」「必要な学習量」です。自分に必要な学習を見極め、忙しくても続けられる仕組みをつくることが…

Taka先生 根岸貴規