仮定法過去完了とは?「あのとき〜だったら」の言い方
仮定法過去完了は、過去の事実と違うことを「あのとき〜だったら」と言う形です。 If + 主語 + had + 過去分詞, 主語 + would have + 過去分詞になります。いまの話をする仮定法過去より、時制がもうひとつ下がります。
高校基礎で習う内容です。大人のやり直しにも対応しています。 最終更新 2026-08-22
- If + 主語 + had + 過去分詞
- 後半は would have + 過去分詞
- 過去の事実と違うことを表す
- 仮定法過去は「いま」、これは「あのとき」
まず1問やってみる
仮定法過去との違いは「いつの話か」だけ
2つは形が似ていますが、指している時が違います。
| 何と違うか | 形 | |
|---|---|---|
| 仮定法過去 | いまの事実 | If + 過去形, would + 原形 |
| 仮定法過去完了 | 過去の事実 | If + had + 過去分詞, would have + 過去分詞 |
If I had more time, I would help you.
(いま時間があれば、手伝うのに → 実際はいま時間がない)
If I had had more time, I would have helped you.
(あのとき時間があれば、手伝ったのに → 実際は手伝えなかった)
had had は打ちまちがいではありません。
前の had が仮定法の印、うしろの had が have の過去分詞です。
前半と後半をセットで下げる
仮定法過去と同じで、片方だけでは足りません。
| 前半 | 後半 | |
|---|---|---|
| 仮定法過去 | If + 過去形 | would + 原形 |
| 仮定法過去完了 | If + had + 過去分詞 | would have + 過去分詞 |
If I had known it, I would have told you.
(知っていたら、話したのに)
would のかわりに could have(〜できたのに)や
might have(〜したかもしれないのに)も使えます。
If we had left earlier, we could have caught the train.
「実際はどうだったか」が裏返しになる
仮定法は、書いてあることの逆が事実です。ここを取り違えないでください。
If I had studied harder, I would have passed the test.
書いてあること … 勉強した、受かった
実際にあったこと … 勉強しなかった、落ちた
読むときは、いつも裏返して確かめてください。
If she had not been sick, she would have come.
→ 実際は病気だったので、来なかった
否定と肯定もひっくり返ります。
前半と後半で時がずれることがある
「あのときこうしていれば、いまこうなのに」という言い方もできます。
その場合は、前半だけ過去完了、後半は would + 原形になります。
If I had studied English harder, I would be able to speak it now.
(あのとき英語をもっと勉強していたら、いま話せるのに)
前半は「あのとき」、後半は「いま」です。
now や today があるかどうかが手がかりになります。
形の名前を覚えるより、それぞれの部分がいつの話かを見るほうが確実です。
例文
If I had known it, I would have told you.
それを知っていたら、あなたに話していたのに。
If I had studied harder, I would have passed the test.
もっと勉強していたら、試験に受かっていたのに。
If we had left earlier, we could have caught the train.
もっと早く出ていたら、電車に間に合ったのに。
If she had not been sick, she would have come with us.
病気でなかったら、彼女も一緒に来ていたのに。
If he had asked me, I would have helped him.
頼んでくれていたら、彼を手伝ったのに。
If it had not rained, the game would have started on time.
雨が降らなければ、試合は時間どおりに始まっていたのに。
If I had studied English harder, I would be able to speak it now.
あのとき英語をもっと勉強していたら、いま話せるのに。
I wish I had taken more photos on that trip.
あの旅行でもっと写真をとっておけばよかった。
音声は AI 合成です。作り方は音声についてをご覧ください。
これらの例文は今日の復習で、聞き取り(ディクテーション)としても出ます。
よくある間違い
誤If I had known it, I would tell you.
正If I had known it, I would have told you.
前半が過去完了なら、後半も would have + 過去分詞にします。
would + 原形のままだと「いまの話」になり、時がずれます。
誤If I knew it, I would have told you.
正If I had known it, I would have told you.
前半も時制を下げます。過去形では「いまの話」になります。
前半と後半は、いつもセットで動かします。
誤If I would have known it, I would have told you.
正If I had known it, I would have told you.
If の中に would は入れません。
would が入るのは後半だけです。前半は had + 過去分詞にします。
誤If I had study harder, I would have passed the test.
正If I had studied harder, I would have passed the test.
had のうしろは過去分詞です。原形ではありません。
study - studied - studied と変化します。