「When I arrived at the station, the train had already left.(駅に着いたとき、電車はすでに出発していた)」このような「過去の出来事よりさらに前に起きたこと」を表す英語の時制が「過去完了形」です。英語の文法の中でも少し複雑に感じられるかもしれませんが、基本的な考え方はシンプルです。
この記事では、過去完了形の意味や使い方を、わかりやすい例文とともに解説します。初心者の方でも理解しやすいように、ステップバイステップで説明していきますので、ぜひ最後までお読みください。
過去完了形とは?基本概念を理解しよう

過去完了形とは、「過去のある時点よりも前に起こった出来事」を表す時制です。別の言い方をすれば、「過去の過去」を表す表現と考えることができます。英語では「had + 過去分詞」の形で表します。
例えば、「I had finished my homework before my mother came home.(母が帰宅する前に、私は宿題を終えていた)」という文では、「母が帰宅した(過去)」という時点より前に「宿題を終えた(過去の過去)」ということを表しています。
過去完了形は主に以下のような場面で使われます。
- 過去のある時点より前に起きた出来事を表す
- 過去のある時点までに完了していた行為を表す
- 過去の時点での経験を表す
- 仮定法過去完了で、実際には起こらなかった過去の状況を表す
それぞれの用法について、これから詳しく見ていきましょう。
過去完了形の作り方:基本のステップ
過去完了形は比較的シンプルな形です。基本的な作り方を確認しましょう。
ステップ1:助動詞hadを使う
過去完了形では、すべての人称(I, you, he, she, it, we, they)に対して助動詞「had」を使います。
例文
- I had finished my homework.(私は宿題を終えていました)
- She had visited Tokyo before.(彼女は以前東京を訪れたことがありました)
- They had never seen snow.(彼らは雪を見たことがありませんでした)
ステップ2:動詞を過去分詞の形にする
過去完了形では、主となる動詞を過去分詞の形にします。過去分詞の形は規則変化する動詞と不規則変化する動詞があります。
規則変化する動詞:原形に「-ed」を付ける
- walk → walked
- play → played
- clean → cleaned
不規則変化する動詞:特有の形になる(覚える必要があります)
- go → gone
- see → seen
- do → done
- make → made
- come → come
例文
- The children had played in the park all afternoon.(子どもたちは午後ずっと公園で遊んでいました)
- He had written three letters by lunchtime.(彼は昼食時までに3通の手紙を書いていました)
ステップ3:否定文や疑問文を作る
否定文は「had not (hadn’t) + 過去分詞」の形になります。
例文
- I had not (hadn’t) seen that movie before last night.(昨夜までその映画を見たことがありませんでした)
- She had not (hadn’t) finished her work when I called.(私が電話したとき、彼女は仕事を終えていませんでした)
疑問文は「Had + 主語 + 過去分詞」の形になります。
例文
- Had you ever visited London before your trip last year?(去年の旅行の前にロンドンを訪れたことがありましたか?)
- Had they finished dinner when you arrived?(あなたが到着したとき、彼らは夕食を終えていましたか?)
過去完了形の基本的な作り方をマスターしたら、次はその具体的な使い方について見ていきましょう。
過去完了形の主な用法:場面別の使い方
過去完了形には主に4つの用法があります。それぞれの使い方を例文とともに詳しく見ていきましょう。
過去のある時点より前に起きた出来事
過去のある時点を基準にして、それよりも前に起きた出来事を表す場合に使います。
通常、「過去形」と「過去完了形」の2つの時制が組み合わされます。
例文
- When I arrived at the party, most of the guests had already left.
(パーティーに着いたとき、ほとんどのゲストはすでに帰っていました) - By the time we reached the station, the train had departed.
(駅に着いたときには、電車はすでに出発していました) - She had studied English before she moved to America.
(彼女はアメリカに引っ越す前に英語を勉強していました) - The movie had started when we entered the theater.
(私たちが映画館に入ったとき、映画はすでに始まっていました)
この用法では、過去のある時点(「私がパーティーに着いたとき」「駅に着いたとき」など)より前の出来事(「ゲストが帰った」「電車が出発した」など)を過去完了形で表します。
過去のある時点までに完了していた行為
過去のある時点までに完了していた行為や達成していた状態を表す場合に使います。
「by + 過去の時点」とよく一緒に使われます。
例文
- I had finished my homework by 8 o’clock last night.
(昨夜8時までに宿題を終えていました) - She had read three books by the end of summer vacation.
(夏休みの終わりまでに彼女は3冊の本を読んでいました) - They had built ten houses by the end of last year.
(彼らは去年の終わりまでに10軒の家を建てていました) - We had saved enough money by March to buy a new car.
(3月までに私たちは新しい車を買うのに十分なお金を貯めていました)
この用法では、「〜までに」という期限を表す表現とともに使われることが多いです。
過去の時点での経験
過去のある時点までの経験を表す場合にも使います。
現在完了形が「現在までの経験」を表すのに対し、過去完了形は「過去のある時点までの経験」を表します。
例文
- I had never seen snow before I visited Hokkaido.
(北海道を訪れる前に、私は雪を見たことがありませんでした) - She had already been to Paris twice before she turned 20.
(彼女は20歳になる前にすでに2回パリに行ったことがありました) - He had not eaten sushi until he visited Japan.
(彼は日本を訪れるまで寿司を食べたことがありませんでした) - Had you ever ridden a horse before that day?
(あの日の前に馬に乗ったことはありましたか?)
この用法では、「before」「until」「by the time」などの表現とともに使われることが多いです。
仮定法過去完了:実現しなかった過去の状況
仮定法過去完了は、過去の事実とは異なる仮定を表す場合に使います。
「If + 過去完了形, would have + 過去分詞」の形で使われることが多いです。
例文
- If I had studied harder, I would have passed the exam.
(もっと一生懸命勉強していたら、試験に合格していただろう) - She would have come to the party if you had invited her.
(彼女を招待していたら、パーティーに来ていただろう) - If it had not rained yesterday, we would have gone to the beach.
(昨日雨が降らなかったら、私たちは海に行っていただろう) - He would have helped you if you had asked him.
(彼に頼んでいたら、彼は手伝ってくれていただろう)
この用法は、実際には起こらなかった過去の出来事について、「もし〜だったら」という仮定を表します。
これらの4つの用法を理解することで、過去完了形をいつ使うべきかが明確になります。
次に、過去完了形と過去形の違いについて見ていきましょう。
過去完了形と過去形の違い:使い分けのポイント
過去完了形と過去形はどちらも過去の出来事を表しますが、重要な違いがあります。
両者の違いを理解することで、適切に使い分けられるようになりましょう。
時間的順序の表現:どちらが先に起きたか
過去形は単に「過去の出来事」を表しますが、過去完了形は「過去のある時点よりさらに前の出来事」を表します。
つまり、2つの過去の出来事があるとき、どちらが先に起きたかを明確にするために過去完了形が使われます。
例文(過去形のみ)
- I finished my homework. My father came home.(私は宿題を終えました。父が帰宅しました)
※どちらが先に起きたかは不明確
例文(過去完了形を使用)
- I had finished my homework when my father came home.(父が帰宅したとき、私は宿題を終えていました)
※「宿題を終えた」が先に起きたことが明確 - When my father came home, I had finished my homework.(父が帰宅したとき、私は宿題を終えていました)
※文の順番が変わっても、「宿題を終えた」が先に起きたことは変わらない
原因と結果の関係:何が原因だったのか
過去完了形を使うことで、過去の出来事の原因と結果の関係をより明確に表現できます。
例文
- She was tired because she had worked all night.(彼女は疲れていました。なぜなら彼女は一晩中働いていたからです)
※「一晩中働いた」が原因で「疲れていた」という結果になった - The ground was wet. It had rained.(地面は濡れていました。雨が降っていたのです)
※「雨が降った」が原因で「地面が濡れていた」という結果になった
過去の特定の時点での状態:その時点でどうだったか
過去完了形は、過去のある時点での状態がどうだったかを表すのにも使われます。
例文
- When I saw her again, she had changed a lot.(彼女に再会したとき、彼女はとても変わっていました)
※「再会したとき」という過去の時点で、すでに「変わっていた」という状態だった - By the time we arrived, the shop had closed.(私たちが到着したときには、店はすでに閉まっていました)
※「到着したとき」という過去の時点で、すでに「閉まっていた」という状態だった
過去完了形と過去形の違いをしっかり理解することで、英語での時制の使い分けがより正確になります。
次に、過去完了形と現在完了形の違いについて見ていきましょう。
過去完了形と現在完了形の違い:基準点はどこか
過去完了形と現在完了形は、似ているようで大きな違いがあります。
両者の違いを理解するために、基準点の概念が重要です。
基準点の違い:現在vs過去
- 現在完了形(have/has + 過去分詞):基準点は「現在」
- 過去完了形(had + 過去分詞):基準点は「過去のある時点」
例文(現在完了形)
- I have lived in Tokyo for five years.(私は5年間東京に住んでいます)
※基準点は「現在」で、過去から現在までの期間を表す
例文(過去完了形)
- When I moved to Osaka, I had lived in Tokyo for five years.(大阪に引っ越したとき、私は5年間東京に住んでいました)
※基準点は過去の「大阪に引っ越したとき」で、それより前の期間を表す
時制の対応関係:現在→過去、現在完了→過去完了
現在時制と過去時制の対応関係と同様に、現在完了形と過去完了形にも対応関係があります。
- 現在形 → 過去形
“I live in Tokyo.” → “I lived in Tokyo.” - 現在完了形 → 過去完了形
“I have finished my homework.” → “I had finished my homework.”
特に間接話法(reported speech)では、現在完了形が過去完了形に変わることがあります。
例文
- 直接話法:She said, “I have finished my work.”(彼女は「仕事を終えました」と言いました)
- 間接話法:She said (that) she had finished her work.(彼女は仕事を終えたと言いました)
用法の比較:経験・完了・継続
現在完了形と過去完了形はどちらも「経験」「完了」「継続」などの用法がありますが、基準点が異なります。
例文(経験)
- 現在完了形:I have been to Paris twice.(私はパリに2回行ったことがあります)
※現在までの経験 - 過去完了形:By the age of 20, I had been to Paris twice.(20歳までに、私はパリに2回行ったことがありました)
※過去のある時点(20歳の時)までの経験
例文(完了)
- 現在完了形:I have just finished my homework.(私はちょうど宿題を終えたところです)
※現在に関連する完了 - 過去完了形:I had just finished my homework when my friend called.(友達が電話してきたとき、私はちょうど宿題を終えたところでした)
※過去のある時点(友達が電話してきたとき)に関連する完了
例文(継続)
- 現在完了形:She has lived here for ten years.(彼女は10年間ここに住んでいます)
※過去から現在まで継続している状態 - 過去完了形:She had lived there for ten years before she moved.(彼女は引っ越す前に10年間そこに住んでいました)
※過去のある時点(引っ越したとき)まで継続していた状態
過去完了形と現在完了形の違いを理解することで、時間の流れをより正確に英語で表現できるようになります。
次に、過去完了形でよく使われる表現や副詞について見ていきましょう。
過去完了形でよく使われる表現:時間の関係を示す単語
過去完了形をより明確に使うために、時間の関係を示す特定の表現がよく使われます。
これらの表現を知ることで、より自然な英語表現ができるようになります。
「〜の前に」:before, by the time
過去のある時点より前の出来事を強調する表現です。
例文
- He had left before I arrived.
(私が到着する前に、彼は出発していました) - By the time we reached the station, the train had already departed.
(駅に着いたときには、電車はすでに出発していました) - She had finished all her work before noon.
(彼女は正午前にすべての仕事を終えていました) - He had already gone to bed by the time I got home.
(私が帰宅したときには、彼はすでに寝ていました)
「〜のとき」:when, as soon as
過去のある時点と、それより前に起きていた出来事の関係を示す表現です。
例文
- When I opened the window, the bird had flown away.
(窓を開けたとき、鳥はすでに飛び去っていました) - As soon as I arrived, I realized that I had forgotten my key.
(到着するとすぐに、鍵を忘れたことに気づきました) - The teacher found that someone had stolen the test papers.
(先生はテスト用紙が誰かに盗まれていたことに気づきました) - I knew that she had been there when I saw her coat.
(彼女のコートを見たとき、彼女がそこにいたことがわかりました)
「〜までに」:by + 過去の時点
過去のある時点までに完了していた行為を強調する表現です。
例文
- I had read five books by the end of summer.(夏の終わりまでに、私は5冊の本を読んでいました)
- She had learned three languages by the age of 15.(15歳までに、彼女は3つの言語を学んでいました)
- They had saved $1000 by December.(12月までに、彼らは1000ドル貯めていました)
- We had visited ten countries by last year.(去年までに、私たちは10か国を訪れていました)
「〜の後で」:after
あるイベントの後に起きた出来事を表す場合、先に起きたイベントは過去完了形で表されることがあります。
例文
- After I had finished my homework, I watched TV.
(宿題を終えた後、私はテレビを見ました) - She went home after she had completed the test.
(テストを完了した後、彼女は家に帰りました) - After they had discussed the problem, they found a solution.
(問題について話し合った後、彼らは解決策を見つけました) - He took a rest after he had worked for five hours.
(5時間働いた後、彼は休憩を取りました)
否定表現と過去完了形
否定の過去完了形は「had not (hadn’t) + 過去分詞」の形で表されます。
例文
- I hadn’t seen that movie before yesterday.
(昨日までその映画を見たことがありませんでした) - She hadn’t finished her work when her boss called.
(上司が電話したとき、彼女は仕事を終えていませんでした) - They hadn’t heard the news until I told them.
(私が彼らに伝えるまで、彼らはそのニュースを聞いていませんでした) - He hadn’t visited Tokyo before his trip last year.
(去年の旅行の前に、彼は東京を訪れたことがありませんでした)
これらの表現を適切に使うことで、過去完了形の意味をより明確に伝えることができます。
次に、過去完了進行形について簡単に触れておきましょう。
過去完了進行形:継続していた行為を強調する
過去完了進行形は、過去のある時点までずっと継続していた行為や状態を強調するための時制です。基本的な形は「had been + 動詞ing」です。
通常の過去完了形が結果や完了状態に焦点を当てるのに対し、過去完了進行形は「継続していた行為や過程」に焦点を当てます。
過去完了形と過去完了進行形の違い
過去完了形と過去完了進行形の主な違いを例文で確認しましょう。
例文(過去完了形)
- When I saw her, she had painted three pictures.(彼女に会ったとき、彼女は3枚の絵を描いていました)
※完了した行為の結果に焦点
例文(過去完了進行形)
- When I saw her, she had been painting for three hours.(彼女に会ったとき、彼女は3時間絵を描き続けていました)
※継続していた行為自体に焦点
過去完了進行形は、過去のある時点より前から継続していた行為を表し、特にその行為の継続性や途中経過を強調する場合に使います。
例文
- I had been waiting for an hour when he finally arrived.(彼がようやく到着したとき、私は1時間待ち続けていました)
- She was tired because she had been studying all night.(彼女は疲れていました。なぜなら彼女は一晩中勉強し続けていたからです)
- They had been living in that house for ten years before they moved.(彼らは引っ越す前に10年間その家に住み続けていました)
- He looked exhausted. He had been working since early morning.(彼は疲れた様子でした。朝早くから働き続けていたのです)
使えない動詞に注意
状態動詞(know, believe, like, love, hate, want, need など)は通常、進行形にはしません。これらの動詞を使うときは、過去完了形を使います。
例文
- I had known him for five years when he moved away.(彼が引っ越したとき、私は彼を5年間知っていました)
※I had been knowing him… とはしない - She had wanted a new bike for a long time before her birthday.(誕生日の前に、彼女は長い間新しい自転車がほしいと思っていました)
※She had been wanting… とはしない
過去完了進行形は、過去の継続的な行為をより生き生きと表現したい場合に使われる便利な時制です。
しかし、初学者は基本的な過去完了形をしっかりマスターしてから取り組むとよいでしょう。
英語の過去完了形に関する練習問題20選
過去完了形をマスターするために、以下の問題を解いてみましょう。様々なタイプの問題を用意しました。
- 次の文の空欄に適切な形の動詞を入れなさい
When I arrived at the station, the train _____ already _____ (leave). - 次の2つの文を過去完了形を使って1つの文にしなさい
I finished my homework. Then I watched TV. - 次の文の空欄に適切な形の動詞を入れなさい
She _____ (study) English for six years before she went to America. - 次の文を否定文に書き換えなさい
He had seen that movie before. - 次の文を疑問文に書き換えなさい
They had finished dinner when you called. - 次の文の誤りを訂正しなさい
When I arrived, she already left. - 次の文の空欄に適切な表現(before または after)を入れなさい
He had cleaned his room _____ his mother came home. - 次の仮定法の文の空欄に適切な形の動詞を入れなさい
If she _____ (arrive) earlier, she would have seen him. - 次の文を間接話法に書き換えなさい
He said, “I have lost my keys.” - 次の文の空欄に適切な形の動詞を入れなさい(過去完了進行形)
When it started to rain, we _____ (walk) for two hours. - 次の2つの文を過去完了形を使って1つの文にしなさい
The movie started at 7:00. We arrived at the theater at 7:15. - 次の文の空欄に適切な形の動詞を入れなさい
By the time he was 30, he _____ (write) three novels. - 次の文の空欄に過去形と過去完了形の適切な形の動詞を入れなさい
After she _____ (finish) her work, she _____ (go) home. - 次の文を現在完了形から過去完了形に書き換えなさい
I have never been to Paris. - 次の文を過去完了進行形に書き換えなさい
She was tired because she studied all night. - 次の日本語を英語にしなさい(過去完了形を使って)
「彼が到着したとき、すでに会議は終わっていました」 - 次の文の空欄に適切な形の動詞を入れなさい
She told me that she _____ (meet) my brother before. - 次の過去完了形の文を過去形の2つの文に書き換えなさい
I had eaten lunch before she called. - 次の文の空欄に適切な形の動詞を入れなさい
We were late for the concert because we _____ (miss) the bus. - 次の文を英語に訳しなさい(過去完了形を使って)
「私はその本を読み終えていたので、友達に貸すことができました」
過去完了形に関するよくある質問
過去完了形に関して、学習者からよく寄せられる質問とその回答をまとめました。
- 過去完了形と過去形、どちらを使うべきですか?
-
過去のある時点より前に起きた出来事を表現したい場合は過去完了形を使います。単に過去の出来事を時系列順に並べるだけなら、すべて過去形でもかまいません。ただし、過去完了形を使うことで、どの出来事が先に起きたかを明確にできます。
- Simple past only: I finished my homework. Then I watched TV.(宿題を終えました。それからテレビを見ました)
- With past perfect: After I had finished my homework, I watched TV.(宿題を終えた後、テレビを見ました)
どちらも正しいですが、過去完了形を使うと時間関係がより明確になります。
- 「before」や「after」を使うとき、必ず過去完了形を使う必要がありますか?
-
必ずしも必要ではありません。文脈から時間関係が明らかな場合は、すべて過去形でも理解できます。ただし、過去完了形を使うとより明確になります。
- I ate dinner after I finished my homework.(宿題を終えた後、夕食を食べました)
- I ate dinner after I had finished my homework.(宿題を終えた後、夕食を食べました)
どちらも正しいですが、後者の方が時間関係がより明確です。
- 間接話法で過去完了形はどのように使われますか?
-
間接話法では、直接話法の現在完了形が過去完了形になることがあります。
- 直接話法: She said, “I have finished my work.”(彼女は「仕事を終えました」と言いました)
- 間接話法: She said (that) she had finished her work.(彼女は仕事を終えたと言いました)
- 仮定法では過去完了形はどのように使われますか?
-
仮定法過去完了は、過去の事実とは異なる仮定を表す場合に使います。「If + 過去完了形, would have + 過去分詞」の形で使われます。
- If I had studied harder, I would have passed the exam.(もっと一生懸命勉強していたら、試験に合格していただろう)
- 過去完了形と過去完了進行形の違いは何ですか?
-
過去完了形(had + 過去分詞)は過去のある時点までに完了していた行為や状態を表します。一方、過去完了進行形(had been + 動詞ing)は過去のある時点まで継続していた行為を表します。
- 過去完了形: He had written three letters by noon.(正午までに彼は3通の手紙を書いていました)
- 過去完了進行形: He had been writing letters all morning.(彼は午前中ずっと手紙を書き続けていました)
- 日常会話でも過去完了形はよく使われますか?
-
はい、過去の出来事について話すとき、特に時間関係を明確にしたい場合によく使われます。ただし、文脈から時間関係が明らかな場合は、すべて過去形で表現することも多いです。過去完了形を使うと、より正確でフォーマルな印象になります。
まとめ

過去完了形は、「過去のある時点よりも前に起こった出来事」を表す英語の時制です。
「had + 過去分詞」の形で表され、主に以下の4つの用法があります。
- 過去のある時点より前に起きた出来事を表す
- When I arrived at the party, most of the guests had already left.(パーティーに着いたとき、ほとんどのゲストはすでに帰っていました)
- 過去のある時点までに完了していた行為を表す
- I had finished my homework by 8 o’clock last night.(昨夜8時までに宿題を終えていました)
- 過去の時点での経験を表す
- I had never seen snow before I visited Hokkaido.(北海道を訪れる前に、私は雪を見たことがありませんでした)
- 仮定法過去完了で、実際には起こらなかった過去の状況を表す
- If I had studied harder, I would have passed the exam.(もっと一生懸命勉強していたら、試験に合格していただろう)
過去完了形と過去形の主な違いは、時間的順序です。過去完了形を使うことで、どの出来事が先に起きたかを明確にできます。
過去完了形と現在完了形の主な違いは、基準点です。現在完了形の基準点は「現在」ですが、過去完了形の基準点は「過去のある時点」です。
過去完了形では、時間の関係を示す表現(before, by the time, when, after など)がよく使われます。これらの表現を適切に使うことで、過去の出来事の時間関係をより明確に表現できます。
また、過去完了進行形(had been + 動詞ing)は、過去のある時点まで継続していた行為を強調する時制です。通常の過去完了形が結果や完了状態に焦点を当てるのに対し、過去完了進行形は継続していた行為や過程に焦点を当てます。
英語の文法の中でも少し複雑に感じられる過去完了形ですが、基本的な考え方はシンプルです。「過去の過去」という概念を理解し、適切な場面で使うことができれば、より正確で豊かな英語表現ができるようになります。
この記事で解説した内容と練習問題を通して、過去完了形の理解を深め、日常会話やライティングで積極的に使ってみましょう。英語の時制の使い分けをマスターすることで、より自然な英語表現が可能になります。