混合条件文

B2 Mixed conditionals 44 / 50

要点

混合条件文は、異なる2つの時を結びつけます:if 節と結果を表す節が、それぞれ違う時点を指します。第2条件文と第3条件文からそれぞれ対応する半分を取り出して組み合わせます — 一方の節は過去について、もう一方の節は今について述べます。

規則

「純粋な」条件文は、両方の節が同じ時間軸の中にあります。

  • 第3条件文=過去の条件 -> 過去の結果(想像上の過去):If I had studied, I would have passed.
  • 第2条件文=現在・非現実の条件 -> 現在の結果:If I knew the answer, I would tell you.

混合条件文は、原因と結果が異なる時に起きるとき、この2つを組み合わせたものです。よく使われる型は2つあります。

タイプA — 過去の条件 -> 現在の結果。 過去の(非)現実のことが、今の状況にまだ影響を与えています。

If節(過去)結果を表す節(現在)
if + 過去完了形would / could / might + 動詞の原形

If I had taken that job, I would be richer now.(その仕事に就かなかったので、今日は今より裕福ではない、ということ。)

タイプB — 現在・一般的な条件 -> 過去の結果。 今についての不変の事実や一般的な真実が、想像上の過去の結果を説明します。

If節(現在・一般的)結果を表す節(過去)
if + 過去形would / could / might + have + 過去分詞

If I weren’t so shy, I would have spoken to her at the party.(私は恥ずかしがり屋なので、あのとき黙っていた、ということ。)

コツはいつも同じです:どちらの節が過去で、どちらが現在かを決めてから、それぞれに合う形を選びます。

語形と文型

型If節結果を表す節意味
A:過去 -> 現在if + had + 過去分詞would + 原形過去の原因、現在の結果
B:現在 -> 過去if + 過去形would have + 過去分詞現在の原因、過去の結果

would は could(能力・可能性)や might(不確実性)に置き換えられます。節の順序は自由で、if 節が先に来るときはコンマを入れるだけです:

  • I would be fluent now if I had kept practising.(コンマなし、結果が先)
  • If I had kept practising, I would be fluent now.(コンマあり、if 節が先)

条件があっても結果が変わらなかったはずのときは、if を even if に置き換えます。結果はそれでも成り立ち、よく still を伴います:Even if I had apologised, she would still be angry with me.

タイプBの現在節で be を使うとき、改まった英語ではすべての人称で were が好まれます:If he were more careful, he wouldn’t have lost it.

could はタイプBの if 節でも使えます。これは can の過去形であり、would の形ではありません:If I could drive, I would have taken you to the station.

例文

English注
If she had set an alarm, she wouldn’t be late right now.タイプA:過去の欠落 -> 現在の結果。
If we had booked earlier, we would be on the beach today.タイプA:過去に逃した行動、現在の後悔。
If I hadn’t missed the train, I would be at the office by now.タイプA:hadn’t + 現在の would be。
If they weren’t vegetarians, they would have ordered the steak.タイプB:不変の事実 -> 過去の選択。
If he spoke Italian, he would have understood the menu.タイプB:今の一般的な能力 -> 過去の結果。
If I were a morning person, I would have come to the early class.タイプB:改まった用法ではすべての人称で were。
You could be a doctor now if you had finished medical school.タイプAで能力を表す could。
If she didn’t hate flying, she might have joined us in Rome.タイプBで不確かな過去の結果を表す might。

よくある間違い

  • If I had taken that job, I would have been richer now. -> …I would be richer now.:結果は現在(今)のことなので、would + 原形 を使い、would have は使いません。
  • If I am not so shy, I would have spoken to her. -> If I weren’t so shy…:現在・一般的な条件は過去形を取り(改まった言い方では were)、現在形は取りません。
  • If I would have known, I would be upset. -> If I had known…:would を if 節の中に入れてはいけません。
  • If she had been taller, she would have been a model now. -> …she would be a model now.:過去の if と現在の now を混ぜるときは would be を使い、would have been は使いません。
  • If he weren’t lazy, he would finish it yesterday. -> …he would have finished it yesterday.:過去の結果には would have + 過去分詞 が必要です。

ヒント

  • 時を示す語に注目しましょう:結果の節にある now、today、currently のような語は現在の結果(タイプA)を指し、yesterday、last week、at the party は過去の結果(タイプB)を指します。
  • すでに知っている2つの条件文から組み立てましょう:第3条件文の if の半分と、第2条件文の結果の半分を組み合わせれば(タイプA)、逆の組み合わせがタイプBです。
  • まずそれぞれの節の時を決め、それから形を選びます。習慣で2つの半分を「一致」させようとしないでください。
  • Would have + been=過去の状態、would be=現在の状態です。「結果が本当なのはいつか、あのときか今か」と自問して選びましょう。