「ああ、あの時もっと勉強しておけば、試験に合格できたかもしれないのに…」「もしあの電車に乗り遅れていなかったら、今頃は…」なんて、過去の出来事について「もしもあの時こうだったら、ああだっただろうなあ」と後悔したり、違う結果を想像したりすること、誰にでもありますよね。こうした「過去の事実に反する仮定」を英語で表現するのが、「仮定法過去完了」です。「仮定法過去」でさえややこしいのに、さらに「完了」までつくなんて…と、名前を聞いただけで難しそうだと感じてしまうかもしれません。英語学習を始めたばかりの方や、中学生、高校生、そして大学受験やTOEICで高度な文法理解を目指す皆さんにとって、この仮定法過去完了は、形も複雑で、時制の感覚も掴みにくいため、大きな壁の一つになっているのではないでしょうか。
でも、安心してください!仮定法過去完了も、基本的なルールと「あの時こうだったら…」という気持ちの核さえ理解すれば、決して怖くありません。むしろ、過去の出来事に対する後悔や、あり得たかもしれない別の過去を豊かに表現できる、非常に人間味あふれる表現方法なんです。この記事では、そんな皆さんのために、仮定法過去完了の基本的な考え方から、作り方、使い方、そして仮定法過去との違いや訳し方のコツまで、具体的な例文をたっぷり使いながら、一つひとつ丁寧に解説していきます。この記事を読み終わる頃には、きっと仮定法過去完了のモヤモヤがスッキリ晴れ、自信を持って理解し、そして使えるようになっているはずですよ!

仮定法過去完了って、名前からして難しそうだけど、これでスッキリわかるかな?
仮定法過去完了の基本 – 「過去の事実に反する仮定」とは?
まずは、仮定法過去完了とは一体何なのか、そしてどんなときに使われるのか、基本的なところから見ていきましょう。「過去の事実に反する」という点が、仮定法過去との大きな違いであり、最大のポイントです。
仮定法過去完了とは? – 過去の事実に反する後悔や想像を表す
仮定法過去完了とは、過去の実際の出来事とは異なること、あるいは過去に起こらなかったことを「もしあの時~だったら、…だっただろうに/…できたかもしれないのに」と、過去の事実に反する仮定や想像、後悔などを述べる表現方法のことです。ポイントは、形も意味も「過去の」ことについて述べている、という点です。
仮定法過去が「現在の事実に反する仮定」だったのに対し、仮定法過去完了は「過去の事実に反する仮定」を表します。ここをしっかり区別することが、仮定法を理解する上で非常に重要になります。
なぜ「過去完了形 (had + 過去分詞)」を使うのかというと、これも仮定法過去と同様に、現実との「距離感」を表すためです。「あの時の現実とは違うんだよ」「これはあくまで頭の中での『もしも』の話だよ」というニュアンスを、時制をさらに過去にずらす(過去完了形を使う)ことで表現しているのです。
例えば、
- If I had studied harder, I would have passed the exam. (もしもっと一生懸命勉強していたら、試験に合格していただろうに。)
→ 形は過去完了形 (had studied, would have passed) で、意味も「あの時(過去)もっと勉強していたら…」という過去の事実に反する仮定を表しています。(現実には、あの時あまり勉強しなかったので、試験に落ちた、あるいは合格しなかった)
- If you had told me the truth, I could have helped you. (もし君があの時私に本当のことを話してくれていたら、助けることができたかもしれないのに。)
→ 現実には、あの時本当のことを話してくれなかったので、助けられなかった。
このように、仮定法過去完了は、主に過去の出来事に対する「ああすればよかった」「こうだったらよかったのに」という後悔の念や、実現しなかった可能性への想像などを表現するのに使われます。
仮定法過去完了の基本的な形 – “If S + had + 過去分詞 …, S + 助動詞の過去形 + have + 過去分詞”
仮定法過去完了の基本的な形は、以下のようになります。これは絶対に覚えてください!
If + 主語 + had + 過去分詞 …, 主語 + 助動詞の過去形 (would, should, could, might) + have + 過去分詞 …
この形も、if節(条件節)と帰結節(主節)に分かれます。
- if節(条件節): “If + 主語 + had + 過去分詞”
- 「もし(あの時)~していたならば」という、過去の事実に反する仮定を表します。
- 動詞の形は、常に had + 過去分詞です。主語の人称や数に関わらず、had は変わりません。
- 帰結節(主節、結論を表す部分): “主語 + 助動詞の過去形 + have + 過去分詞”
- 「(もしあの時~だったら)…だっただろうに/…できたかもしれないのに」という、過去の事実に反する仮定の結果を表します。
- 助動詞の過去形としては、主に以下のものが使われ、それぞれニュアンスが異なります。
- would have + 過去分詞: 「(もし~だったら)…しただろうに/…だっただろうなあ」(過去の推量、意志)
- should have + 過去分詞: 「(もし~だったら)…すべきだったのに(しなかった後悔)/…したはずだ」(過去の当為、当然の推量) ※イギリス英語で I/we の場合に would have の代わりに使われることも。
- could have + 過去分詞: 「(もし~だったら)…できたのに(実際はできなかった)/…したかもしれない」(過去の可能性、能力)
- might have + 過去分詞: 「(もし~だったら)…したかもしれないのに」(過去の可能性、推量 ※could have より可能性が低いニュアンス)
仮定法過去完了の形は、if節も帰結節も「過去完了形」の要素 (had pp / have pp) が入っているのが特徴ですね。「過去のことだから、形も過去っぽく、さらに現実から遠いから完了形も使うんだな」みたいにイメージすると、少し覚えやすいかもしれません。
仮定法過去完了と直接法過去完了の違い – 事実か仮定か
仮定法過去完了で使われる「had + 過去分詞」の形は、通常の「過去の事実」を表す「直接法過去完了」とは意味が異なります。直接法過去完了は、過去のある時点よりもさらに前に起こったこと(大過去)や、過去のある時点までの継続・経験・完了を表します。
- 直接法過去完了: 過去のある時点より前の出来事や状態。
例: When I arrived at the station, the train had already left. (私が駅に着いたとき、電車はすでに出発してしまっていた。) ← 私が駅に着いた「過去」よりも、電車が出発したのは「さらに過去」。
- 仮定法過去完了: 過去の事実に反する仮定。
例: If the train had not left yet, I could have caught it. (もし電車がまだ出発していなかったら、乗れたかもしれないのに。) ← 実際には電車は出発してしまっていたので乗れなかった、という過去の事実に反する。
このように、同じ “had + 過去分詞” の形でも、文脈(特に if があるか、帰結節に助動詞の過去形 + have + 過去分詞があるか)によって、それが「過去の事実(大過去)」なのか、「過去の仮定」なのかが変わってきます。仮定法過去完了では、「もしもあの時こうだったら…」という、現実とは異なる過去のシナリオを頭の中で描いている点が重要です。
仮定法過去は「現在の事実に反する」、仮定法過去完了は「過去の事実に反する」って、なんだかややこしいですね…。
そうですよね、ここが仮定法の大きな関門の一つです! でも、大丈夫。ポイントは、「どの時点の事実に反しているか」を意識することです。
- 仮定法過去: 「今」こうだったらいいのになあ… (今の事実に反する) → 形は「過去形」
- 仮定法過去完了: 「あの時」こうだったらよかったのになあ… (過去の事実に反する) → 形は「過去完了形」
「反している時点」よりも、時制を一つ「過去にずらす」と覚えると、少し整理しやすいかもしれません。現実から距離を置くために、時制をシフトさせるイメージです。

なるほどー!仮定法過去完了は「あの時こうだったら…」なんだね!形も “had pp” と “would have pp” って、セットで覚えないと!
仮定法過去完了の作り方と使い方 – 「あの時のもしも」を表現する
仮定法過去完了の基本的な形と意味がわかったところで、次は実際にどのように文を作り、どんな場面で使われるのかを、具体的な例文を通して見ていきましょう。過去への後悔や、あり得たかもしれない別の過去を表現できます。
過去の事実に反する後悔・残念な気持ち – 「もし~していたら…だったのに」
これが仮定法過去完了の最も代表的な使い方です。過去に実際にしたこと(しなかったこと)とは違う行動をとっていたら、違う結果になっていただろうなあ、という後悔や残念な気持ちを表します。
- If I had taken your advice, I would not have made such a mistake.
(もし私があなたの忠告を聞いていたら、あんな間違いはしなかっただろうに。)
(現実: あなたの忠告を聞かなかったので、間違いを犯してしまった。)
- If she had left a little earlier, she could have caught the train.
(もし彼女がもう少し早く出発していたら、電車に間に合ったかもしれないのに。)
(現実: 早く出発しなかったので、電車に間に合わなかった。)
- We might have won the game if our best player had not been injured.
(もし私たちの最高の選手が怪我をしていなかったら、試合に勝てたかもしれないのに。)
(現実: 最高の選手が怪我をしていたので、勝てなかった(かもしれない)。)
- What would have happened if you had not helped me then?
(もしあの時あなたが私を助けてくれなかったら、どうなっていただろうか?)
(現実: あなたは私を助けてくれた。)
これらの文では、if節で過去の事実に反する状況を仮定し、帰結節でその仮定のもとで起こり得たであろう過去の結果を述べています。帰結節の「助動詞の過去形 + have + 過去分詞」が、「~だっただろうに」「~できたかもしれないのに」という、実現しなかった過去への思いを表していますね。
過去の出来事に対する批判や非難 – 「もし~していれば…しなかったはずだ」
仮定法過去完了は、相手や自分自身の過去の行動に対して、「こうすべきだったのに(しなかった)」「こうしなければよかったのに(してしまった)」という、批判や非難のニュアンスを込めて使われることもあります。
- If you had listened to me, this would not have happened.
(もしあなたが私の言うことを聞いていたら、こんなことにはならなかったはずだ。)
→ 相手の行動に対する不満や批判が込められています。
- He should have been more careful. If he had been more careful, he would not have caused the accident.
(彼はもっと注意すべきだった。もしもっと注意していたら、事故を起こさなかっただろうに。)
→ “should have + 過去分詞” は「~すべきだったのに(しなかった)」という後悔や非難を表す代表的な表現で、仮定法過去完了と密接に関連しています。
このように、単に過去を振り返るだけでなく、そこから教訓を得たり、責任の所在を示唆したりする際にも使われます。
実現しなかった過去の可能性への言及 – 「~だったかもしれない」
必ずしも後悔や非難だけでなく、純粋に「もしあの時こうだったら、別の可能性もあったかもしれないなあ」と、実現しなかった過去のシナリオに思いを馳せる場合にも使われます。
- If it had been sunny yesterday, we could have gone to the beach.
(もし昨日晴れていたら、ビーチへ行けたかもしれないのにね。)
→ 特に後悔というよりは、天気が悪くて残念だった、という気持ち。
- The project might have succeeded if they had had more funding.
(もし彼らにもっと資金があったなら、そのプロジェクトは成功したかもしれない。)
→ 実現しなかったが、可能性としてはあったかもしれない、という推測。
仮定法過去完了は、過去の「if」を考えることで、現在の私たちに様々な感情や気づきを与えてくれる表現とも言えますね。映画「バック・トゥ・ザ・フューチャー」のような、過去を変えたら未来はどうなる?といった想像を掻き立てます。
if節の省略や倒置 – “Had S + 過去分詞 …, S would have + 過去分詞”
仮定法過去完了の if節でも、if が省略されて倒置が起こることがあります。これは、仮定法過去の “Were S…” の倒置と似ていますが、使う助動詞が異なります。
仮定法過去完了の if節では、if を省略して had を文頭に出し、主語と had の語順を入れ替える(倒置する)ことができます。 これも、やや文語的でフォーマルな響きの文になります。
形: Had + 主語 + 過去分詞 …, 主語 + 助動詞の過去形 + have + 過去分詞 …
- Had I known about your situation, I would have offered my help.
(= If I had known about your situation, I would have offered my help.)
(もしあなたの状況を知っていたら、助けを申し出ただろうに。)
- Had it not rained so heavily, we would have arrived on time.
(= If it had not rained so heavily, we would have arrived on time.)
(もしあんなにひどく雨が降っていなかったら、時間通りに到着していただろう。)
- Had she studied more, she could have gotten a better score.
(= If she had studied more, she could have gotten a better score.)
(もし彼女がもっと勉強していたら、もっと良い点を取れたかもしれないのに。)
文頭がいきなり Had で始まっていたら、「お、これは仮定法過去完了の倒置かも!」とピンとくるようにしておきましょう。長文読解で文の構造を素早く把握するのに役立ちますし、TOEICの文法問題でもよく出題される形です!
その他、仮定法過去と同様に、”Supposing (that) …” や “Provided (that) …” などが if の代わりに使われることもあります。その場合、if節の動詞の形は “had + 過去分詞” のままです。
例: Supposing you had missed the train, what would you have done? (もし電車に乗り遅れていたとしたら、どうしていましたか?)

「あの時ああしてれば…」って後悔、よくするから、これは使えるようになりたいなぁ。倒置の “Had I known…” も、なんだか知的に聞こえる!
仮定法過去完了を使いこなすための重要ポイントと注意点
仮定法過去完了の形と使い方が分かってきたところで、さらに理解を深め、実際に使いこなせるようになるための重要なポイントや注意点を見ていきましょう。特に、仮定法過去との違いや、関連する表現との使い分けが鍵になります。
“wish + 仮定法過去完了” – 「(あの時)~だったらよかったのになあ」という後悔
動詞の wish の後に続く that節(that はしばしば省略される)の中でも、仮定法過去完了が使われます。これは、過去の事実とは異なることに対する後悔や願望「(実際は違ったけど、あの時)~だったらよかったのになあ」という気持ちを表します。
形: S + wish + (that) + S’ + had + 過去分詞 …
- I wish I had studied harder for the exam. (試験のためにもっと一生懸命勉強しておけばよかったなあ。)
(現実: あまり勉強しなかったので、後悔している。)
- She wishes she had not said such a thing to him. (彼女は彼にあんなことを言わなければよかったなあと思っている。)
(現実: あんなことを言ってしまって、後悔している。)
- He wishes he had bought the tickets earlier. (彼はもっと早くそのチケットを買っておけばよかったなあと思っている。)
“I wish I had + 過去分詞…” は、過去の行動や出来事に対する後悔を表すときの定番フレーズです。
現在の事実に反する願望「(今)~ならいいのになあ」を表す場合は、”wish + 仮定法過去 (動詞の過去形)” を使いますね。(例: I wish I were rich.) この違いをしっかり押さえましょう。
“as if / as though + 仮定法過去完了” – 「まるで(あの時)~だったかのように」
接続詞の as if や as though (「まるで~であるかのように」) の後に続く節の中でも、仮定法過去完了が使われることがあります。これは、過去の実際の出来事とは異なる様子や状態を、比喩的に表現するときに使われます。主節の動詞が過去形の場合に、それよりも前の時点での仮定を表すことが多いです。
形: S + 過去形の動詞 … as if/as though + S’ + had + 過去分詞 …
- He looked as if he had seen a ghost. (彼はまるで幽霊でも見たかのような顔をしていた。)
(現実: 実際に幽霊を見たわけではないだろうが、そんな表情だった。)
- She talked about the trip as though she had actually been there. (彼女はその旅行について、まるで実際に行ったことがあったかのように話した。)
(現実: 実際には行っていなかったのかもしれない。)
- It sounded as if someone had knocked on the door. (まるで誰かがドアをノックしたかのような音がした。)
主節の動詞が現在形の場合でも、as if / as though の後が仮定法過去完了なら、「まるで(過去に)~だったかのように(今)見える/話す」という意味になります。
- He talks as if he had experienced everything. (彼はまるで全てのことを経験したことがあるかのように話す。)
as if / as though の後が直接法過去完了になることもあり、その場合は「実際に(過去に)~だったように(今)見える/聞こえる」という、事実に基づいた推量を表します。仮定法過去完了を使うと、より「ありえないけど、そんな感じだった」という非現実的な比喩のニュアンスが強まります。
“If it had not been for ~” / “Without ~” – 「もし(あの時)~がなかったら」
「もし(あの時)~がなかったら、…だっただろうに」という、過去のある人や物の存在・影響がなかった場合を仮定する表現も、仮定法過去完了で非常によく使われます。
- If it had not been for your help, I would have failed.
(もしあなたの助けがなかったら、私は失敗していただろう。)
→ この “If it had not been for + 名詞” は、「~がなかったならば」という決まり文句です。
- This can be shortened to: Had it not been for your help, … (ifの省略と倒置)
- さらに、Without your help, I would have failed. や But for your help, I would have failed. のように、前置詞句で簡潔に表すこともできます。意味は同じです。
これらの表現は、過去の恩恵や、逆に障害となったものについて語るときに便利です。
現在のことについて「もし~がなければ」と言う場合は、仮定法過去の “If it were not for ~” / “Without ~” を使いますね。 (例: If it were not for water, we could not live. 水がなければ私たちは生きられないだろう。) この使い分けも重要です。
“If it had not been for ~” は、長くて少し覚えにくいかもしれませんが、非常によく使われる形なので、何度も口に出して慣れてしまうのがおすすめです。Without や But for は、より簡潔に言いたいときに便利ですね。
仮定法過去完了と仮定法過去の混合型 – 「もしあの時~だったら、今ごろ…なのに」
時には、if節(条件節)が「過去の事実に反する仮定」で、帰結節(主節)が「現在の事実に反する結果」を表す、というように、仮定法過去完了と仮定法過去がミックスされた形の文も使われます。これを「混合型仮定法」と呼ぶことがあります。
形: If + S + had + 過去分詞 …, S + 助動詞の過去形 (would, could, might) + 動詞の原形 (now/todayなど) …
- If I had taken that flight yesterday, I would be in New York now.
(もし私が昨日あの飛行機に乗っていたら、今ごろはニューヨークにいるだろうに。)
→ if節: 過去の仮定 (実際は乗らなかった) → 仮定法過去完了 (had taken)
→ 帰結節: 現在の結果 (実際は今ニューヨークにいない) → 仮定法過去 (would be)
- If he had not missed the train, he would not be late for the meeting today.
(もし彼が電車に乗り遅れていなかったら、今日の会議に遅刻していないだろうに。)
- If she had studied English harder in her school days, she could speak it fluently now.
(もし彼女が学生時代にもっと一生懸命英語を勉強していたら、今ごろは流暢に話せるだろうに。)
この混合型は、「過去の行動が現在の状況に影響を与えている」という因果関係を示すのに便利です。if節と帰結節で、それぞれどの時点の話をしているのかをしっかり見極めることが大切です。
混合型仮定法は、少し複雑に見えますが、「if節は過去の話だから過去完了、帰結節は今の話だから過去」というように、それぞれの部分がどの時点の事実に反しているかを考えれば、形は自然と決まってきますよ。now や today といった時を表す副詞がヒントになることも多いです。

wish とか as if にも過去完了形が使えるんだ!混合型仮定法なんてのもあるのね…。頭がパンクしそうだけど、整理すれば大丈夫かな?
まとめ – 仮定法過去完了を使いこなし、「あの時のもしも」を語ろう!
今回は、「もしあの時~だったら、…だっただろうに」という過去の事実に反する仮定や後悔を表す「仮定法過去完了」について、その基本的な考え方から作り方、使い方、そして重要なポイントまで、詳しく見てきました。これで、今まで難解に感じていた仮定法過去完了が、少しでも身近なものになったのではないでしょうか。
最後に、この記事で学んだ仮定法過去完了の重要なポイントをまとめておきましょう。
- 仮定法過去完了とは:
- 過去の事実に反する仮定・後悔・想像を表す。
- 形も意味も「過去」のこと。「あの時のもしも」を語る。
- 基本の形:
- If + 主語 + had + 過去分詞 …, 主語 + 助動詞の過去形 (would, should, could, might) + have + 過去分詞 …
- 主な使い方:
- 過去の事実に反する後悔・残念な気持ち (例: If I had studied harder, I would have passed.)
- 過去の出来事に対する批判や非難。
- 実現しなかった過去の可能性への言及。
- if の省略と倒置:
- if を省略して Had + S + 過去分詞 … の形になることがある。
- 関連する重要構文:
- S + wish + (that) + S’ + 仮定法過去完了: 「(あの時)~だったらよかったのになあ」
- … as if/as though + S’ + 仮定法過去完了: 「まるで(あの時)~だったかのように」
- If it had not been for ~ / Without ~: 「もし(あの時)~がなかったら」
- 仮定法過去との違い:
- 仮定法過去は「現在」の仮定、仮定法過去完了は「過去」の仮定。これを混同しないことが最重要。
- 混合型仮定法:
- If節が過去の仮定(仮定法過去完了)、帰結節が現在の結果(仮定法過去)という組み合わせもある。
仮定法過去完了は、私たちが過去を振り返り、そこから何かを学んだり、あるいは単に「もしも」の世界に思いを馳せたりする、そんな人間的な感情を表現するための非常に豊かな言葉の道具です。形は少し複雑ですが、その分、伝えられるニュアンスも深くなります。
最初は、”had + 過去分詞” と “助動詞の過去形 + have + 過去分詞” という形を正確に作るのが大変かもしれません。でも、「あの時の事実に反するんだ」という意識と、「現実との距離感」を常に念頭に置きながら、たくさんの例文に触れ、声に出し、そして自分でも使ってみることで、必ずその感覚が身についてきます。特に、後悔の念を表す “I wish I had…” や、”If it had not been for your help…” のような頻出フレーズは、そのまま覚えてしまうと非常に役立ちますよ。
この記事が、皆さんの英語学習の旅において、仮定法過去完了という手ごわいけれど魅力的な文法項目を乗り越え、より深く、より豊かな英語表現の世界へと足を踏み入れるための一助となれば、これ以上嬉しいことはありません。楽しみながら、英語の表現の可能性を広げていってくださいね!

仮定法過去完了、形は複雑だけど、意味は「あの時こうだったら…」って思う気持ちなんだね!これで後悔も英語で言えるようになるかも!
コメント