第10章 仮定法

if it were not for / if it had not been for
─ 「もし...がなければ」の表現

「もしスポーツがなかったら、私の生活は退屈なものだろう」
「シートベルトがなければ、大けがをしていただろう」──
「もし〜がなければ / なかったら」を表す仮定法の定番表現と、
その書き換え表現(but for / without)を一緒にマスターしましょう。

1if it were not for A ─ 現在の「〜がなければ」

📏 文法ルール:if it were not for A

If it were not for A, S + would / could / might + 動詞の原形 ...

「もしAがなければ、Sは…だろうに」(現在の仮定 → 仮定法過去)

※ 口語では If it weren't for A とも言う。
📝 例文で確認
If it weren't for sports, my life would be pretty dull.
スポーツがなかったら、私の生活はかなり退屈なものになっていることだろう。
If it were not for his faults, I would marry Paul at once.
もし彼に欠点がなければ、私はすぐにでもポールと結婚するでしょう。

2if it had not been for A ─ 過去の「〜がなかったら」

📏 文法ルール:if it had not been for A

If it had not been for A, S + would / could / might + have + 過去分詞 ...

「もしAがなかったら、Sは…しただろうに」(過去の仮定 → 仮定法過去完了)

📝 例文で確認
If it hadn't been for the seat belt, I would have been badly injured.
シートベルトがなければ、私は大けがをしていただろう。
If it had not been for his recommendation, I would not have got a promotion.
彼の推薦がなかったら、私は昇進しなかっただろう。

3but for A / without A ─ 書き換え表現

if it were not for A / if it had not been for A は、but for Awithout A で書き換えることができます。 主節の形から仮定法過去か仮定法過去完了かを判断します。

💡 ここが本質:3つの表現は同じ意味

If it were not for A = But for A = Without A(もしAがなければ)

If it had not been for A = But for A = Without A(もしAがなかったら)

but for / without は仮定法過去・過去完了の両方に対応します。主節の形で時制を判断してください。

📝 書き換え例
Without my parents' support, I couldn't have graduated from college.
両親の援助がなかったら、私は大学を卒業することはできなかっただろう。
But for your help, I would have given up a long time ago.
君の助けがなかったら、ずいぶん前にあきらめていただろう。
= If it had not been for your help, I would have given up a long time ago.
(if it had not been for に書き換え可能)
🔬 ワンポイント:but for と without の使い分け

but for と without はほぼ同じ意味で使えますが、but for はやや書き言葉・フォーマルな印象があります。入試ではどちらも出題されるので、両方の形に慣れておきましょう。

4つながりマップ

  • → G-10-7 ifの省略とif節に相当する表現:if it were not for → Were it not for、if it had not been for → Had it not been for の倒置形を学びます。
  • → G-10-1 仮定法過去 / G-10-2 仮定法過去完了:主節の形から仮定法過去か過去完了かを判断する基本を再確認しましょう。

📋まとめ

  • If it were not for A:「もしAがなければ」── 現在の仮定(仮定法過去)
  • If it had not been for A:「もしAがなかったら」── 過去の仮定(仮定法過去完了)
  • 書き換え:But for A = Without A(どちらの時制にも対応)
  • but for / without を使った文では、主節の形から仮定法過去か過去完了かを判断する

確認テスト

Q1. if it were not for A を but for を使って書き換えてください。

▶ クリックして解答を表示But for A, S + would/could/might + 動詞の原形 ...。but for A は if it were not for A / if it had not been for A のどちらの書き換えにも使える。

Q2. Without his help, I could not have succeeded. は仮定法過去・過去完了のどちら?

▶ クリックして解答を表示仮定法過去完了。主節が could not have succeeded(could + have + 過去分詞)なので、過去の事実に反する仮定。= If it had not been for his help, I could not have succeeded.

Q3. If it were not for と If it had not been for の違いは?

▶ クリックして解答を表示If it were not for A は現在の仮定(もしAがなければ)で仮定法過去、If it had not been for A は過去の仮定(もしAがなかったら)で仮定法過去完了。

Q4. But for your help, I would have given up. を if を使って書き換えてください。

▶ クリックして解答を表示If it had not been for your help, I would have given up. 主節が would have given up(仮定法過去完了)なので、if節も仮定法過去完了の形を使う。

7入試問題演習

A 基礎レベル

10-6-1 A 基礎 if it were not for 空所補充

(  ) not for his faults, I would marry Paul at once.

  • ① It is
  • ② If it were
  • ③ There are
  • ④ There were
▶ クリックして解答・解説を表示
解答

② If it were

解説

判断のポイント:主節が would marry(仮定法過去)なので、if節も仮定法過去の形が必要です。

If it were not for A「もしAがなければ」の慣用表現。② If it were が正解。

「もし彼に欠点がなければ、私はすぐにでもポールと結婚するでしょう」

B 発展レベル

10-6-2 B 発展 書き換え 空所補充

(a) Without his help, I could not have succeeded.

(b) If it (  )(  )(  ) for his help, I could not have succeeded.

▶ クリックして解答・解説を表示
解答

had not been

解説

判断のポイント:(a)のWithout A を If it ... for A に書き換える問題です。

主節が could not have succeeded(仮定法過去完了)なので、if節も仮定法過去完了の形 = If it had not been for を使います。

C 応用レベル

10-6-3 C 応用 but for 書き換え

(a) He recommended me, so I got a promotion.

(b) (  )(  ) his recommendation, I would not have got a promotion.

▶ クリックして解答・解説を表示
解答

But for

解説

判断のポイント:(a)は事実の文。(b)は仮定法過去完了の文に書き換えます。

「彼の推薦がなかったら、昇進しなかっただろう」。But for A = If it had not been for A で「もしAがなかったら」。

主節が would not have got(仮定法過去完了)なので、過去の事実に反する仮定です。

得点の差がつくポイント
  • 事実の文を仮定法に書き換える力
  • but for / without / if it had not been for の相互書き換え