DMM英会話 ブログ 英語を学ぼう

実はカンタン!仮定法、仮定法過去、仮定法過去完了の基本を徹底解説!

実はカンタン!仮定法、仮定法過去、仮定法過去完了の基本を徹底解説!

文法用語は難しいですよね。「仮定法」と聞くだけで、ややこしそうなイメージで気が滅入ります。

仮定法とはその名の通り「もし~だったら…なのになあ」のように何かを仮定した上で思いを述べる文章形式のことです。

「もう少し安かったら買うんだけど」や「その日に仕事が入っていなければ、私も一緒に行けたのに」など、仮定法を使いたいと思う場面は日々結構ありますよね。

それはつまり、英語でもよく使われるし、ぜひ知っておきたい文章形式の一つということです。

今回は、「もし~だったら…なのになあ」という気持ちを感じたらすぐに表現できるよう、英語の仮定法の文章の作り方を分かりやすく見ていきます!

仮定法の基本とは?

仮定法とは、現実ではないことを「もし~だったら…」と仮定して表現する文章のことです。

ただし、「もし~」から始まるからと言って、「もしこの映画を観たいなら、チケットを買っておくよ」のような文章は仮定法ではなく直説法と呼ばれて文法的に区別されます。

仮定法はあくまで、「現実ではない『もしも』の世界や状況」について「~だったら…するのになあ」、「…できるのになあ」、「…かもしれないのになあ」などと表現するのに使います。

仮定法と直説法の違いを解説します。

【仮定法】

現実ではないことを仮定して述べます。

If you had time, we could go for lunch together.
「時間があったら一緒にランチに行けたのにね」(=実際には時間がないため行けない)

【直説法】

現実に起こりうる状況を仮定して述べます。

If you have time, we can go for lunch together.
「時間があるなら一緒にランチに行けるね」(=時間があれば行くことができる)

このように、同じ「もし〜」という表現でも文脈によっては使える文法に違いがあるのです。

仮定法の作り方

それでは実際に、「もし~だったら…なのになあ」を表す仮定法の文章を作る手順を見ていきます。

今現在の時点で「もし~だったら」と発言するのと、過去を振り返って「もしあのとき~だったら」と発言するのでは表現が異なりますね。

それぞれ順番に見ていきましょう。 

仮定法過去

今現在の時点で「もし~だったら」を表現するのが仮定法過去です。 

「もし~」から始まるので、仮定法の英文を作るときはまずは If(もし)から始めます。

If の後は普通に「主語+動詞」の文章を作ります。ただし、このときの動詞は過去形にすることがポイントです。

現実ではない世界・状況のことを表現するには、必ず過去形を使います

日本語でも「~だったら」と過去形を使っていますよね。これと同じ感覚です。

そして文の後半部分には助動詞の過去形(could, would, mightなど)を入れていきます。

If+主語+動詞の過去形~, 主語+助動詞の過去形+動詞の原形~

If I had a car, I would travel with my dog.
「もしも車があったら、飼っている犬と一緒に旅行に行くんだけどなあ」
If you were here, I could ask for your help.
「もしあなたがここにいたら、手伝ってもらうんだけどなあ」
If I knew the language, I might read the original text.
「もし私がその言語を知っていたら、原文で読んだりするかもなあ」

動詞・助動詞は過去形を使って現時点との距離感を出すことで、現実には起きていない想定上の話であるというニュアンスを出すことができるのです。

仮定法過去完了

一方、過去の仮定を表現するには仮定法過去完了を使います。

昔を思い出しながら「もしあのとき~だったら…だったのに」といった表現を作るのが仮定法過去完了です。

仮定法過去から、さらにもう一段階過去にさかのぼった言い方になるので主節には過去完了形を使います。後半には助動詞の過去表現である「助動詞+have+過去分詞」を使うことで、過去についての話だということを明らかにします。

If+主語+had+過去分詞~, 主語+助動詞の過去形+have+過去分詞~

If you had been here, I could have asked for your help.
「もしあなたがここにいたら、手伝ってもらえたのにね」
If I hadn’t booked the ticket yesterday, it might have been sold out by now.
「もし私が昨日チケットを予約しなかったら、今頃は売り切れていたかもね」
If I had known it yesterday, I wouldn’t have been here today.
「もし昨日のうちに私がそれを知っていたら、今日私がここにいることはなかったでしょうに」

このように、仮定法過去と仮定法過去完了にはそれぞれの作り方があり、使われる場面も違います。

仮定法で使う be動詞

仮定法では be動詞も、仮定法過去なら過去形、仮定法過去完了なら過去完了形にするルールは同じです。

If you were my sister, I would be so proud.
「もしあなたが私の妹だったら、とても嬉しいのに」
If there had been a school in this town, you wouldn’t have had to leave home.
「この町に学校があったら、家を出なくても済んだのにね」

ただし、仮定法過去での be動詞は基本的に were 一択になるのが特徴です。

普段だと be動詞は人称や単数・複数かによって is になったり are になったり変化しますよね。過去形なら was または were になるのが通例です。しかし、「現実には起こりえない非現実的な状況」を表現する仮定法では人称に関係なく were が使われます。

If she were my sister, I would be so proud.
「もし彼女が私の妹だったら、とても嬉しいのに」(=彼女が私の妹になることはあり得ない)
If I were you, I wouldn’t do that.
「私があなただったら、そんなことはしないけどね」(=彼女は私の妹ではないし、私はあなたにはなり得ない)

このような仮定法ならではの表現も覚えていきましょう。

仮定法をマスターしよう!

難しそうに聞こえる英語の「仮定法」ですが、あらためて見てみれば一定のルールに沿っている表現であることが分ります。

「もし~だったら…なのに」「もしあのとき~だったら、…だったのに」といった表現ができたら、伝えたいニュアンスの幅がグンと広がるのは明らかですよね。

使い慣れてみれば仮定法も難しいことはありません。

まずは、“If I did~, I could~” や “If I had~, I would have~” のような基本ベースを覚えてしまいましょう。

動詞と助動詞の部分を都度アレンジするだけで自在に文章を作ることができるようになりますよ!

関連記事:

【5分解説】「if it were not for~」の意味と使い方|「if it had not been for」との違いは?