例文で学ぶ英文法「仮定法」

このシリーズでは、英文法を例文を使って分かりやすく解説します。今回のテーマは「仮定法」です。

仮定法とは、実際とは異なる条件を仮定して、現在の事実に反する事を仮想する場合に使う表現です。日本語では「もし~ならば、~だろうに」と表現します。実現するのが困難な願望なども仮定法を使って表現することができます。

仮定法と直接法

仮定法は、実際の現実とは異なる条件を仮定して、実現出来なかった願望などを伝えるための文法です。

仮定法と似ている文法で「直接法」があります。直接法は、十分ありえる条件を仮定して、その結果を伝えるための文法です。

英文で「if」が使ってあるらといって、必ずしも仮定法であるとは限りません。

以下の例文では、過去形が使われています。これは過去に起こった事実について述べている英文ではなく、「雨が降った」という事実に対して、事実と異なる条件(もし雨が降らなかったら)について述べているので「仮定法」です

【仮定法】
If it hadn’t rained, we could have gone on a hike.
雨が降らなかったら、ハイキングに行けたのに。

以下の例文は、「時間がなかったために、自分ではできなかった」という事実に対して、事実と異なる結果について述べていることから、「仮定法」です。

【仮定法】
If I had had time, I could have done it myself.
もし時間があれば、自分でできたんですが…。

以下の例文は、実際に起こる可能性が十分にある条件を仮定し、その結果について述べているので「直接法」です。

【直接法】
If it rains, we won’t go on a hike.
もし雨が降ったら、ハイキングには行かない。

【直接法】
Babies cry if they are hungry.
赤ちゃんはお腹が空いていると泣きます。

【直接法】
If you heat ice, it melts.
氷を温めたら、溶けます。

【NOTE】
ある英文が直接法であるか仮定法であるかを判断するのに、ifが使われているかどうかはあまり参考になりません。判断のポイントになるのは、主節で動詞がどのように使われているかです。
例外もありますが、仮定法はほとんどの場合、主節に動詞・助動詞の過去形が使われます。ifが省略された仮定法、if以外が使われた仮定法の表現も多くあるため、主節の動詞に注目し、直接法であるのか仮定法であるのかを考えるようにするといいでしょう。

仮定法過去

仮定法過去は「現在」のことについて「もし~ならば、(今)…なのに」と述べるための表現です。

【仮定法過去】
If+主語+動詞の過去形~, 主語+助動詞の過去形(would, could, should, might)+動詞の原形

コンマ後の主節には助動詞の過去形であるwould、could、should、mightのいずれかを用います。一般的に用いられることが多いのはwouldとcouldです。

If I knew his phone number, I would call him.
彼の電話番号を知っていれば、電話します。
※でも実際には電話番号を知らないので、彼に電話ができない。

If I were you, I would apologize to your mom first.
もし私だったら、お母さんに先に謝るけど。
※でも実際には私はあなたではないので、そんなことはできない。

If I won the lottery I would buy a new car.
もし宝くじが当たってたら、私は新しい車を買います。
※でも実際には当たらないので、車は買えない。

以下の例文では、主語がIであるにもかかわらず、be動詞がwereになっています。このように仮定法過去の英文では、be動詞はwereを用いるのが通常です。ただし、口語ではIf I was you, I would apologize to your mom first.のようにwasが使われることもあります。「If it were not for~」は、「もし~がなければ」という意味をもつ決まった表現で、仮定法過去で頻繁に使われます。

If it were not for you, I could not keep going.
あなたがいなければ、私はやっていけない。

仮定法過去完了

仮定法過去完了とは、過去の事実に対して、反することを仮定する表現です。日本語だと「もし~だったならば、(過去において)…だったのに」と言います。

【仮定法過去完了】
If+主語+動詞の過去完了形, 主語+助動詞の過去形(would, could, should, might)+have+過去分詞

If I had left 5 minutes earlier, I could have caught the bus.
5分早く出ていれば、バスに間に合ったのに。
※でも実際には早く出なかったので、バスに遅れてしまった。

If he had studied harder, he would have passed the exam.
彼がもっと勉強していれば、試験に合格しただろうに。
※でも実際には勉強を頑張らなかったので、不合格だった。

If I had been more careful, I would not have had an accident.
もっと注意深くしていれば、事故に遭わなかったのに。
※でも実際には注意を怠ったため、事故に遭った。

If you had gone to bed earlier, you wouldn’t have been so tired.
もっと早く寝ていたら、こんなに疲れていなかったのに。
※でも実際には遅く寝たので疲れている。

上記の仮定法過去で説明した「If it were not for~」は、仮定法過去完了でもよく使われます。

If it had not been for my parent’s support, I would have never been able to go to university.
両親の援助がなければ、私は大学に行くことができなかっただろう。

仮定法未来

仮定法未来は、「未来」において起こりそうもないことについて、「万が一~ならば」と述べるための表現です。仮定法未来にはwere toを使う表現と、shouldを使う表現の二つがあります。

以下の例文は、were toを使った仮定法未来です。were toは一般的に使われることが多いです。

If you were to be the President, what would you do?
万一大統領になることがあったら、どうする?

If the world were to end tomorrow, what would you do today?
もし明日世界が終わるんだとしたら、あなたは今日何をする?

以下の例文は、shouldを使った仮定法未来です。were toよりも使われる頻度が低く、were toよりも起こる可能性が低いことについて述べる場合に使われます。

If you should get straight A’s, I would buy you lunch.
もしオールAをとったら、ランチをおごってあげるよ。

shouldを使った仮定法未来の場合、主節に過去形を使わないこともあります。

If you should meet her, please tell her to call me.
彼女にもし会うようなことがあったら、私に電話するよう伝えてください。

If I should fail, I will just try again.
万が一失敗したら、もう一度やってみるだけだ。

ifを使わない仮定法

仮定法の中にはifを使わない表現も多くあります。ここではifを使わない仮定法をいくつか紹介します。「仮定法と直接法」でも述べましたが、ifの有無にかかわらず、仮定法を見分けるポイントになるのは主節の動詞の時制です。

ifが省略された仮定法

上記で説明した仮定法と文の形はほぼ同じで、ifが省略されることがあります。

【仮定法過去】
Were I you, I would apologize to your mom first.
私があなただったら、私はあなたの母親に先に謝るだろう。

【仮定法過去完了】
Had I left earlier, I could have caught the bus.
私がもっと早く出発していたら、私はバスに乗ることができただろう。

【仮定法未来】
Should I fail, I will just try again.
もし私が失敗すれば、もう一度やり直します。

【NOTE】ifが省略された場合、最初の節内の主語と述語の順序は逆になります。

but for、withoutを使った仮定法

ifの代わりにbut for、またはwithoutを使った仮定法は、「~がなければ…だろう/だっただろう」という意味を表します。主節の作りはifを使った仮定法と同じです。

【仮定法過去】
But for your help, I wouldn’t be able to finish this work.
あなたの助けがなければ、この仕事を終わらせることはできないだろう。

【仮定法過去完了】
Without your help, I wouldn’t have been able to finish this work.
あなたの助けがなければ、この仕事を終わらせることはできなかっただろう。

【NOTE】but forは前置詞のイディオム、withoutは前置詞であるため、節ではなく名詞、または名詞句を用います。

withを使った仮定法

withを使った仮定法は、but for、withoutを使った仮定法の逆で「~があれば…だろう/だっただろう」という意味を表します。but for、withoutを使った仮定法と同様に、直後には節ではなく名詞、または名詞句を用います。

【仮定法過去】
With your help, I would be able to finish this work.
あなたの助けがあれば、この仕事を終わらせることができるのに。

【仮定法過去完了】
With your help, I would have been able to finish this work.
あなたの助けがあれば、この仕事を終わらせることができたのに。

otherwiseを使った仮定法

otherwiseは「さもなければ」という意味で接続詞的に使うことができる副詞です。otherwiseの後ろでは、実際とは異なる結果を述べます。

【仮定法過去完了】
I left immediately; otherwise I would have missed the train.
私はすぐに出発した。そうしないと電車を逃していただろう。

to不定詞を使った仮定法

以下の例文は、仮定法だとは気づきにくい英文ですが、ここでも主節の動詞の時制がポイントとなります。この文をifを使った仮定法で書き換えるとIf you heard her speak, you would think she was a native English speaker. となります。

【仮定法過去】
To hear her speak, you would think she was a native English speaker.
彼女が話すのを聞けば、彼女は英語母語話者だとあなたは思うでしょう。

wishを使った仮定法

wishは「望む」、「願う」ことを意味する動詞ですが、仮定法として使うことで「非現実的な願望」を表すことができます。

以下の例文では、wishは現在形ですが、「実際とは異なる現在の状況」について述べているため過去形(were、could)が使われています。

【仮定法過去】
I wish I were a bird.
私が鳥だったらいいのに。

【仮定法過去】
I wish I could travel to the moon.
月に行けたらいいのに。

以下の例文では、「行けなかった」という過去に対して、「行きたかった」という願望を述べているため、過去完了形(had been)が使われています。

【仮定法過去完了】
I wish I had been there.
そこに行けたらよかったのに。

as ifを使った仮定法

as ifは「まるで~のように」、「まるで~であるかのように」という意味をもつイディオムです。as if以下の節の動詞の時制は上述のwishと同じ考え方です。

【仮定法過去】
He talks as if he knew everything.
彼はまるですべてを知っているかのように話す。

【仮定法過去完了】
She talks about the Royal Wedding as if she had been there.
彼女は王室の結婚式のことを、まるで見てきたかのように話す。

例文で学ぶ英文法 (目次)

英文法の一覧と解説

Eigo Loveおすすめコンテンツ☆
  • TOEIC Part5練習問題
  • TOEIC Part3練習問題
  • TOEIC 英単語一覧
  • 英単語の使い分け
  • カテゴリー別 英単語一覧
  • 英作文の練習
  • TOEIC単語アプリ
  • 単語帳アプリ
  • LOVEたん オンライン