混合条件文
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=現在の状態です。「結果が本当なのはいつか、あのときか今か」と自問して選びましょう。