仮定法過去完了(Third Conditional)

B2 · 中上級条件文

If I had known, I would have called. 「もし知っていたら、電話したのに」。if の側には had、結果の側には would have。日本語の「〜ていたら」につられて過去形だけにしないのがポイントです。

このレッスンで学ぶこと

  • third conditional(仮定法過去完了)では、if の節に過去完了形(had + 過去分詞)を使う
  • 主節には would have + 過去分詞を使う(could have や might have も可)
  • すでに起こった過去を「もし違っていたら」と想像するときに使い、後悔を表すことが多い
  • if の節には would have を入れない。過去形だけ(If I knew)では現在の話になってしまう

違う過去を想像する

third conditional は、すでに起こったことを振り返り、「もしあのとき違っていたら、結果も違っていたのに」と想像する言い方です。後悔や、別の状況だったらどうなっていたかを話すときによく使います。日本語の「もし知っていたら、電話したのに」とまったく同じ気持ちです。

形は if + had + 過去分詞、主節は would have + 過去分詞です:“If I had known, I would have called.” 日本語の「知っていたら」は文脈から過去の話だとわかりますが、英語では過去形の knew だけでは足りず、had known と「もう1段階過去」にする必要があります。

"If I had known, I would have called."
"If she had studied, she would have passed."

過去形ではなく過去完了形

if の節には、過去形ではなく過去完了形(had + 過去分詞)が必要です。日本語の「もし時間があったら」は、「今、時間があったら」(現在の仮定)にも「あのとき時間があったら」(過去の仮定)にも使えますが、英語でははっきり分かれます。“If I knew” は second conditional で「(今)知っていたら」、過去の話なら “If I had known” です。

「もっと早く出ていたら、飛行機に乗り遅れなかったのに」は “If we had left earlier, we wouldn't have missed the flight.” です。「もっと時間があったら(あのとき)」は had had になります:“If I had had more time, I would have finished.” had が2つ並ぶのは変に見えますが、正しい英語です(会話では “If I'd had more time” とよく言います)。

"If we had left earlier, we wouldn't have missed the flight."
"If you had told me, I would have helped."

would have + 過去分詞

主節は、想像した過去の結果を would have + 過去分詞で表します。日本語の「〜したのに」「〜しただろう」にあたります:「手伝ったのに」→ “I would have helped”、「あんな間違いはしなかっただろう」→ “he wouldn't have made that mistake”。“I would help” や “I helped” では、過去の想像になりません。

would have は if の節には入れません。アメリカのくだけた会話では “If I would have known” と言う人もいますが、書き言葉や試験では間違いとされます。

would have の代わりに、could have(〜できたのに)や might have(〜したかもしれない)も使えます。「行けたのに」を “we could go” や “we were able to go” とするのは間違いで、“we could have gone” です。「〜すればよかった」は should have + 過去分詞です。have の後は必ず過去分詞で、“could have go” ではなく “could have gone” です。

1つ補足です。結果が「今」のことなら、主節は would + 動詞の原形になります(“If she had studied, she would be a doctor now”)。これは mixed conditional(混合型)で、ふつうの third conditional では would have を使います。

"If they had invited us, we could have gone."
"If he had listened, he wouldn't have made that mistake."

実際の英語

"If I had saved more money, I would have bought a car."
"If they had checked the weather, they wouldn't have gone hiking."
"If he had apologized, she would have forgiven him."
"If I had had more time, I would have finished."

注意

✗If I knew, I would have called.
✓If I had known, I would have called.

「知っていたら」の「た」につられた形です。過去の仮定では、if の節に過去完了形(had known)が必要です。If I knew は「(今)知っていたら」になります。

✗If I would have known, I would have called.
✓If I had known, I would have called.

would have は主節だけに使います。アメリカのくだけた会話では if I would have と言う人もいますが、試験では間違いです。

✗If she had studied, she would pass.
✓If she had studied, she would have passed.

結果も過去なら、主節は would have + 過去分詞です。would + 原形は、結果が今のことのとき(…, she would be a doctor now)だけです。

✗If they had invited us, we could go.
✓If they had invited us, we could have gone.

「行けたのに」は could have + 過去分詞です。could go では過去の想像の結果になりません。

✗If I had more time yesterday, I would have finished.
✓If I had had more time yesterday, I would have finished.

「(昨日)時間があったら」は過去の仮定なので had had です。had が2つ並んでも正しい形です。

日本語と比べてみよう

日本語の「〜たら」は、現実の条件、今の仮定、過去の仮定のどれにも使えます

「もし知っていたら」は、日本語では文脈で過去の話だとわかります。英語では時制で区別します。今の仮定は “If I knew”(second conditional)、過去の仮定は “If I had known”(third conditional)です。過去の出来事について言うときは、if の後を had + 過去分詞にしましょう。

「〜したのに」「〜できたのに」「〜すればよかった」

日本語の「のに」は、「実際にはそうならなかった」という後悔の気持ちを表します。英語ではこれを would have / could have / should have + 過去分詞で表します:「手伝ったのに」→ “I would have helped”、「行けたのに」→ “we could have gone”、「言えばよかった」→ “I should have told you”。過去形の “I helped” や “we could go” では、この気持ちは伝わりません。

💡 「もし〜ていたら(過去)」→ if + had + 過去分詞。「〜したのに」→ would have + 過去分詞。

💡 If I knew は「(今)知っていたら」、If I had known は「(あのとき)知っていたら」。

💡 「〜できたのに」→ could have、「〜すればよかった」→ should have。have の後は過去分詞です。

実際の場面:逃したチャンス

"Did you hear the concert sold out?"

"Ugh, if I had bought tickets last week, I would have gone!"

"Same here. If we had checked earlier, we could have gotten seats together."

"Lesson learned — next time we won't wait."

練習

練習問題 1 · 正しい文を選びましょう

Choose the correct third conditional sentence.

練習問題 2 · 正しい文を選びましょう

Choose the correct sentence.

練習問題 3 · 正しい形を選びましょう

Which structure goes in the if-clause of a third conditional?

練習問題 4 · 正しい文を選びましょう

Choose the correct sentence about a past regret.

練習問題 5 · 正しい文を選びましょう

Choose the correct sentence.

練習問題 6 · 正しい形を選びましょう

Choose the correct main clause structure for a third conditional.

練習問題 7 · 正しい文を選びましょう

Choose the correct sentence with a modal in the main clause.

練習問題 8 · 正しい文を選びましょう

Choose the correct sentence.

練習問題 9 · 文を完成させましょう

Complete the third conditional: 'If I ___ (know) about the meeting, I would have attended.'

練習問題 10 · 文を完成させましょう

Complete the third conditional: 'We would have arrived on time if the train ___ (not / be) delayed.'

練習問題 11 · グループに分けましょう

If I had known, I would have called.
If I knew, I would have called.
If she had studied, she would have passed.
If she studied, she would have passed.

0 / 4 分類済み

練習問題 12 · よくある間違い:「知っていたら、電話したのに」

Japanese: "もし知っていたら、電話したのに。" Which English translation is correct?

クイックチャレンジ

学んだことを5つの問題で確認しましょう。

問題 1 / 5

スコア:0/0

Choose the correct sentence.

学んだこと

  • third conditional では、if の節に過去完了形(had + 過去分詞)を使います。
  • 主節は would have + 過去分詞(または could have / might have)です。
  • すでに起こった過去を「もし違っていたら」と想像し、後悔を表すことが多い言い方です。
  • if の節に過去形だけ(If I knew)や would have は使いません。
  • 「〜したのに」「〜できたのに」は would have / could have + 過去分詞で表します。
このカテゴリーのレッスンをすべて見る