仮定法とは|仮定法過去・過去完了など基本から慣用表現まで解説

仮定法」とは、事実に反することや、実現する可能性が低いことを表す動詞の形のことです。

例えば、仮定法では「現在の事実に反すること」を過去形の動詞で表しますが、このように時制を過去にずらすことで「現実との距離感」が生まれ、「現実の話ではない」ことを相手に伝えることができます。

今回は、この仮定法について詳しく解説していきます。

仮定法と直接法

仮定法が「事実に反すること」や「実現する可能性が低いこと」を表すのに対し、「現実」や「現実にあり得ること」を表す表現法を「直接法」といいます。

両者の違いを次の例で見てみましょう。

(1) I have time, so I can watch TV.
私は時間があるので、テレビを見ることができる。

(2) If you have time, you can watch TV.
もし時間があれば、テレビを見てもいいよ。

(3) If I had time, I could watch TV.
もし時間があれば、テレビを見られるのに。
(→ 実際には時間がないので、テレビを見られない)

(1)は「現実」、(2)は「現実にあり得ること」を述べた文なので、直接法である現在形 (have, can) が使われています。

一方、(3)は事実に反する仮定を表した文なので、仮定法である過去形 (had, could) が使われています。

(2)のように、if を使った文でも直接法になる場合があるので注意してください。

仮定法の基本形

上の例文(3)のように、仮定法の文は基本的に「if節」と「主節」から構成されます。

下の表は、それぞれの節における動詞・助動詞の形を示したものです。

if節の動詞 主節の助動詞 + 動詞
仮定法過去 過去形
(be動詞は were)
助動詞の過去形* + 動詞の原形
仮定法過去完了 過去完了形 助動詞の過去形 + have + 過去分詞
仮定法未来 were to + 動詞の原形 /
should + 動詞の原形
助動詞の過去形 + 動詞の原形 /
will + 動詞の原形 /
命令文

*「助動詞の過去形」は would, could, might を指します。(「仮定法過去」では should が使われることもあります。)

仮定法過去

仮定法過去は「現在の事実に反すること」や「現時点で実現する可能性が低いこと」を表します。〈if節 + 主節〉という形の場合、「もし〜ならば … だろうに」という意味を表します。

上の表で示したように、if節では動詞の過去形を使い、主節では〈助動詞の過去形 + 動詞の原形〉を使います。

(4) If I had enough money, I would buy a new computer.
もし十分なお金があれば、新しいコンピューターを買うのに。
(→ 実際にはお金がないので、コンピューターを買えない)

なお例文(4)の内容は、次のように直接法で表すことができます。

I don’t have enough money, so I will not buy a new computer.
十分なお金がないので、新しいコンピューターを買うことはない。

仮定法過去についての詳しい解説は、こちらの記事をご覧ください。

仮定法過去完了

仮定法過去完了は「過去の事実に反する事柄や仮定」を表します。〈if節 + 主節〉という形の場合、「もし〜だったならば … だったろうに」という意味を表します。

上の表で示したように、if節では動詞の過去完了形を使い、主節では〈助動詞の過去形 + have + 過去分詞〉を使います。

(5) If I had had time, I could have gone out with you.
もし時間があったなら、あなたと一緒に出かけられたのに。
(→ 実際には時間がなかったので、一緒に出かけられなかった)

なお例文(5)の内容は、次のように直接法で表すことができます。

I didn’t have time, so I couldn’t go out with you.
時間がなかったので、あなたと出かけることができなかった。

仮定法過去完了についての詳しい解説は、こちらの記事をご覧ください。

if節と主節で時制が異なる仮定法

(6) If I had met her then, we might be married now.
もしその時彼女に会っていたら、現在私たちは結婚しているかもしれない。
(→ 実際にはその時彼女に会っていなかったので、現在彼女とは結婚していない)

(7) If I liked her, I would have driven her home.
もし彼女のことが好きだったら、(あの時)車で家まで送っていただろう。
(→ 実際には彼女のことが好きではないので、車で家まで送らなかった)

(6)では、if節で「過去の事実に反すること」、主節で「現在の事実に反すること」が述べられています。このような場合、if節では「仮定法過去完了」を、主節では「仮定法過去」を用います。

(7)では、if節で「現在の事実に反すること」、主節で「過去の事実に反すること」が述べられています。このような場合は、if節で「仮定法過去」を、主節で「仮定法過去完了」を用います。

仮定法未来

仮定法未来は「未来の事柄についての仮定」を表します。

(8) If you were to have only one year to live, what would you do?
仮にあなたが余命1年だとしたら、何をしますか?

(9) If I should fail, I will [would] try again.
万一失敗しても、また挑戦するつもりだ。

(8)の〈were to + 動詞の原形〉は「仮に〜するとしたら」という意味を表し、仮の話の前置きとして使用されます。実現可能性がある仮定、ない仮定の両方に使えます。主節では仮定法過去の形である〈助動詞の過去形 + 動詞の原形〉が使われます。

(9)の〈should + 動詞の原形〉は「万一〜ならば」という意味になり、実現する可能性が低い未来の仮定を表します。(実現可能性がない仮定には使えません。)主節では助動詞の過去形も使われますが、will命令文を使うのが一般的です。(主節で助動詞の過去形が使われていれば「仮定法」、will や命令文が使われていれば「直接法」になります。)

仮定法未来についての詳しい解説は、こちらの記事をご覧ください。

仮定法現在

提案・命令・要求・主張などを表す動詞や、必要・緊急などを表す形容詞に続くthat節では、動詞の原形が使われます。このような用法を仮定法現在といいます。

(10) Her father suggested to her that she study harder.
彼女の父親は彼女にもっと勉強するよう提案した。

(11) It is necessary that you take this medicine.
あなたにはこの薬を飲むことが必要だ。

仮定法現在についての詳しい解説は、こちらの記事をご覧ください。

if を使わない仮定法

if の省略

仮定法の if節において if を省略すると倒置が起こり、節の中は疑問文と同じ語順になります。

(12)
If I were rich, I would travel all over the world.
もし私が金持ちなら、世界旅行をするのに。

(if の省略)

Were I rich, I would travel all over the world.

(13)
If he had tried harder, he might have succeeded.
もしもっと努力していたら、彼は成功していたかもしれないのに。

(if の省略)

Had he tried harder, he might have succeeded.

(14)
If I should fail, I will try again.
万一失敗しても、また挑戦するつもりだ。

(if の省略)

Should I fail, I will try again.

なお、if の省略は、(12)~(14)のように were, had, should が文頭に出る場合にのみ行うことができます。

if節に相当する語句

if節に相当する語句を用いることで、if を使わずに仮定の意味を表すことができます。

(15) Without [But for] your help, we would have failed.
あなたの助けがなかったら、私たちは失敗していただろう。

without ~” と “but for ~” は「~がなければ / ~がなかったら」という意味の副詞句で、if節の代わりに用いることが出きます。

他にも、主語、不定詞、分詞構文などが if節の役割をすることがあります。

if を使わない仮定法については、こちらの記事で詳しく解説しています。

仮定法を使った慣用表現 9選

wish + 仮定法

wish + 仮定法過去〉は「現在の事実に反する願望」を、〈wish + 仮定法過去完了〉は「過去の事実に反する願望」を表します。

(16) I wish he were here.
彼がここにいてくれればなあ。

(17) I wish I had studied harder when young.
若い時にもっと勉強していたらなあ。

(16)は仮定法過去、(17)は仮定法過去完了の例になります。

wish を使った仮定法については、こちらの記事で詳しく解説しています。

as if + 仮定法 / as though + 仮定法

as ifas though は副詞節を導く接続詞で、「まるで~である [あった] かのように」という意味を表します。話し手が as if 節の内容を真実ではないと思っている場合、節内では仮定法が使われます。

(18) He talks as if [though] he knew everything.
彼はまるで何でも知っているかのように話す。

(19) She looks as if [though] she had seen a ghost.
彼女はまるで幽霊を見たかのような顔をしている。

(18)は仮定法過去、(19)は仮定法過去完了の例になります。

as if を使った仮定法については、こちらの記事で詳しく解説しています。

as it were

(20) She is, as it were, the goddess of victory.
彼女はいわば勝利の女神だ。

as it were は「いわば」という意味を表し、(20)のように文中に挿入して使います。同じ意味の so to speak より堅い表現になります。

would rather + 仮定法

would rather + 仮定法〉 は「むしろ~であればいい [よかった] のだが」という意味を表します。

(21) I’d [I would] rather he went out today.
今日は彼が出かけてくれればいいんだが。

(22) I’d [I would] rather you hadn’t told her the truth.
あなたには彼女に本当のことを話してもらいたくなかったんだが。

(21)は仮定法過去、(22)は仮定法過去完了の例になります。

if only + 仮定法

if only + 仮定法過去〉は「現在の事実に反する願望」を、〈if only + 仮定法過去完了〉は「過去の事実に反する願望」を表します。“if only ~” は「~でありさえすればなあ」という意味で、 “I wish ~” よりも強い願望表現になります。

(23) If only I could buy a car.
= If I could only buy a car.
車が買えさえすればなあ。

(24) If only you had come.
君が来てくれさえしたらなあ。

(23)は仮定法過去、(24)は仮定法過去完了の例になります。

it’s time + 仮定法過去

it’s time + 仮定法過去〉は「もう~してもよいころだ」という意味を表します。仮定法を使うことによって、「本来すべきことをまだしていない」というニュアンスになります。

なお、time の前に high をつけると「とっくに~する時間だ」、about をつけると「そろそろ~する時間だ」という意味になります。

(25) It’s high time you were in bed.
もうとっくに寝る時間ですよ。

if it were not for ~ / if it had not been for ~

if it were not for ~” は「もし~がなければ」という意味で、「現在の事実に反する仮定」を表します。

if it had not been for ~” は「もし~がなかったら」という意味で、「過去の事実に反する仮定」を表します。

なお、この2つの表現は、例文(15)で紹介した without / but for で書き換えることができます。

(26) If it were not for [Without / But for] your help, he would not be able to succeed.
もしあなたの援助がなければ、彼は成功できないだろう。

(27) If it had not been for [Without / But for] the storm, we would have arrived on time.
もし嵐がなかったら、私たちは時間通りに着いていただろうに。

なお、if it were not for ~ / if it had not been for ~ では if を省略することができます。その場合は、例文(12)(13)で紹介したように倒置が起こります。

(26’) Were it not for your help, he would not be able to succeed.

(27’) Had it not been for the storm, we would have arrived on time.

練習問題

最後に練習問題を解いてみましょう。

練習問題

問1 次の文を仮定法を用いて書き換えなさい。

① I don’t know how to ski, so I cannot join you.

② It rained yesterday, so we could not play tennis.

③ I didn’t sleep well last night, so I feel sleepy now.

問2 次の文を英訳しなさい。

① 仮に太陽が西から昇るようなことがあっても、私の気持ちは決して変わらないだろう。

② 私は彼女に家にとどまるよう提案した。

③ 空気がなければ、私たちは生きられないだろう。

④ 私がお金持ちだったらなあ。

⑤ 彼女はまるで赤ん坊のように泣いている。

解答

問1

If I knew how to ski, I could join you.

If it hadn’t rained yesterday, we could have played tennis.

If I had slept well last night, I wouldn’t feel sleepy now.

問2

If the sun were to rise in the west, I would never change my mind.

I suggested to her that she stay home.


Without [But for] air, we could not live.
または
If it were not for air, we could not live.


I wish I were rich.
または
If only I were rich.

She is crying as if [though] she were a baby.

If today were the last day of my life, would I want to do what I am about to do today?
― Steve Jobs