過去完了進行形(Past Perfect Continuous)

B2 · 中上級過去時制

過去のある時点まで「ずっと〜していた」。続いていた長さや、その結果を伝えるのが過去完了進行形です。

このレッスンで学ぶこと

  • 形は had been + 動詞の -ing 形(I had been working、she had been waiting)
  • 過去のある時点までの動作の「長さ」を強調する
  • 過去の状況の原因を説明するのによく使う
  • 否定文は hadn't been + -ing、疑問文は Had + 主語 + been + -ing

過去のある時点まで続いていた動作

過去完了進行形は、過去のある時点までに、ある動作がどのくらい続いていたかを表します。大事なのは「終わったかどうか」よりも、続いていた長さや、その途中の様子です。形は had been + 動詞の -ing 形で、3つの部分がそろって初めて1つの時制になります。

日本語では「バスが来たとき、1時間待っていた」「1時間前から待っていた」のように、ふつうの「〜ていた」で言えます。そのまま過去進行形にして “I was waiting for an hour when the bus came” としたくなりますが、ある時点までの長さを言うときは過去完了進行形を使います。“I had been waiting for an hour when the bus finally came.”

時間の表し方にも注意しましょう。長さ(1時間、2年間)には for を使います:for an hour、for two years。始まった時点(8時、月曜日)には since を使います:since 8 o'clock、since Monday。「1時間前から」を “since one hour ago” や “for an hour ago” とは言いません。ago は「今から〜前」という1つの時点を表すので、長さの for とは組み合わせられません。“for an hour” だけで十分です。

"I had been waiting for an hour when the bus finally came."
"She had been studying for three hours before the test."

過去の結果の原因を説明する

この時制は、過去のある時点で「なぜそういう状態だったのか」を説明するのによく使います。それより前にしばらく続いていた動作が原因です。その動作は直前に終わっていることも、まだ続いていることもあり、その影響が目に見えている、という場面です。

日本語の「彼がへとへとだったのは、ずっと走っていたからだ」「地面がぬれていたのは、雨が降っていたからだ」にあたります。“He was exhausted because he had been running.” “The ground was wet because it had been raining.” 日本語の「雨が降っていた」には主語がありませんが、英語では it が必要です。

"He was exhausted because he had been running."
"The ground was wet because it had been raining."

過去完了進行形か、過去完了形か

続いていた長さや途中の様子を伝えたいときは過去完了進行形、「終わっていた」という事実や結果、量(the whole book、three chapters)を伝えたいときは過去完了形(had + 過去分詞)を使います。

know、own、believe、be などの状態動詞は、長さを言うときでもふつう -ing にしません。「何年も前から彼を知っていた」は “I had known him for years” で、“I had been knowing him” とは言いません。

形にも気をつけましょう。この時制では had been の後ろは必ず -ing 形です。had been + 過去分詞(had been closed、had been stranded)は受動態や状態を表す別の形です。否定文と疑問文は had で作ります。“They hadn't been sleeping well.” “How long had you been living there?” did は使いません。

"She had been reading for two hours. (長さが大事)"
"She had read the whole book. (結果が大事)"

実際の英語

"I had been feeling unwell for days before I finally saw a doctor."
"They had been dating for a year before they got engaged."
"How long had you been living there before you moved?"
"We were tired because we had been traveling all day."

注意

✗I was waiting for an hour when the bus came.
✓I had been waiting for an hour when the bus came.

「来たときには1時間待っていた」は、来た時点までの長さです。過去進行形ではなく had been + -ing を使います。

✗He had been ran for an hour.
✓He had been running for an hour.

had been の後ろは -ing 形です。had been + 過去分詞(had been closed)は受動態という別の形になります。

✗They didn't been sleeping well.
✓They hadn't been sleeping well.

否定は had に not をつけて hadn't been + -ing です。did はこの時制では使いません。

✗How long you had been living there?
✓How long had you been living there?

疑問文では had が主語の前に出ます。日本語のように語順をそのままにしないよう注意しましょう。

✗They had been stranded for six hours ago.
✓They had been stranded for six hours.

「6時間前から」をそのまま訳すと ago がつきがちですが、ago は長さの for と組み合わせられません。for six hours だけで十分です。

日本語と比べてみよう

「バスが来たとき、1時間待っていた」のように、日本語ではふつうの「〜ていた」で長さを言えます

英語では、過去のある時点までの長さを言うとき、過去進行形や過去形ではなく had been + -ing を使います。“I had been waiting for an hour when the bus came.” had は「その時点より前から」、been + -ing は「続いていた」、for は「長さ」を表しています。

「1時間前から」「3時から」のような「〜から」

「〜から」は、長さなら for、始まった時点なら since です。「1時間前から待っていた」は “I had been waiting for an hour.” “since one hour ago” や “for an hour ago” は不自然です。「3時から」は “since three o'clock” です。

「どのくらいそこに住んでいたの?」のように、日本語の疑問文は語順が変わりません

英語では How long(「どのくらいの間」)のあとに had を主語の前に出します。“How long had you been living there?” “How long you had been living there?” は間違いです。時間の長さは How much time ではなく How long で聞くのが自然です。

💡 過去のある時点までの「〜ていた」の長さを言うときは had been + -ing。

💡 「〜から」は、長さなら for(for an hour)、始まった時点なら since(since Monday)。ago はつけません。

💡 長さや途中の様子が大事なら過去完了進行形、終わったことや結果が大事なら過去完了形。

実際の場面:遅刻の理由を説明する

"Sorry I'm late — when the bus finally came, I had been waiting for forty minutes!"

"That's awful. Had you been standing in the rain the whole time?"

"Yes, so by the time I got on, I was completely soaked."

"You should have taken a taxi."

練習

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

Choose the correct sentence.

練習問題 2 · 正しい答えを選びましょう

Which sentence emphasizes the DURATION of an action up to a past point?

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

Choose the correct sentence.

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

Choose the correct negative.

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

Choose the correct question.

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

Choose the correct sentence.

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

Which is formed correctly?

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

Choose the correct sentence.

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

Complete: 'She ___ (wait) for two hours when he finally arrived.' (past perfect continuous)

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

Complete: 'How long ___ (you/learn) English before you moved abroad?' (question)

練習問題 11 · グループに分けましょう

had been working
had worked
had been living
had lived
had been studying
had studied

0 / 6 分類済み

練習問題 12 · よくある間違い:「〜前から」を ago で訳す

Japanese: "バスがやっと来たとき、私は1時間前から待っていた。" Which English translation is correct?

クイックチャレンジ

5つのクイズで、学んだことを確認しましょう。

問題 1 / 5

スコア:0/0

Choose the correct sentence.

学んだこと

  • 過去完了進行形は had been + 動詞の -ing 形で作ります。
  • 過去のある時点までの動作の長さを強調します。
  • 過去の状況の原因を説明するのによく使います(he was tired because he had been running)。
  • 「1時間前から待っていた」= I had been waiting for an hour。長さは for、始まりは since で、ago はつけません。
  • 終わったことや結果が大事なとき、また know のような状態動詞では、過去完了形を使います。
このカテゴリーのレッスンをすべて見る