モチタン辞典 › 読みもの › 英文法 › 過去完了進行形と過去進行形

過去完了進行形と過去進行形の違いと使い分け

過去完了進行形と過去進行形の違いと使い分け

過去進行形(was / were + -ing)は過去のある一時点で進行中だった動作(スナップショット)を表し、過去完了進行形(had been + -ing)は過去の基準時点まで一定期間ずっと続いていた動作のプロセス(時間の線)を表します。

日本語ではどちらも「〜していた」と訳せることが多いため混同されがちですが、意識が「その瞬間の動作」にあるのか、「その時点に至るまでの継続や蓄積」にあるのかという視点の置き場所が決定的に異なります。

過去完了進行形と過去進行形の3秒判別チャート

文脈や問題文を見たときに、過去進行形と過去完了進行形のどちらを選ぶべきかは、着目している時間の幅と文脈の目的を整理することで素早く判断できます。判断に迷ったときは、次の判別基準を確認してください。

使い分けの判定手順

  1. 基準となる過去の一瞬を切り取っているか:「彼が来たとき、私はテレビを見ていた」のように、過去の特定の瞬間にその動作の最中だったなら、過去進行形(was / were + -ing)を用います。
  2. 過去の時点までの期間やプロセスを述べているか:「彼が来るまで、私は2時間ずっと本を読んでいた」のように、過去の基準時より前からその時まで動作が続いていた時間の幅があるなら、過去完了進行形(had been + -ing)を用います。
  3. その行為による結果・疲労・痕跡を説明しているか:「手が汚れていた(直前まで車を修理していたから)」のように、過去の時点における状態の理由や背景を説明しているなら、過去完了進行形が適切です。
  4. 状態動詞や回数表現が含まれていないか:動作ではなく状態を表す動詞(know、liveなど)や、回数を表す語(three timesなど)がある場合は進行形にできず、過去完了形(had + 過去分詞)を選びます。
項目過去進行形(was / were + -ing)過去完了進行形(had been + -ing)
焦点の当て方過去の特定の一時点(点・スナップショット)過去の基準時点までの継続プロセス(線・蓄積)
日本語訳の基本(その時)〜していた、〜している最中だった(それまで)ずっと〜していた、〜し続けていた
意識される時間その瞬間のみ過去の基準時より「前」から「その時」まで
よく使われる文脈背景描写、割り込み動作の発生時点疲労や状態の理由説明、期間の長さの強調
典型的な共起表現when(〜したとき)、at that timefor + 期間、since + 起点、before、until

基本構造と時間軸のイメージ図解

2つの時制の本質的な違いを理解するには、時間軸(タイムライン)上で話者がどこにカメラを向けているかを把握することが有効です。

過去進行形の構造とメンタルモデル

過去進行形の基本形は was / were + 動詞のing形 です。過去のある特定の時点にカメラのシャッターを切ったような「スナップショット」のイメージを持ちます。

時間軸で見ると、動作は過去のある瞬間の前後にまたがって行われていますが、話者の関心はあくまで「その瞬間に動作が進行中だったこと」の一点にあります。動作がいつ始まっていつ終わったのか、どれくらいの時間続いていたのかという期間の長さには関心がありません。

例文:I was sleeping when the phone rang.(電話が鳴ったとき、私は眠っていた。)
電話が鳴ったという過去の一瞬において、「眠っている最中だった」という事実だけを切り取って伝えています。

過去完了進行形の構造とメンタルモデル

過去完了進行形の基本形は had been + 動詞のing形 です。過去の基準時点よりもさらに前の時点(大過去)から、その基準時点まで途切れずに動作が続いていたという「時間の帯(プロセス)」を映し出すイメージです。

話者の視線は過去の基準時点に立ちながら、それ以前から積み重なってきた動作の持続時間に向けられています。そのため、「どれくらい長く続いていたのか」や「その継続がどのような影響を残したのか」を伝える役割を果たします。

例文:I had been sleeping for ten hours when the phone rang.(電話が鳴ったとき、私は10時間ずっと眠り続けていた。)
電話が鳴ったという基準時点に向かって、それ以前の10時間という継続プロセスの幅が明確に示されています。

タイムラインによる比較

表は横にスクロールできます →

時制過去より前(大過去)過去の基準時点現在
過去進行形—[ 動作が進行中 ](瞬間)(視点は過去)
過去完了進行形==== 動作が継続 ====>[ 基準時点に到達 ](視点は過去)

次の疑問時間軸の捉え方に加えて基礎から例文を確認したいなら、過去完了進行形の基本と使い方も役立ちます。

同じ場面で比較する対比例文5選

同じ動詞や場面を用いて時制だけを変えると、聞き手に伝わる状況や情景が大きく変化します。日常会話やビジネスで頻出する5つの場面で対比してみましょう。

1. 天候・雨の場面

It was raining when I left the office.
(私がオフィスを出たとき、雨が降っていた。)
オフィスを出た瞬間に空から雨が降っている最中であり、傘を差す必要がある状況です。

It had been raining until I left the office.
(私がオフィスを出るまで、ずっと雨が降っていた。)
オフィスを出る直前まで雨が降り続いていたことを表します。外に出た瞬間には雨がやんで地面が濡れている情景が浮かびます。

2. 待ち合わせの場面

When Ken arrived, Lisa was waiting for him at the cafe.
(ケンが到着したとき、リサはカフェで彼を待っているところだった。)
ケンがカフェに入った瞬間に、リサが席で待っている姿が見えたというスナップショットです。

When Ken arrived, Lisa had been waiting for him for an hour.
(ケンが到着したとき、リサは彼を1時間も待ち続けていた。)
リサが1時間という長い時間待たされていたという「期間の長さ」と、それによるイライラや疲労感が強調されます。

3. 作業や仕事の場面

I was working on the proposal at 9 p.m. yesterday.
(昨夜9時の時点で、私は企画書を作成している最中だった。)
昨夜9時という特定の時間に企画書作成の作業をしていたことを報告しています。

I had been working on the proposal all night before the meeting started.
(会議が始まる前、私は一晩中企画書を作り続けていた。

)
会議が始まるという過去の基準時点に至るまで、徹夜で作業を続けていたという過酷なプロセスを表現しています。

4. スポーツや運動の場面

He was playing tennis when I saw him in the park.
(公園で彼を見かけたとき、彼はテニスをしていた。)
見かけた瞬間にコート上でラリーをしている姿を目撃したという意味になります。

He was out of breath because he had been playing tennis.
(彼はテニスをしていたため、息が切れていた。)
息が切れているという過去の状態の原因として、直前まで激しい運動を続けていた行為が示されています。

5. 道路や移動の場面

We were driving through the mountains when the snow started.
(雪が降り始めたとき、私たちは山道を運転していた。)
雪が降り始めた瞬間に、山道をドライブしている最中だったという状況描写です。

We had been driving for six hours before we finally reached the hotel.
(ようやくホテルに到着する前に、私たちは6時間も運転し続けていた。

)
ホテル到着という過去の到達点まで、6時間におよぶ長距離運転が続いていた疲労感や行程の長さを伝えています。

過去進行形を使った様々な表現を確認したいときは、過去進行形の使い方の例文集を参考にしてください。

過去完了進行形が持つ特有のニュアンス

ネイティブスピーカーが単なる過去進行形ではなく、わざわざ過去完了進行形を選択する背景には、特定の意図や感情の伝達があります。主なニュアンスは次の3点です。

1. 直前までの行為による「結果・痕跡・疲労」の理由説明

過去のある時点で目に見える痕跡(服が濡れている、手が汚れている、顔が赤いなど)や身体的状態(疲れている、眠いなど)が生じていたとき、その直接の原因となった直前までの動作を説明するために使われます。

Her eyes were red because she had been crying.
(彼女の目が赤かったのは、泣いていたからだった。

)
目が赤かった時点でまだ泣いていたかどうかは問題ではなく、直前まで泣き続けていたという行為が「目が赤い」という結果をもたらしたことを示しています。

ここで was crying を使うと、「その瞬間に泣いていた」という動作の描写になり、目が赤いことの理由付けとしてのニュアンスが弱まります。

2. 「どれほど大変だったか」「どれほど長く待ったか」という感情の強調

期間を表す表現(for hours、all dayなど)とともに用いることで、話し手の我慢、苛立ち、達成感などの感情を色濃く反映させることができます。

I had been looking for my glasses for thirty minutes before I found them on my head.
(メガネが自分の頭の上にあるのに気づく前、私は30分間も探し回っていた。

)
30分間無駄に探し続けたというフラストレーションや徒労感が強調されます。

3. 中断された動作の文脈提示

過去の基準時点で何らかの突発的な出来事によって動作が遮られたり中断したりした際、それまで順調に続いていたプロセスを示す役割を果たします。

They had been discussing the contract peacefully until the new demand was made.
(新たな要求が出されるまで、彼らは契約について平穏に議論を続けていた。

)
過去の基準点(新たな要求)を境に、それまで継続していた対話の流れが断ち切られたことが鮮明になります。

過去完了進行形の3つのニュアンス
👀結果・痕跡の理由

直前までの行為による疲労や状態の原因を説明する

😤感情の強調

期間の長さを示し苛立ちや達成感などの感情を強調する

⏸️中断された動作

突発的な出来事で遮られるまで続いていた流れを示す

過去完了進行形が使われる主な3つの文脈と感情のニュアンスです。

過去完了進行形と過去進行形のイメージ

過去完了形と過去完了進行形の決定的な違い

過去完了進行形(had been + -ing)と過去完了形(had + 過去分詞)の違いについても整理しておく必要があります。どちらも「大過去から過去の基準時点まで」を視野に入れますが、焦点の当て方が異なります。

完了・結果に焦点がある過去完了形

過去完了形は、過去の基準時点までに「動作がすでに終わっていたこと(完了)」や「その結果として生じた状態(結果)」に重きを置きます。

When I arrived home, my brother had painted the fence.
(私が帰宅したとき、兄はフェンスのペンキ塗りを終えていた。)
帰宅した時点でペンキ塗りの作業はすでに完了しており、綺麗に塗られたフェンスが存在しているという「結果」に焦点があります。

動作の継続・プロセスに焦点がある過去完了進行形

過去完了進行形は、過去の基準時点まで「その行為に没頭し続けていたプロセス」そのものに重きを置きます。作業が完全に終わったかどうかは必ずしも重要ではありません。

When I arrived home, my brother had been painting the fence.
(私が帰宅したとき、兄はずっとフェンスのペンキ塗りをしていた。

)
帰宅した直前まで兄がペンキ塗りをしていたため、服にペンキがついていたり、息が上がっていたりする様子が伝わります。フェンス全体が塗り終わったかどうかは述べていません。

表は横にスクロールできます →

時制基本構造話者の関心の中心完了したかどうかの扱い
過去進行形was / were + -ing過去の一時点での動作の進行未完了(動作の最中)
過去完了形had + 過去分詞過去の基準時点での完了・結果・経験完了している(行為は終了)
過去完了進行形had been + -ing過去の基準時点までの継続プロセス直前まで継続(完了は不問)

進行形にできない2つの重要文法ルール

「過去の基準時までずっと続いていた」という状況であっても、文法規則上、進行形(-ing)にすることが禁止されているパターンがあります。TOEICや大学入試の文法問題でも狙われやすいポイントです。

1. 状態動詞は進行形にできない

動作ではなく「状態」を表す動詞は、原則として進行形にできません。したがって、過去のある時点までずっと続いていた状態を表す場合でも、過去完了進行形ではなく過去完了形(had + 過去分詞)を用います。

進行形にできない代表的な状態動詞:

誤り:I had been knowing him for five years when we started the project.
正しい:I had known him for five years when we started the project.
(私たちがプロジェクトを立ち上げたとき、私は彼と5年来の知り合いだった。

)
know は状態動詞であるため、期間(for five years)があっても had known とします。

※なお、live(住む)や work(働く)は動作動詞と状態動詞の中間的な性質を持ち、長期的な定住には過去完了形、一時的な滞在・勤務の継続には過去完了進行形が好まれる傾向がありますが、どちらを用いても文法的に誤りではありません。

2. 完了した「回数」を表す表現がある場合

twice(2回)、three times(3回)、many times(何度も)のように、動作が行われた回数をカウントする表現がある場合は、過去完了進行形を使うことができません。

回数を数えるということは「1回1回の行為が完了したこと」を前提とするため、未完了の継続プロセスを表す進行形とは意味が矛盾するからです。

誤り:I had been visiting Paris three times before I moved there.
正しい:I had visited Paris three times before I moved there.
(パリへ移住する前、私はそこを3回訪れたことがあった。

)
回数表現が伴う場合は、必ず過去完了形(経験用法)を選択します。

進行形にできない状態動詞の分類
主な状態動詞

心理・感情・知覚

  • know
  • like
  • love
  • believe
  • understand

所有・関係

  • have
  • belong to
  • own

状態・存在

  • resemble
  • exist

継続の意味でも過去完了進行形にできず過去完了形を使う状態動詞の分類です。

状態を表す動詞の具体的な用例については、進行形にしない動詞の例文集で確認できます。

文脈で見分けるキーワードと時間表現

英文を読んだり問題を解いたりする際、共起する時間表現や接続詞に注目することで、過去進行形と過去完了進行形を的確に見分けることができます。

過去完了進行形を選びやすいキーワード

「過去の基準時点までの期間」を明示する語句がある場合、過去完了進行形が極めて有力になります。

過去進行形を選びやすいキーワード

「過去のピンポイントの瞬間」を特定する表現がある場合、過去進行形が優先されます。

時制を見分けるキーワード比較

過去完了進行形

  • for + 期間(〜の間ずっと)
  • since + 過去の起点
  • all + 時間(all dayなど)
  • before / until + 過去の時点

過去進行形

  • when + 過去の一瞬の動作
  • at that moment / time
  • at 8:00 yesterday
  • while + 過去進行形

文脈や共起する時間表現から2つの時制を見分けるポイントです。

理解度チェック練習問題と解説

学んだ知識が定着しているか、演習問題で確認してみましょう。文脈、動詞の性質、時間表現に注目して解いてください。

第1問(選択問題)

空所に入る最も適切なものを1つ選んでください。
When I looked out of the window at 7 a.m., it (  ) heavily.
(A) had been snowing
(B) was snowing
(C) has snowed
(D) snows

正解:(B) was snowing
解説:「朝7時に窓の外を見たとき」という過去の特定の瞬間(at 7 a.m.)に、雪が降っている最中だったというスナップショットを描写しています。期間を表す表現はないため、過去進行形が自然です。訳:「朝7時に窓の外を見たとき、雪が激しく降っていた。」

第2問(空所補充問題)

文脈に合うように、( )内の動詞を適切な時制に変化させてください。
We were completely exhausted because we ( walk ) for six hours in the mountains.

正解:had been walking
解説:「完全に疲れ切っていた(were exhausted)」という過去の状態の原因・理由を説明しています。

さらに「6時間(for six hours)」という継続の期間が明示されているため、疲労の原因となった長時間のプロセスを表す過去完了進行形が適切です。

訳:「山の中を6時間歩き続けていたため、私たちは完全に疲れ切っていた。」

第3問(選択問題)

空所に入る最も適切なものを1つ選んでください。
She (  ) him for ten years before they finally got married last year.
(A) had been knowing
(B) was knowing
(C) had known
(D) knew

正解:(C) had known
解説:「結婚する前に10年間」という期間があるため継続の意味ですが、動詞 know は状態動詞であるため進行形(-ing)にできません。

したがって、過去完了進行形ではなく過去完了形(had known)を用います。(A)は文法的な誤りです。訳:「昨年ついに結婚する前、彼女は彼のことを10年間知っていた。」

第4問(空所補充問題)

文脈に合うように、( )内の動詞を適切な時制に変化させてください。
Before the teacher entered the classroom, the students ( shout ) at each other for ten minutes.

正解:had been shouting
解説:「先生が教室に入る前(before the teacher entered)」という過去の基準時点まで、「10分間(for ten minutes)」にわたって叫び合いが続いていたことを示しています。

基準時までの継続動作であるため、過去完了進行形になります。訳:「先生が教室に入る前、生徒たちは10分間お互いに大声で叫び合っていた。」

日本人が間違えやすい典型的なNGパターン

英文を作成する際や問題を解く際に、日本人が陥りやすい代表的な間違いが2つあります。

NGパターン1:期間があるのに過去進行形を使ってしまう

× I was studying English for three hours when Tom came.
○ I had been studying English for three hours when Tom came.
(トムが来たとき、私は3時間ずっと英語を勉強していた。)

for three hours という期間の幅が存在する場合、過去の一瞬を切り取る過去進行形では時間の長さを支えきれません。過去の基準点までの継続を表す過去完了進行形が必要です。

NGパターン2:一回限りの行為に完了進行形を使ってしまう

× She had been losing her key when she reached home.
○ She had lost her key when she reached home.
(家に帰り着いたとき、彼女は鍵を失くしてしまっていた。)

「鍵を失くす(lose)」は一瞬で成立する動作であり、何時間も失くし続けることはできません。「結果として失くした状態だった」ことを表すため、過去完了形が適切です。

感情や努力のプロセスを伝える表現力

過去完了進行形は、単に動作の長さを述べるだけでなく、「話し手の苛立ちや努力」といった感情を込めて伝える際にも威力を発揮します。

会話で「待たされた怒り」を伝える例

過去進行形と過去完了進行形では、会話におけるニュアンスが明確に分かれます。

A: What were you doing at 3 p.m. yesterday?(昨日の午後3時、何をしてたの?)
B: I was waiting for Sarah in front of the station.(駅の前でサラを待っていたよ。)

特定の瞬間に何をしていたかを聞かれた場合は過去進行形で答えます。一方、感情をぶつける場面では過去完了進行形が使われます。

A: Why were you so upset when I met you yesterday?(昨日会ったとき、なんであんなに怒ってたの?)
B: Because I had been waiting for you for forty minutes!(40分もずっと待たされていたからだよ!)

会った時点より前の「40分間」という時間の長さを持ち出し、怒りの根拠として機能させています。

努力のプロセスを強調する

She had been preparing for the presentation for months, so her disappointment was immense.
(彼女は何ヶ月もそのプレゼンの準備を続けていたため、落胆は計り知れなかった。)

数ヶ月に及ぶ努力のプロセスを過去完了進行形で示すことで、結果に対する落胆や感情の重みが読み手に強く伝わります。

続けて読む

英文法の疑問をすべて見る「過去完了進行形」のまとめ

理解度チェック

Q1. 過去進行形と過去完了進行形の違いとして正しいものは?

  1. 過去進行形は動作の期間の長さを強調する
  2. 過去完了進行形は過去の一瞬の動作を表す
  3. 過去完了進行形は基準時までの継続を表す
  4. 過去進行形は直前の行為による結果を説明する
答えを見る

正解: C. 過去完了進行形は基準時までの継続を表す
過去完了進行形は過去の基準時点までの継続プロセスを表し、過去進行形は特定の一瞬を切り取ります。

Q2. 過去の基準時までの継続でも進行形にできない場合は?

  1. for などの期間表現がある場合
  2. 状態動詞や回数を表す表現がある場合
  3. until などの接続詞がある場合
  4. 過去の理由や背景を説明する場合
答えを見る

正解: B. 状態動詞や回数を表す表現がある場合
knowなどの状態動詞や回数を表す表現がある場合は、進行形にできず過去完了形を用います。

Q3. 「彼が到着した時、彼女は1時間待ち続けていた」の英文は?

  1. Lisa was waiting for him for an hour.
  2. Lisa had been waiting for him for an hour.
  3. Lisa had waited for him at that moment.
  4. Lisa was waited for him until he arrived.
答えを見る

正解: B. Lisa had been waiting for him for an hour.
過去の基準時点までの「1時間」という継続プロセスを表すため、had been waitingが適切です。

Nathan英語の文法は、話して身につけよう。会話アプリ「モチスピ」英語を話して練習できる会話アプリ。話すたびに、発音・文法・自然さをその場で直してもらえます。無料で試す

よくある質問

Q. 過去進行形と過去完了進行形の見分け方は?
過去の特定の「一瞬」に動作の最中だったなら過去進行形、過去の基準時点まで「一定期間ずっと」続いていたプロセスや疲労の原因を述べるなら過去完了進行形を選びます。
Q. どちらも「〜していた」と訳せる時の判別は?
日本語訳に頼らず、文脈に「for 2 hours」などの期間表現があるか、あるいは直前までの行為の結果(疲れている等)を理由説明しているかを確認して判別します。
Q. 過去完了形と過去完了進行形の違いは何ですか?
過去完了形(had + 過去分詞)は基準時までに動作が「完了したことやその結果」に焦点を当て、過去完了進行形は基準時まで「続いていた行為のプロセス自体」に焦点を当てます。
Q. liveやworkはどちらの完了形を使いますか?
長期的な永住や正規勤務には過去完了形、一時的な滞在や短期プロジェクトの継続には過去完了進行形が好まれますが、どちらを使っても文法的に正しいとみなされます。
Q. 回数表現があるときに進行形にできない理由は?
「3回訪れた」のように回数を数える表現は、各動作が1回ずつ完了した事実を前提とするため、未完了の動作プロセスを強調する進行形とは意味が矛盾するからです。
Q. 過去完了進行形は日常会話でも使われますか?
はい、頻繁に使われます。特に「待たされた時間の長さを訴えるとき」や「なぜ疲れているのか・なぜ服が汚れているのかの理由を説明するとき」に日常会話でごく自然に登場します。
Q. 現在完了進行形との違いは何ですか?
現在完了進行形(have been -ing)は「過去から現在まで」続いて今も影響がある動作を表します。過去完了進行形は「過去のある基準点まで」続いていた動作で、視点は過去にとどまります。

2026年10月8日更新・モチタン辞典編集部