🧐 はじめに:過去完了形を「実践的なスキル」へ
第1回で、過去完了形の基本構造「had + 過去分詞」と、「過去の基準点よりも前の過去」を示す時間軸の概念をしっかりと理解しました。これで、過去完了形の土台は完成です。
しかし、ここからが中上級者への本当のステップです。過去完了形は、単に過去の出来事を並べるだけでなく、表現力豊かな「生きた英語」のために欠かせない、3つの重要な場面で活躍します。
- ストーリーテリング: 複数の過去の出来事の時系列を正確に伝えるとき。
- 感情表現: 仮定法過去完了で、「もし~だったら、~だったのに」という後悔や反省を述べるとき。
- 報告: 間接話法で、誰かの発言を正確に伝えるビジネスやリポートの場面。
この記事、第2回【応用編】では、過去完了形を「本当に使えるスキル」へと昇華させます。実際の会話例とタイムラインを通じて、その論理的な働きを習得。特に、中上級者必須の仮定法過去完了と間接話法での時制シフトのルールを徹底的に解説します。
この記事を読み終えれば、過去完了形はあなたの英語をより正確に、より深く表現するための精密なツールとなるでしょう。
過去のある時点より前の出来事:日常会話での活用

過去完了形の最も基本的で実用的な用法は、「過去の過去」、すなわち「複数の過去の出来事のうち、より前に起こったこと」を表現することです。
ここでは、具体的な日常会話例を通じて、過去完了形の「生きた使い方」を習得します。
タイムラインの基本理解
過去完了形を理解するために、時間軸を3つのレイヤーで考えましょう。
現在 ──────────────→
過去 ───●─────────────●──────────→
過去完了 過去(基準点)
(had + 過去分詞) (過去形)
←──────────────────────────────
さらに前の過去 より最近の過去
重要なポイント:
- 右側の●(過去形で表す出来事)が「基準点」
- 左側の●(過去完了形で表す出来事)は「基準点より前」
- 過去完了形は「基準点との相対的な時間関係」を示すために使う
会話例1:電車に乗り遅れた
状況:友人同士が朝の出来事について話している
A: Did you catch the train this morning?
(今朝、電車に間に合った?)
B: No, when I got to the station, the train had already left.
(いや、駅に着いたときには電車はもう出発していたんだ。)
A: Oh no! What time did you get there?
(ああ、大変だ!何時に着いたの?)
B: Around 8:30. But the train had left at 8:25.
(8時半くらいだね。でも電車は8時25分に出発していたんだ。)
タイムライン分析:
過去 ──────●────────●─────→
(8:25) (8:30) 現在
電車が出発 駅に到着
(had left) (got)
時制の分析:
- “the train had already left“(過去完了形)
- 電車の出発時刻(8:25)
- 「駅に着いた時点」という基準点よりも「前」に起こった
- 「already」で「既に完了していた」を強調
- “when I got to the station”(過去形)
- 駅に到着した時刻(8:30)
- これが「基準点」として機能
- より最近の過去の出来事
会話のポイント: 日常会話では、このように「ある時点での状況」を説明するとき、過去完了形が自然に出現します。「その時点では既に〜していた」という「状態」を伝えるために、過去完了形は非常に実用的です。
会話例2:宿題を忘れた
状況:教師と学生の会話
A: Why didn’t you submit your homework?
(どうして宿題を提出しなかったの?)
B: I had forgotten to do it.
(やるのを忘れてたんだ。)
A: When did you realize that?
(いつそれに気づいたの?)
B: When the teacher asked for it, I remembered I had completely forgotten about it.
(先生がそれを求めたときに、完全に忘れていたことに気づいたんだ。)
タイムライン分析:
過去 ──────●────────●─────→
(忘れた) (提出時) 現在
had forgotten didn’t submit
(過去完了) (過去形)
時制の分析:
- “I had forgotten to do it”(過去完了形)
- 宿題をやり忘れた出来事
- 「提出を求められた時点」より前に既に忘れていた状態
- “didn’t submit”(過去形)
- 宿題を提出しなかったという基準点
会話のポイント: この例は「状態の継続」を表す過去完了形の典型です。「忘れていた」という状態が、「提出時」という基準点まで続いていたことを表現しています。
会話例3:友達がすでに帰宅していた
状況:パーティーでの会話
A: Did you see Ken at the party?
(パーティーでケンに会った?)
B: No, when I arrived, he had already gone home.
(いや、僕が着いたときには彼はもう帰っちゃってたよ。)
A: What time did you get there?
(何時に着いたの?)
B: Around 11 PM. But he had left about an hour before.
(夜11時ころ。でも彼は1時間前くらいに出発していたんだ。)
A: That’s too bad! When did he leave?
(残念だね!彼はいつ出発したの?)
B: I’m not sure exactly, but he had left before the party ended.
(正確には分からないけど、パーティーが終わる前に出発していたんだ。)
タイムライン分析:
過去 ──────●────────●─────→
(10:00) (11:00) 現在
ケンが出発 話者が到着
(had left) (arrived)
時制の分析:
- “he had already gone home”(過去完了形)
- ケンが出発した時刻(約10:00 PM)
- 「到着した時点」という基準点より前の出来事
- “when I arrived“(過去形)
- 話者がパーティーに到着した時刻(11:00 PM)
- 基準点として機能
- “he had left about an hour before”(過去完了形)
- より詳細に「1時間前に出発していた」という情報提供
- 過去完了形が「より前の過去」を明確に示す
会話のポイント: このような場面では、「到着した時点での状況」を説明するために、過去完了形が自然に現れます。「既に完了していた」という状態が、基準点においてどうだったのかを伝える、過去完了形の典型的な用法です。
日常会話での過去完了形のシグナル
「When I/you/he/she… の時点で既に…していた」
↓
過去完了形が出現する確率が高い
実際の会話では、以下のようなパターンを見かけることが多いです:
パターン1:already を使った強調
By the time he arrived, I had already left.
(彼が到着する前に、私は既に出発していた)
When she called, I had already finished.
(彼女が電話したとき、私はもう終わっていた)
パターン2:before を使った時系列の明示
He had finished his dinner before the meeting started.
(会議が始まる前に、彼は夕食を終えていた)
She had visited the city before she moved there permanently.
(その街に永住する前に、彼女はそこを訪問していた)
パターン3:never を使った否定
I had never seen such a beautiful sunset before that day.
(その日まで、私はそんなに美しい夕焼けを見たことがなかった)
He had never experienced a real earthquake before he moved to Tokyo.
(東京に引っ越す前に、彼は本物の地震を経験したことがなかった)
仮定法過去完了:「もし~だったら、~だったのに」

ここから先は、過去完了形の「高度な用法」に入ります。仮定法過去完了は、「現在」ではなく「過去」の「起こらなかった出来事」について、「もし…だったら…だったのに」という後悔や反省、非現実的な想像を表現するときに使用されます。
仮定法とは何か
仮定法(conditional)は、英語の「最も表現力豊かな」文法のひとつです。
仮定法の本質:「事実ではないことを、あたかも事実であるかのように表現する」
仮定法には複数のレベルがあります:
- 仮定法現在:現在の事実に反する仮定
If I were rich, I would buy a house. (もし私が金持ちなら、家を買うのに。) - 仮定法過去:過去の事実に反する仮定
If I had studied harder, I would have passed the exam. (もっと勉強していたら、試験に合格していたのに。) - 仮定法過去完了:過去の過去の事実に反する仮定
If I had arrived earlier, I would have caught the train. (もし早く到着していたら、電車に乗れていたのに。)
今回は、仮定法過去完了に焦点を当てます。
注:仮定法は複雑な文法事項なので、今後のレッスンで改めて独立したレッスンとして取り上げます。ここでは、過去完了形が仮定法過去完了の条件節で使用される事を覚えてください。
仮定法過去完了の基本構造
If + 主語 + had + 過去分詞, 主語 + would/could/might + have + 過去分詞
各要素の役割
If 節(条件部):
- 「もし…だったら」という仮定の条件
- 必ず「had + 過去分詞」(過去完了形)を使う
- 「実際には起こらなかった過去の出来事」を仮定する
主節(結果部):
- 「…だったのに」という仮定による結果
- 「would/could/might + have + 過去分詞」の形
- 助動詞の選択によってニュアンスが変わる
助動詞による意味の違い
would have + 過去分詞
- 意味:「…だったはず」「…だったであろう」
- 用法:確実性が高い想定
If I had studied harder, I would have passed the exam.
(もっと勉強していたら、試験に合格していたはずだ)
could have + 過去分詞
- 意味:「…できていたはず」「…できたであろう」
- 用法:能力や可能性を表す
If I had known about the party, I could have attended it.
(パーティーについて知っていたら、参加できていたのに)
might have + 過去分詞
- 意味:「…だったかもしれない」「…かもしれなかった」
- 用法:可能性や推測、より不確実なニュアンス
If he had left earlier, he might have avoided the traffic.
(もし早く出発していたら、渋滞を避けられたかもしれない)
実例で習得:仮定法過去完了
例文1:試験に合格していたはず
If I had studied harder, I would have passed the exam.
(もっと勉強していたら、試験に合格していたはずだ)
分析:
- 現実:勉強しなかった(study harder しなかった) → 合格しなかった
- 仮定:もし勉強していたら(had studied harder) → 合格できていた(would have passed)
- ニュアンス:後悔、反省
時間軸:
過去 現在
●────●
実際には試験に
勉強しなかった 不合格
↓
もし勉強していたら → 合格していたはず
例文2:電話できていただろう
She would have called you if she had known the news.
(そのニュースを知っていたら、彼女はあなたに電話したはずだ)
分析:
- 現実:ニュースを知らなかった → 電話しなかった
- 仮定:もし知っていたら(had known) → 電話していた(would have called)
タイムライン:
過去 現在
●────●
実際にはニュースを
知らなかった
電話しなかった
↓
もし知っていたら → 電話していたはず
例文3:話しかけられたのに
If I had known her, I would have talked with her.
(彼女のことを知っていたら、話しかけていたのに)
分析:
- 現実:彼女のことを知らなかった → 話しかけなかった
- 仮定:もし知っていたら(had known) → 話しかけていた(would have talked)
例文4:電車に乗れていたのに
If I had arrived earlier at the station, I could have caught the train.
(駅に早く到着していたら、電車に乗れたのに)
分析:
- 現実:遅く到着した → 電車に乗れなかった
- 仮定:もし早く到着していたら(had arrived earlier) → 乗れていた(could have caught)
- ニュアンス:能力・可能性
例文5:渋滞を避けられたかもしれない
If he had left earlier, he might have avoided the traffic.
(もし早く出発していたら、渋滞を避けられたかもしれない)
分析:
- 現実:遅く出発した → 渋滞に巻き込まれた可能性
- 仮定:もし早く出発していたら(had left earlier) → 渋滞を避けられたかもしれない(might have avoided)
- ニュアンス:不確実性、推測
if の省略と倒置表現
If I had studied harder
→ Had I studied harder,
If she had known
→ Had she known,
If they had arrived earlier
→ Had they arrived earlier,
高度な英語では、「if」を省略して倒置表現を使用することがあります。
倒置表現の例:
Had I studied harder, I would have passed the exam.
(もっと勉強していたら、試験に合格していたはずだ)
Had she known the news, she would have called you.
(そのニュースを知っていたら、彼女はあなたに電話したはずだ)
Had I arrived earlier, I could have caught the train.
(早く到着していたら、電車に乗れたのに)
注意: 倒置表現はフォーマルで、より文学的・高度な英語に見られます。カジュアルな会話では、通常「If」を使う形(If I had studied harder…)が一般的です。
仮定法過去完了のポイント
- If 節に「had + 過去分詞」を使う(必須)
- 主節に「would/could/might + have + 過去分詞」を使う(必須)
- 助動詞で意味を使い分ける
- would:確実性が高い
- could:能力・可能性
- might:より不確実、推測
✓ 「実際には起こらなかった過去」についての想像
✓ 後悔、反省、「~だったら良かった」のニュアンス
間接話法での過去完了形

最後の重要な用法が「間接話法」での過去完了形です。これは、ビジネスメール、リポート、ニュース記事など、「誰かの発言を伝える」場面で頻繁に出現します。
間接話法とは
間接話法(reported speech):誰かの発言や質問を、直接ではなく「伝える」という形で述べる表現
直接話法:She said, “I have finished the report.”
(彼女は「私はレポートを終えました」と言った)
間接話法:She said (that) she had finished the report.
(彼女はレポートを終えたと言った)
時制のシフト(backshift)ルール
間接話法で最も重要なルールは、「時制を一段階過去にずらす」ということです。
直接話法の時制 → 間接話法の時制
| 直接話法 | 間接話法 |
|---|---|
| 現在形 | 過去形 |
| 現在進行形 | 過去進行形 |
| 過去形 | 過去完了形 |
| 現在完了形 | 過去完了形 |
| 過去完了形 | 過去完了形(変わらない) |
最も重要な変化:「現在完了形 → 過去完了形」
パターン1:肯定文・否定文
例文1:レポート完了の報告
直接話法:She said, “I have finished the report.”
(彼女は「私はレポートを終えました」と言った)
間接話法:She said (that) she had finished the report.
(彼女はレポートを終えたと言った)
分析:
- 直接話法の「have finished」(現在完了形)
- 間接話法で「had finished」(過去完了形)に変わる
- 発言時点(過去)より前に「レポートを終えた」という時間関係を表現
タイムライン:
過去 過去 現在
●────●
レポート完了 発言
(had finished) (said)
例文2:経験を述べた発言
直接話法:He said, “I have never visited Kyoto.”
(彼は「京都に行ったことがありません」と言った)
間接話法:He said (that) he had never visited Kyoto.
(彼は京都に行ったことがないと言った)
例文3:否定の報告
直接話法:They said, “We haven’t finished the project.”
(彼らは「私たちはプロジェクトを終えていません」と言った)
間接話法:They said (that) they hadn’t finished the project.
(彼らはプロジェクトを終えていないと言った)
パターン2:Yes/No 疑問文
Yes/No 疑問文(yes または no で答える質問)を間接話法にするときは、「if」または「whether」を使います。
基本形
直接話法:”Have you finished your homework?” she asked.
(「宿題を終えましたか?」と彼女は尋ねた)
間接話法:She asked if I had finished my homework.
(彼女は私が宿題を終えたかどうか尋ねた)
特徴:
- 「if」を使って「〜かどうか」と訳す
- 疑問文の語順(Have you…?)ではなく、肯定文の語順(I had finished)に変わる
- 時制は「have finished」から「had finished」へシフト
例文1:他人の質問を報告
直接話法:”Has Ken ever tried sushi?” they asked.
(「ケンは寿司を試したことがありますか?」と彼らは尋ねた)
間接話法:They asked if Ken had ever tried sushi.
(彼らはケンが寿司を試したことがあるかどうか尋ねた)
例文2:医者の質問
直接話法:”Have you had this pain before?” the doctor asked.
(「この痛みは前にもありましたか?」と医者は尋ねた)
間接話法:The doctor asked if I had had that pain before.
(医者は私がその痛みを前に経験したかどうか尋ねた)
パターン3:Wh- 疑問文(疑問詞がある質問)
疑問詞(what, where, why, how など)がある質問を間接話法にするときは、疑問詞をそのまま使い、語順は肯定文に変わります。
基本形
直接話法:”Where have you been?” he asked.
(「どこにいましたか?」と彼は尋ねた)
間接話法:He asked where I had been.
(彼はどこにいたのか尋ねた)
特徴:
- 疑問詞(Where)をそのまま使う
- 「if」は使わない
- 疑問文の語順(have you been)ではなく、肯定文の語順(I had been)に変わる
例文1:What を使う質問
直接話法:”What have you done?” she asked.
(「何をしましたか?」と彼女は尋ねた)
間接話法:She asked what I had done.
(彼女は私が何をしたのか尋ねた)
例文2:Why を使う質問
直接話法:”Why haven’t you finished?” he asked.
(「なぜ終えていませんか?」と彼は尋ねた)
間接話法:He asked why I hadn’t finished.
(彼はなぜ終えていないのか尋ねた)
例文3:How を使う質問
直接話法:”How have you been?” she asked.
(「お元気ですか?」と彼女は尋ねた)
間接話法:She asked how I had been.
(彼女は私がどうしていたのか尋ねた)
パターン4:その他の時制変化
過去形から過去完了形へ
直接話法:He said, “I saw her yesterday.”
(彼は「昨日彼女に会いました」と言った)
間接話法:He said (that) he had seen her the day before.
(彼は前の日に彼女に会ったと言った)
注意: タイムワード(yesterday → the day before)も変わります。
現在完了進行形から過去完了進行形へ
直接話法:She said, “I have been working here for five years.”
(彼女は「ここで5年間働いています」と言った)
間接話法:She said (that) she had been working there for five years.
(彼女はそこで5年間働いていたと言った)
間接話法での重要なタイムライン
肯定文・否定文のタイムライン
過去 過去 現在
●──────●
出来事 発言時点
完了 (said)
(had finished)
Yes/No 疑問文のタイムライン
過去 過去 現在
●──────●
出来事 質問時点
完了 (asked)
(had finished)
Wh- 疑問文のタイムライン
過去 過去 現在
●──────●
どこか 質問時点
にいた (asked)
(had been)
間接話法での過去完了形のポイント
- 現在完了形(have/has + 過去分詞)は過去完了形(had + 過去分詞)に変わる
- Yes/No 疑問文は「if/whether + 主語 + had + 過去分詞」の語順に
- Wh- 疑問文は「疑問詞 + 主語 + had + 過去分詞」の語順に
- 平叙文(肯定文)の語順を使う(疑問文の語順ではない)
- タイムワード(yesterday → the day before など)も変わることがある
- 発言・質問時点より前の出来事を明確にする
🌟 過去完了形 応用編 総合練習問題(全30問)

Q1–Q5:過去形と過去完了形のどちらが正しいか選びなさい。
- When I arrived at the party, Ken (left / had left) already.
- The train (left / had left) five minutes before I got to the station.
- She didn’t come because she (didn’t finish / hadn’t finished) her work.
- When we met again, I realized I (saw / had seen) him before.
- He (went / had gone) home before I called him.
Q6–Q10:文中の空所に過去完了形(had + 過去分詞)を入れなさい。
- When I got home, my brother ___ already ___ (go) to bed.
- She was upset because she ___ (lose) her wallet.
- When the teacher asked for the homework, I realized I ___ (forget) it.
- By the time the movie started, we ___ already ___ (find) our seats.
- When I arrived, they ___ (finish) dinner.
Q11–Q15:日本語を英語に翻訳(仮定法過去完了を用いること)
- もしもっと早く出発していたら、渋滞を避けられたのに。
- もし彼女がそのニュースを知っていたら、私に電話しただろう。
- もっと勉強していたら、試験に合格していたはずだ。
- 彼を知っていたら、話しかけていただろう。
- もし雨が降らなかったら、試合は中止にならなかったのに。
Q16–Q18:If を使う形を“倒置形”に書き換えなさい。
- If I had known that, I would have helped you.
- If she had left earlier, she might have caught the bus.
- If they had studied harder, they would have passed.
Q19–Q25:直接話法 → 間接話法に書き換えなさい。
- She said, “I have finished the document.”
- He said, “I saw her yesterday.”
- They said, “We haven’t decided yet.”
- She asked, “Have you been to Hokkaido?”
- The doctor asked, “Have you had this pain before?”
- He asked, “Where have you been?”
- She asked, “Why haven’t you finished?”
Q26–Q30:次の文の誤りを正しなさい。
- When I arrived, he has left.
- If I knew that, I would have helped you.
- She asked if had I finished my homework.
- He said he have finished.
- If she studied harder, she would have passed the exam.(過去の後悔を表したい)
✅ 解答と解説
Q1–Q5
- had left
- had left
- hadn’t finished
- had seen
- had gone
✔ 基準点(過去形の出来事)より前なので過去完了形。
Q6–Q10
- had already gone
- had lost
- had forgotten
- had already found
- had finished
✔「〜した時にはすでに〜していた」= 過去完了形。
Q11–Q15
- If we had left earlier, we could have avoided the traffic.
- If she had known the news, she would have called me.
- If I had studied harder, I would have passed the exam.
- If I had known him, I would have talked to him.
- If it had not rained, the game would not have been canceled.
✔ 過去の事実に反する仮定 → If + had + 過去分詞 & would/could/might + have + 過去分詞。
Q16–Q18
- Had I known that, I would have helped you.
- Had she left earlier, she might have caught the bus.
- Had they studied harder, they would have passed.
✔ If を省略し、Had を文頭に出す倒置法。
Q19–Q25
- She said that she had finished the document.
- He said that he had seen her the day before.
- They said that they hadn’t decided yet.
- She asked if I had been to Hokkaido.
- The doctor asked if I had had that pain before.
- He asked where I had been.
- She asked why I hadn’t finished.
✔ 現在完了 → 過去完了
✔ 過去 → 過去完了
✔ 疑問文 → 肯定文語順(if+主語+had)
Q26–Q30
- ❌ he has left. → he had left.
- ❌ If I knew → If I had known(過去の後悔)
- ❌ if had I finished → if I had finished(語順)
- ❌ he have finished → he had finished
- ❌ If she studied harder → If she had studied harder(過去の事実に反する)
📝 まとめ:過去完了形の3大応用をマスターする

この第2回では、過去完了形が単なる過去の時制ではなく、「過去の時間関係」「非現実的な仮定」「発言の報告」という3つの高度な役割を果たす、精密なツールであることを学びました。
最も重要な学習成果は、過去完了形が過去の基準点を明確に設定し、その相対的な時間関係を示すという論理的な役割です。
- 日常会話: 「到着したときには、すでに電車は出ていた (had left)」のように、状況を正確に伝える。
- 仮定法過去完了: If I had studied, I would have passed. の形で、過去の事実に反する後悔を表現する。
- 間接話法: He said he had finished. のように、直接話法の現在完了形を過去完了形に一段階シフトさせ、発言の報告を行う。
これらの応用を習得したことで、あなたの英語表現力は中級の壁を大きく超えるでしょう。
🚀 中上級者へ向けた学習アドバイス
学んだ知識を「瞬時の表現力」に変えるために、以下の3つの実践的なトレーニングを取り入れましょう。
- 「もしあの時」シミュレーション(仮定法訓練): 過去に起こった小さな失敗や選択(例:電車に乗り遅れた、提出を忘れた)について、毎日3つずつ、「もしあの時~だったら、~だったのに」という仮定法過去完了の文を声に出して作成しましょう。
- 例: Had I checked the time, I wouldn’t have missed the train.(時間をチェックしていたら、電車に乗り遅れなかったのに。)
- ニュースの「間接話法」解析トレーニング: 英語のニュース記事やビジネスリポートを読み、He said that…や They reported that… という間接話法の文を見つけたら、時制がどのようにシフトしているかをチェックする習慣をつけましょう。特に現在完了形が過去完了形に変わっている例を意識して探してください。
- タイムライン即時描写練習: 誰かに過去の出来事(例:昨日の出来事、旅行の経験)を話すとき、話す前に頭の中で基準点を定め、それより前の出来事を過去完了形で表現することを意識します。
この実践的な訓練を通じて、過去完了形をあなたの自然な表現として定着させましょう。
次回予告:第3回目は「関連表現」
この第2回では、過去完了形の3つの主要な実践的用法、すなわち「日常会話での時系列表現」「仮定法過去完了での後悔の表現」「間接話法での時制シフト」について、詳しく解説しました。
次回の第3回目は、「関連表現」に焦点を当てます。
「by the time」「after」「before」と過去完了形を組み合わせるときの使い方を、例文とタイムラインを使って詳しく説明します。
次回も、このシリーズをお楽しみに!
このガイドは、35年以上の英語教育経験を持つ矢野晃によって作成されました。数千人の講師を育て数千人の生徒を指導してきた実績に基づく、実践的で効果的な学習方法をお届けしています。
📖 さらなる英語学習をお考えの方へ

基礎から学び直したい方はこちら

語彙力を強化したい方はこちら
本格的な英語学習方法を知りたい方はこちら
このガイドは、35年以上の英語教育経験を持つ矢野晃によって作成されました。数千人の講師を育て数千人の生徒を指導してきた実績に基づく、実践的で効果的な学習方法をお届けしています。






