レッスン112 · ステージ10: 上級の構文
仮定法過去完了(第三条件文)
上級Third conditional
形と使い方
if + had + V3, would have + V3 — 過去の仮定とその結果
1.形
仮定法過去完了(第三条件文)の形は if + had + 過去分詞(過去完了形)、would have + 過去分詞 です。過去が違っていたらと想像するときに使います — すでに起こったことなので、条件も結果も現実ではありません。
| if 節(had + V3) | 主節(would have + V3) | |
|---|---|---|
| 肯定文 | If you had told me, | I would have helped. |
| 否定文 | If we hadn't missed the bus, | we wouldn't have been late. |
| 疑問文 | If you had known, | would you have come? |
短縮形:If I'd known(had)、I'd have come(would)、I would've come。速く話すと、would have は「would-ə」のように聞こえます。
if 節の 'd は had(If I'd known)、結果の節の 'd は would(I'd have gone)です。また would've は「would of」のように聞こえるので、スペルを間違える人がよくいます — 書くときは必ず would have です。
2.使い方
1. 違う過去を想像する — 実際に起こったのはその反対
If I had left earlier, I wouldn't have missed the train.
もっと早く出ていれば、電車に乗り遅れなかったのに。(実際は遅く出て、乗り遅れた)
If Lan hadn't helped me, I would have failed the course.
ランが助けてくれなかったら、その授業は落としていたでしょう。(実際はランが助けてくれた)
2. 過去のことへの後悔や非難
If you'd told me it was your birthday, I'd have bought you a cake.
誕生日だと言ってくれていたら、ケーキを買ってあげたのに。
We would have won if we hadn't made so many mistakes.
あんなにミスをしなければ、私たちは勝っていたでしょう。
3. 悪いことが起こらなくてよかったという安堵
If the neighbours hadn't smelled the smoke, the whole house would have burned down.
近所の人が煙のにおいに気づかなかったら、家が丸ごと焼けていたでしょう。
If you hadn't reminded me, I would have forgotten my passport.
あなたが言ってくれなかったら、パスポートを忘れるところでした。
3.could have / might have
結果の節では would の代わりに could have + V3(= would have been able to、〜できただろう)や might have + V3(= would perhaps have、〜したかもしれない)も使えます。
If we'd booked earlier, we could have sat together.
もっと早く予約していれば、隣同士で座れたのに。(could have = would have been able to)
If she had applied, she might have won the scholarship.
彼女が応募していたら、奨学金をもらえたかもしれません。(might have = would perhaps have)
4.第二・第三条件文と混合条件文
それぞれの節がいつのことかを考えましょう。過去のことを言う節 → had V3 / would have V3、今のことを言う節 → 過去形 / would + 動詞の原形。2つの節の時が違うと、混合条件文になります。
| 時 | 形 | 例 | |
|---|---|---|---|
| 第二条件文 | 現在・未来 | if + 過去形, would + 動詞の原形 | If I had a car, I would drive to work. |
| 第三条件文 | 過去 | if + had V3, would have V3 | If I had had a car, I would have driven to work. |
| 混合 1 | 過去の条件 → 現在の結果 | if + had V3, would + 動詞の原形 | If I had saved money, I would have a car now. |
| 混合 2 | 現在の条件 → 過去の結果 | if + 過去形, would have V3 | If I weren't afraid of flying, I would have gone with them. |
If I had studied medicine, I would be a doctor now.
あのとき医学を勉強していたら、今ごろ医者になっているでしょう。(過去 → 現在)
If we hadn't moved to Da Nang, we wouldn't know each other.
ダナンに引っ越していなかったら、私たちは知り合っていないでしょう。(過去 → 現在)
If he were more organised, he wouldn't have forgotten the meeting.
彼がもっときちんとした人なら、会議を忘れなかったでしょう。(現在 → 過去)
If I didn't have to work tomorrow, I would have stayed at the party longer.
明日仕事がなければ、パーティーにもっと長くいたのに。(現在 → 過去)
混合 1 の結果の節には now、today、still がよく出てきます。「now」があって if 節が had V3 なら、結果は would have ではなく would + 動詞の原形 です。
5.倒置:Had I known…
改まった英語では、if を省いて had を主語の前に置くことができます:Had I known = If I had known。否定は Had … not + V3 です(Hadn't I… と短縮しません)。レッスン「倒置」を参照してください。
Had we known the road was closed, we would have gone another way.
道路が通行止めだと知っていたら、別の道を行ったでしょう。
Had she not called, I would have waited all night.
彼女が電話してくれなかったら、私は一晩中待っていたでしょう。(Hadn't she called ではない)
6.よくある間違い
If I would have known, I would have come.If I had known, I would have come.
if 節は had + V3 です。「If I would have…」はくだけた会話で耳にしますが、標準的ではありません。
If I knew you were in hospital, I would have visited you.If I had known you were in hospital, I would have visited you.
過去のことなので had known です。
We were late. If we had taken a taxi, we would arrive on time.We were late. If we had taken a taxi, we would have arrived on time.
結果も過去のこと → would have + V3 です。
If she had took the medicine, she would have felt better.If she had taken the medicine, she would have felt better.
had + 過去分詞(taken)です。過去形は使いません。
If she had asked me, I would of helped her.If she had asked me, I would have helped her.
would've は「would of」のように聞こえますが、必ず have です。
If it had not rained, we would have play tennis.If it had not rained, we would have played tennis.
would have + 過去分詞です。
例文
- If you had told me earlier, I would have helped you.
- If we had left ten minutes earlier, we would have caught the train.
- She wouldn't have failed the exam if she had studied harder.
- If I had had your number, I would have called you last night.
