現在完了進行形(Present Perfect Continuous)

B1 · 中級現在時制

現在完了進行形は、過去から今まで続いている活動の「長さ」に注目する形です。日本語なら「2時間ずっと勉強している」の「〜ている」ですが、英語では is studying ではなく専用の形が必要です。

このレッスンで学ぶこと

  • 形:have/has been +動詞の -ing 形(I have been working、she has been working)
  • 過去に始まって、今も続いている活動に使う
  • さっきまで続いていた(または今も続いている)活動が、今見えることの理由になっているときにも使う
  • how long、for、since とよくいっしょに使う:日本語の「〜から」「〜の間」をどう言うか

活動とその長さに注目する

現在完了進行形は、ある活動がどのくらい続いているかを言ったり、その活動を「今見えていること・気づいたこと」の理由として示したりします。

日本語では「2時間勉強している」「1日中働いている」と、どちらも「〜ている」で言えますね。この「ずっと続いている」という感覚は、そのまま英語の現在完了進行形の考え方です。ただし英語では、現在進行形(am studying)や現在形では「過去から今まで」を表せません。have/has been + -ing を使います:“I've been studying for two hours.”

"I've been studying for two hours."
"She's been working all day — that's why she's tired."

現在完了進行形の作り方

have been または has been の後に、動詞の -ing 形を続けます。

have/has + been + -ing の3つはどれも省略できません。“I have working here” のように been を落とさないようにしましょう。短縮形:I've been、she's been(= she has been)、it's been。否定文:haven't been / hasn't been。疑問文:have/has を主語の前に出します:“How long have you been waiting?”

つづりについて:アメリカ英語では practice(practicing)、イギリス英語では practise(practising)と書きます。このレッスンの練習問題はアメリカ英語のつづりを使っています。

"I have been waiting for an hour."
"He has been learning Spanish for a year."
"They haven't been sleeping well."

how long、for、since

この時制は、how long(疑問文)、for +期間、since +始まった時点とよくいっしょに使い、「今まで」の期間を表します。

for は「どのくらいの間」(for three years =3年間)、since は「いつから」(since 2018 =2018年から、since this morning =今朝から)です。日本語の「〜から」につられて from を使わないようにしましょう。「朝から雨が降っている」は “It has been raining from morning” ではなく “It's been raining since morning.” です。また「2年前から」は “since two years ago” ではなく、for two years と言うのが自然です。

「どのくらい待っているの?」も、“How long are you waiting?” や “How long do you wait?”(習慣を聞く文になります)ではなく、“How long have you been waiting?” と聞きます。

"How long have you been living here?"
"I've been working here for three years."
"It's been raining since morning."

現在完了進行形か、現在完了形か

現在完了進行形は活動そのものとその長さに、現在完了形(have/has +過去分詞)は結果や「終わったこと」に注目します。比べてみましょう:“I've been reading this book”(今読んでいる途中:活動が大切)と “I've read this book”(読み終わった:結果が大切)。

状態動詞(know、believe、「持っている」の意味の have)は進行形にしません。ここが日本語話者の大きな落とし穴です。「知っている」「持っている」は「〜ている」でも、動作ではなく状態です。「何年も前から彼を知っている」は “I've known him for years”(“I've been knowing him” は誤り)、「2015年からこの車を持っている」は “I've had this car since 2015”(“I've been having” は誤り)です。

live、work、study などを for/since といっしょに使うときは、どちらの形も使えることが多いです。“I've lived here for five years” と “I've been living here for five years” はほとんど同じ意味で、進行形のほうが長さを少し強調します。

今見えている跡の理由を言うときにも注意しましょう。地面がぬれているのを見て「雨が降っていたんだ」と言うなら、“It was raining” ではなく “It's been raining.” です。手が真っ黒な人に「何をしていたの?」と聞くなら “What have you been doing?” です。昨日のような終わった時のことなら過去形:“It rained yesterday.”

"I've been cleaning the kitchen. (活動:終わっていないかもしれない)"
"I've cleaned the kitchen. (終わった)"

実際の英語

"Sorry for the mess — we've been renovating the living room."
"How long have you been waiting?"
"She's been feeling a bit under the weather lately."
"We've been talking about moving for months, but haven't decided yet."

注意

✗I am living here for ten years.
✓I have been living here for ten years.

「ここに10年住んでいる」は過去から今まで続いていることなので、現在進行形ではなく現在完了進行形を使います。

✗She has been knowing him for years.
✓She has known him for years.

「知っている」は「〜ている」でも状態です。know のような状態動詞は進行形にせず、現在完了形を使います。

✗I have working here for a year.
✓I have been working here for a year.

現在完了進行形には、have/has と -ing 形の間に been が必要です。

✗It has been raining from morning.
✓It has been raining since morning.

「朝から」の「から」を from にしないようにしましょう。今まで続いていることの始まりは since です。

✗How long are you waiting?
✓How long have you been waiting?

「どのくらい待っているの?」は、今までの長さを聞く質問なので現在完了進行形を使います。

✗I've been learning English since two years ago.
✓I've been learning English for two years.

「2年前から」を since … ago にするのは、標準的な英語では避けられます。for +期間で言いましょう。

日本語と比べてみよう

「英語を2年勉強している」「ここに10年住んでいる」:日本語は「〜ている」で、今まで続いていることを表します

「ずっと続いている」という感覚は英語と同じなので、助けになります。ただし形は現在進行形ではなく、have/has been + -ing です:“I've been learning English for two years”、“I've been living here for ten years”。“I am living here for ten years” は誤りです。

「朝から」「2018年から」「2年前から」:日本語は始まりを「〜から」で表します

英語では、今まで続いていることの始まりには from ではなく since を使います:since morning、since 2018。期間を言うときは for です:for two years、for an hour。「2年前から」は for two years と言いかえましょう。「どのくらい?」に答えるなら for、「いつから?」に答えるなら since です。

「知っている」「持っている」「信じている」:日本語では状態も動作も同じ「〜ている」です

英語では know、believe、「持っている」の have のような状態動詞は進行形にしません:“She has known him for years”、“I have had this car since 2015”。「〜ている」だから -ing、と考えないことが大切です。一方、live や work は動作としても使えるので、“I've been living here for ten years” のように進行形にできます。

「(地面がぬれている)雨が降っていたんだ」「(手が汚れている)何をしていたの?」:日本語では「〜ていた」と言います

英語では、今見えている跡の理由になる活動には現在完了進行形を使います:“It's been raining.”、“What have you been doing?”。過去進行形の “It was raining” は、過去の特定の場面を説明する言い方です。

💡 「ずっと〜している」(過去から今まで)は am/is/are + -ing ではなく、have/has been + -ing です。

💡 for +期間(for two hours)、since +始まった時点(since morning)。「〜から」を from にしないようにしましょう。

💡 「知っている」「持っている」は状態です。know や「持っている」の have は進行形にしません:I've known him for years。

実際の場面:疲れている理由を話す

"You look exhausted. What have you been doing?"

"I've been packing all morning — we're moving next week."

"How long have you been living in that apartment?"

"About four years now. Time flies."

練習

練習問題 1 · 正しい形を選びましょう

I ___ for two hours — I need a break.

練習問題 2 · 正しい形の組み合わせを選びましょう

How long ___ you ___ English?

練習問題 3 · 正しい形を選びましょう

She's tired because she ___ all day.

練習問題 4 · 正しい文を選びましょう

Which sentence emphasizes the ongoing activity itself?

練習問題 5 · 正しい形を選びましょう

They ___ here since 2018.

練習問題 6 · 正しい形を選びましょう

Why are your hands so dirty? What ___?

練習問題 7 · 正しい直し方を選びましょう

Fix the mistake:

練習問題 8 · 文を完成させましょう

Complete: We ___ (wait) for over an hour.

練習問題 9 · 文を完成させましょう

Complete: He ___ (not/sleep) well lately.

練習問題 10 · 単語を並べ替えましょう

??????

練習問題 11 · 正しい文を選びましょう

Which is correct?

練習問題 12 · よくある間違い:「〜から」と「〜ている」

Japanese: "朝から雨が降っています。" Which English sentence is correct?

クイックチャレンジ

5つの問題で、学んだことを確認しましょう。

問題 1 / 5

スコア:0/0

I ___ this project for three months.

学んだこと

  • 現在完了進行形:have/has been + -ing 形。3つとも必要です。
  • 過去に始まって今も続いている活動や、今見えていることの理由になる活動に使います。
  • 日本語の「ずっと〜している」は、現在進行形ではなくこの形で表します(状態動詞なら現在完了形)。
  • how long、for +期間、since +始まった時点とよくいっしょに使います。「〜から」は from ではなく since です。
  • know、believe などの状態動詞は進行形にしません:I've known him for years。
このカテゴリーのレッスンをすべて見る