英語の仮定法とは?仮定法過去・仮定法過去完了・仮定法未来を徹底解説!

参考書よりもわかりやすい英文法超入門講座」の第17講です。

今回は仮定法の解説です。

仮定法を苦手とする人も多いかもしれませんが、ゼロからわかりやすく解説します。

記事の最後には、さらに理解を深めるための「練習問題」を21題、掲載しています。

もちろん詳しい解説つきです!

英語の仮定法とは

(例1)If I were a bird, I could fly to you.(もし私が鳥なら、あなたのところへ飛んで行けるのになあ。)

仮定法とは、この例文のように、事実とは異なる内容を表現する方法です。

言い換えれば話し手にとって現実味の薄いことを述べるのが仮定法です。

この例文であれば、「私が鳥になること」は現実的にあり得ないので、仮定法の形になっています。

「現在形→過去形」とあえて時制をずらすことで事実に反することを表しています。

(例2)If it snows tomorrow, I will stay at home.(もし明日が雪ならば、私は家で過ごす。)

(例1)が事実に反する内容だったのに対して(例2)は現実的にあり得ることです。

そのため直説法という一般的な文体で書かれています。

ifがついたり、「もし~ならば」と訳せれば、仮定法だと考えてしまわないようにしましょう

あくまで仮定法とは事実に反する内容を述べる文章です。

(例3)If I were you, I would see the doctor.(もし私があなたなら、医者に診てもらうだろう。)

「私=あなた」は事実に反するので仮定法を用いて表現しています。

ところで、主語がIのときは、be動詞の過去形はwasになるはずですよね。

しかし、原則として仮定法で用いられるbe動詞はwereという形しかありません

(例外的に会話文ではwasを用いることがあります)

仮定法の過去形は他の一般的な過去形とは別物だからです。

またwerewouldと過去形を使っていますが、この例文は「現在」のことを述べています。

仮定法過去とは

(例1)If I had a map, I would lend it to you.(もし私が地図を持っていれば、あなたに貸すだろう。)

仮定法過去は、「過去」という名称が付いていて紛らわしいのですが、現在の事実とは異なる内容を表します。つまりあくまで時制は現在です。

また仮定法過去はif+S+過去形, S+助動詞の過去形+動詞の原形という形になります。

助動詞の過去形にはwould,should,could,mightのいずれかが用いられます。

(例2)If I were a little younger, I would join you in climbing the mountain.(もし私がもう少し若ければ、あなたと山登りをするのになあ。)

join <人> in <遊戯・活動>」で「<遊戯・活動>で<人>に加わる」という意味です。

「山登りであなたに加われれば良かったのになあ」という現在の事実に反する仮定を表しています。

仮定法過去完了とは

(例1)If you had left earlier, you would have caught the bus.(もっと早めに出ていれば、バスに乗れただろう。)

仮定法過去完了は過去の事実に反する内容を表します。

「過去完了」という言葉が紛らわしいですが、時制は過去です。

過去の事実に反する内容なので「過去形→過去完了」とあえて時制をずらしているわけですね。

形としてはif節では<had+過去分詞>を用い、主節では<助動詞の過去形+have+過去分詞>を用います

仮定法過去完了の場合も、助動詞の過去形にはwould,should,could,mightのいずれかが用いられます。

さて(例1)について詳しく見ていきましょう。

(例1)If you had left earlier, you would have caught the bus.(もっと早めに出ていれば、バスに乗れただろう。)

実際に「早めに出ていたなら」You left early.と過去形を使えば良いのですが、現実には遅刻してしまったわけです。

この過去の事実に反しているという感覚を過去完了で表しています。

仮定法過去完了への理解を深めるためにもう1つ例文を見ておきましょう。

(例2)If it had been fine, I would have gone for a walk.(もし天気が良かったら、散歩に行っただろう。)

実際には天気ではなかったし、散歩にも行かなかったわけです。

ポイント!
仮定法過去完了=if+S1+had+過去分詞, S2+助動詞の過去形+have+過去分詞

仮定法過去と仮定法過去完了を併用する場合

仮定法過去と仮定法過去完了は併用することができます。まずは例文を見てみましょう。

(例1)If I had followed his advice, then I would be happy now.(もし私が彼のアドバイスに従っていたら、私は今頃幸せになっているだろう。)

この例文は「あのとき~していたら、今頃・・・だったろうに」という表現です。

if節は仮定法過去完了で過去の事実に反する内容を表しています。

then以下の主節は現在の事実に反する内容を表しています。

仮定法過去と仮定法過去完了が併用される文は慣れるまで厄介です。

併用パターンだと見抜くコツは、文尾のnowなどの副詞に着目することです。

必ずしもnowが付くわけではないので、最終的には文脈から読み取る必要がありますが、nowはひとつの目安になります。

例文は「<過去に>彼のアドバイスに従っていたら、<現在は>幸せだろう」という表現です。

「アドバイスに従っていたら」の部分は過去の仮定で、「幸せだろう」は現在に対する仮定ということです。

(例2)If he had studied harder, he would be successful now.(もし彼がもっと一生懸命勉強していたら、彼は今頃成功しているだろう。)

この例文も「あのとき~していたら、今頃・・・だったろうに」という表現です。

I wish SVとif only~

I wish I had more money.(もっとお金を持っていたらなあ)のように、I wish SVで「SがVすればなあ」という意味を表します。

また、I wish SVのVの部分には、この例文のように仮定法過去が入る場合もあれば、次の例文のように仮定法過去完了が入る場合もあります。

(例1)Kenji told me his trip to London was wonderful. I wish I had participated in that program.(ケンジは私にロンドンへの旅行は素晴らしかったと話した。私もそのプログラムに参加すれば良かったなあ。)

さらにI wish SVを強めたものIf only~!です。If only~!で「~しさえすればなあ」という意味になります。

(例2)If only I could run as fast as you!(あなたと同じくらい早く走れさえすればなあ!)

「~がなければ」を意味する仮定法の英語表現

if it were not forとif it had not been for

仮定法では「~がなければ」の表現が頻出です。「~がなければ」を表す代表的な表現はif it were not for~if it had not been for~の2つです。

if it were not for~が仮定法過去で、現在の事実に反する内容を表します。

if it had not been for~がその仮定法過去完了のパターンで、過去の事実に反する内容を表します。

(例1)If it were not for air and water, we could not live.もし水と空気がなければ、私達は生きていけないだろう。)

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

あくまで「現在時制」である点に注意して下さい。

このif it were not for~の過去時制のパターンが、if it had not been for~です。

過去完了形ですがあくまで「過去時制」である点に注意して下さい。

(例2)If it had not been for your help, I couldn’t have finished this assignment.もしあなたの助けがなければ、この課題を終わらせることはできなかっただろう。)
(例3)If it had not been for your help, I could not have made her happy.もしあなたの助けがなければ、彼女を幸せにすることはできなかっただろう。)

倒置

if it were not for~ifを取ると、Were it not for~倒置が起きます。

同じことはif it had not been for~にも言えます。

if it had not been for~ifを取ると、Had it not been for~という形になります。

(例1)Were it not for all the books, I do not know what I could do for.もし本が一冊もなければ、私は何をしていいかわからない。)
(例2)Had it not been for your help, we would have failed.もしあなたの助けがなければ、私達は失敗していただろう。)

(例1)、(例2)ともにifが消えて疑問文の語順になっています。

withoutとbut for

withoutbut forも「~がなければ」を表します。withoutbut forの後には仮定法過去がくることもあれば、仮定法過去完了がくることもあります。

(例1)Without air and water, no creatures could live.(空気と水がなければ、どんな生物も生きることはできない。)

without仮定法過去の形です。

(例2)Without his advice, we would never have finished the work on time.(彼の忠告がなければ、私達は時間通りに仕事を終わらせることができなかっただろう。)

without仮定法過去完了の形です。

(例3)But for the support of the public, the President could not have survived the revolt.(民衆の支持がなければ、大統領は反乱を切り抜けることができなかっただろう。)

but for仮定法過去完了の形です。

「~があれば」を意味する英語の仮定法

if it were not forwithoutbut forが「~がなければ」の意味になるのに対して、withは「~があれば」を意味します。withの後には仮定法過去がくる場合と仮定法過去完了がくる場合があります。

(例)With more patience, you could have overcome the hardship.(もっと忍耐力があれば、あなたはその苦難を乗り越えていたかもしれない。)

with仮定法過去完了の場合です。

as if+仮定法の英語表現

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

as if~は文の後ろに置いて「まるで~のように」という意味になります。

as if <S+V>におけるVの時制は主節の動詞を基準として決まります。

つまり主節と同じ時を表していれば仮定法過去を使い、主節よりも以前のことを述べていれば仮定法過去完了を使います

(例2)He treats me as if I were a little boy.(彼は私をまるで小さな男の子のように扱う。)

主節の動詞(treats)とas if <S+V>は同じ現在時制です。

同じ時を表しているので、as if以下は仮定法過去になります。

(例3)She looks as if she had been ill.(彼女は病気であったかのように見える。)

「見える」時よりも以前に「病気であった」ので、主節の動詞よりもas if <S+V>の方が過去のことを表します。そのためas if以下は仮定法過去完了になります。

またas ifの後には<S+V>のかわりに不定詞を置くこともできます。

(例4)He opened his mouth as if to say “No”, but he didn’t.(彼はまるで「いいえ」と言うにように口を開いたが、そうはしなかった。)

なおas if~as though~はほぼ同じ意味になります。

「~すべき頃だ」の意味になる英語の仮定法

(例1)It’s time you went to bed.(もう寝る時間ですよ。)

it is time <S+V>で「もう~すべき頃だ」という意味になります。

ここから派生して、it is about time <S+V>で「そろそろ~すべき頃だ」という表現になります。

どちらの表現も常に現在の話になるので、Vは必ず仮定法過去になります。

なお、It is high time <S+V>で「とっくに~すべき頃だ」という意味になります。このパターンの場合もVには必ず仮定法過去がきます。

(例2)Now I feel it is time we stopped talking about the politics.(もう政治の話はやめていい頃だと思う。)
(例3)It is about time we started to think about our future.(そろそろ私達の未来について考えても良い頃だ。)
(例4)It’s already midnight. It’s high time you were in bed.(もう夜中の12時です。とっくに眠る時間ですよ。)

英語の仮定法で未来のことを表現するには?

if+S+should

(例1)If it should rain, I’ll take you home by car.(万が一雨が降ったならば、私が家まで車で送ってあげよう。)

if+S+shouldは未来についての仮定を表し「万が一~」という意味になります。

実現可能性が極めて低いが、ゼロではない場合に用いられます。

if+S+shouldに対応する主節には助動詞の過去形助動詞の現在形命令文の3パターンがあります。

(例2)I don’t think he will stop by my office. But if he should come while I’m out, give him more about that information.(彼が私の事務所に立ち寄ることはないと思います。ですが万が一彼が私の外出中に来たら、その情報についてよく知らせてあげて下さい。)

この例文ではif+S+shouldに続いてgive him more~と命令文がきています。

were to do

If I were to go abroad, I would go to France.(外国に行くことがあれば、フランスに行くだろう。)

続いて、If+S1+were to~, S2+助動詞の過去形+動詞の原形も未来を表す仮定法の表現です。

意味は「仮に~ならば」となります。

このwere to doの形では、実現可能性はあまり関係ありません。

(例2)Even if the sun were to rise in the west, he would never stop loving his wife.(例え太陽が西から昇ろうとも、彼は妻を愛することをやめないだろう。)

英語の仮定法におけるif節の省略

(例1)I would have gone to meet you had I known you were at the station.(もしあなたが駅にいると知っていたら、迎えにいっただろう。)

仮定法の文では、ifが省略されると、この例文のように倒置が起きます。

had I knownif I had knownifを取って倒置にした形です。倒置は疑問文の語順になります。

(例2)Were I in your position I would quit.(私があなの立場なら、やめるだろう。)

この例文もifを省略して倒置が起きた形です。つまりIf I were in your position~Ifを取って疑問文の語順にした形です。

(例3)Should you need any help, just let me know.(万が一助けが必要になったら、とにかく私に知らせて下さい。)

if+S+should~は未来を表す仮定法の定型表現で「万が一~」という意味になります。

このif+S+shouldからifを取って倒置の形になったのがこの例文です。

つまりIf you should need~からIfを取って、Should you need~と疑問文の語順にしたものと言えます。

(例4)Were she to tell us what really happened, we could do our best to solve her problems.(仮に彼女が実際に起きたことを私達に話してくれるとすれば、彼女の問題を解決するために最善を尽くすことができるだろう。)

If+S1+were to~, S2+助動詞の過去形+動詞の原形は未来を表す仮定法の定型表現で「仮に~ならば」と訳します。

この定型表現が倒置の形になったのが(例4)です。

つまりIf she were to tell~Ifを取って疑問文の語順にしたものですね。

なお、wereが文頭に出ているときはIf I were a bird~の形(仮定法過去)が倒置を起こしている場合もあればwere to doの形(仮定法未来)が倒置を起こしている場合もあるので注意しましょう。

if節の代用表現

if節の代用表現には様々なものがあります。

1つずつ例文を見ながら確認していきましょう。

副詞句

副詞句がif節の代用表現になる場合があります。

(例)I would say nothing in your place.(私があなたの立場なら何も言わないだろう。)

この例文ではin your placeという副詞句がif節の代用表現になっています。

助動詞の過去形を見たら仮定法を疑うことが大切です。

otherwise

(例)I was sick in bed yesterday; otherwise I would have gone on a picnic with my family.(私は昨日、病気で寝込んでいた。さもなければ、家族とピクニックへ行っていたことだろう。)

otherwiseは「さもなければ」という意味のif節の代用表現です。

不定詞句

(例)To hear him talk, they would think he was an actor.(彼がしゃべるのを聞けば、彼らは彼を俳優だと思うだろう。)

不定詞句if節の代用表現になります。

文法問題では不定詞句が文頭に来ていて、助動詞の過去形が使われていれば、「この不定詞句は仮定法ではないか?」と疑うことが大切です。

主語

(例1)A wise man would not do such a thing.(賢い人ならばそのようなことはしないだろう。)

この例文では主語if節の代用表現になっています。普通の文と見分けるポイントは助動詞の過去形です

また、(例1)はIf he were a wise man, he would not do such a thing.と書き換えるとイメージを掴みやすいと思います。

主語そのものが「もし~ならば」を表す表現はわかりにくいので他の例文も見てみましょう。

(例2)A true friend would have acted differently.(本当の友人ならばもっと違った行動をするだろう。)
(例3)Even the kindest man would not help you that much.(どんなに親切な人でもそこまではあなたを助けてくれないだろう。)
(例4)Anyone with good sense would have done the same thing.(良識の持ち主ならば、誰でも同じことをしただろう。)

仮定法の練習問題-21題-

1.If I were good with money, I(  )rich someday.

①am ②was ③will be ④might be

解答解説1
東海大学の過去問です。前半部分のif節中にwereがあることから、仮定法過去とわかります。なので助動詞の過去形+動詞の原形の④might beが正解です。なおmay(might)は「~かもしれない」という推量を表す助動詞です。

全文:If I were good with money, I might be rich someday.(もし私がお金の使い方がうまければ、いつか金持ちになれたかもしれない。)

2.If I had not been ill, I(  )the party.

①attended ②have attended ③would attend ④would have attended

解答解説2
東洋大学の過去問です。if節中ではhad not beenと過去完了形が用いられています。このことから仮定法過去完了の形(=助動詞の過去形+have+過去分詞)をしている④would have attendedが正解です。

全文:If I had not been ill, I would have attended the party.(もし私が病気でなかったら、パーティーに出席していただろう。)

3.If you(  )the car instead of me, the accident might have been avoided.

①had driven ②had drove ③have driven ④would have driven

解答解説3
中京大学の過去問です。主節の動詞に着目すると、might have beenと<助動詞の過去形+have+過去分詞>の形になっています。このことから、if you~は仮定法過去完了のif節と考えられるので、<have+過去分詞>の形をしている①had drivenが正解です。

全文:If you had driven the car instead of me, the accident might have been avoided.(もしあなたが私の代わりに運転していたら、事故は避けられたかもしれない。)

4.If it had rained last night, the roads(  )now.

①would have been wet ②would be wet ③are wet

解答解説4
平成女子学院短大の過去問です(改題)。If it had rainedから仮定法過去完了を予想して、①would have been wetを選びたくなります。しかしnowに着目すると、if節の内容は仮定法過去完了の形ですが、後半のthe roads~は仮定法過去(現在の事実に反する仮定)だとわかります。つまり仮定法過去完了と仮定法過去が併用されているパターンです。従って②would be wetが正解です。

全文:If it had rained last night, the roads would be wet now.(もし昨夜雨が降っていれば、今頃その道路は濡れているだろう。)

5.“He’s a good skier, isn’t he?”
“Yes, he really is. I wish I(  )like him.”

①can ski ②could ski ③ski ④will ski

解答解説5
センター試験の過去問です。「彼のようにうまくスキーができればなあ」と、事実に反する願望を表しているので、仮定法過去の②could skiが正解です。

全文:“He’s a good skier, isn’t he?”(彼はスキーが上手ですよね。)
“Yes, he really is. I wish I could ski like him.”(ええ、本当に。私も彼のように上手くスキーができればなあ。)

6.If he(  )care of himself in his younger days, he would not be in hospital now.

①took ②had taken ③would take ④has taken

解答解説6
東京理科大学の過去問です。仮定法過去完了と仮定法過去が併用されています。主節の動詞は仮定法過去ですが、if節の副詞がin his younger daysとなっていることから、if節は過去の事実に反する内容を述べていると考えられます。従ってif節部分は仮定法過去完了になると考え②had takenが正解です。この問題文も「あのとき~していたら、今頃・・・だったろうに」という趣旨です。

全文:If he had taken care of himself in his younger days, he would not be in hospital now.(もし彼が若い頃に身体を大事にしていたら、今頃入院していないだろう。)

7.(  )we had left 10 minutes earlier!

①I hope ②It’s time ③If only ④No wonder

解答解説7
立命館大学の過去問です。「!」が大ヒントです。If only~!I wish SVを強めて「~しさえすればなあ」という願望を表します。従って③If onlyが正解です。ちなみに、この例題の場合、had leftと仮定法過去完了が使われている点に注意しましょう。

全文:If only we had left 10 minutes earlier!(あと10分早く出発してさえいればなあ。)

8.「もし彼の助力がなければ、私は失敗するかもしれない」
(  )it(  )not(  )his help, I might fail.

解答解説8
九州産業大学の過去問です。主節の動詞がmight failとなっていることから、仮定法過去の文だと判断します。日本文で「~がなければ」となっているので、If, were, notが正解です。

全文:If it were not for his help, I might fail.

9.正しく並べ替えると?

「もしあなたの忠告がなかったならば、彼は研究に失敗していたかもしれない」
If [for/had/been/it/not] your advice, he might have failed in his study.

解答解説9
関西大学の過去問です(改題)。日本文からit had not been forが正解ですね。

全文:If it had not been for your advice, he might have failed in his study.

10.正しく並べ替えると?

「この欠点さえなければ、さっそく彼を雇うのだが。」
[for/not/were/it] this defect, I would employ him at once.

解答解説10
千葉工業大学の過去問です。it were not forと答えたくなりますが、Ifがないので、Were it not forのように倒置の形が正解です。

全文:Were it not for this defect, I would employ him at once.

11.正しく並べ替えると?

「車の事故がなければ、彼は会議に遅刻しなかっただろう。」
He wouldn’t have been late for the meeting, [been/for/had/it/not] the car accident.

解答解説11
中央大学の過去問です。この問題も3と同じくhad it not been forと倒置の形が正解です。

全文:He wouldn’t have been late for the meeting, had it not been for the car accident.

12.(  )the greenhouse effect, the climate on the earth would be much colder.

①Without ②Against ③At ④To

解答解説12
センター試験の過去問です。主節の動詞would beから仮定法過去と考えます。「~がなければ」を意味する①Withoutが正解です。

全文:Without the greenhouse effect, the climate on the earth would be much colder.(もし地球温暖化がなければ、地球の気候はもっと寒いだろう。)

13.(  )your help, I could not have finished this work.

①But for ②In addition to ③In spite of ④Owing to 

解答解説13
青山学院大学の過去問です(改題)。①But for④Owing toで迷いますが、主節の動詞が仮定法過去完了になっていることから①But forが正解です。

全文:But for your help, I could not have finished this work.(あなたの助けがなければ、私はこの仕事を成し遂げられなかったと思う。)

14.(  )a little more effort, he would have succeeded.

①For ②But ③Owing to ④With

解答解説14
立命館大学の過去問です。if it were not for~if it had not been for~の反意表現である④Withが正解です。

全文:With a little more effort, he would have succeeded.(もう少し努力をすれば、彼は成功していたかもしれない。)

15.Our teacher scolds us as if we(  )his children.

①was ②were ③have been ④had been

解答解説15
九州国際大学の過去問です。文意からas if以下は主節の動詞と同じ時を表していると考えられます。従って仮定法過去の②wereが正解です。

全文:Our teacher scolds us as if we were his children.(先生はまるで私達が彼の子供であるかのように叱る。)

16.He looked(  )he were about to cry.

①as for ②as though ③even if ④even though

解答解説16
武蔵野美術大学の過去問です。he were~という表現から文の後半は仮定法過去になっている点に着目します。そのためas ifと同様に「まるで~のように」の意味を持つ②as thoughが正解です。なお主節の動詞(looked)と「泣き出しそう」は同じ時を表すので、as though以下は仮定法過去になっています。

全文:He looked as though he were about to cry.(彼は今にも泣き出しそうに見えた。

17.It is time you(  )to study.

①begin ②began ③will begin ④had begun

解答解説17
東洋大学の過去問です。It is time <S+V>のVは必ず仮定法過去になります。そのため②beganが正解です。

全文:It is time you began to study.(もう勉強する時間ですよ。)

18.If you(  )fail, she would be very sad.

①might ②should ③would ④ought to

解答解説18
京都産業大学の過去問です。文意から「万が一」を表す②shouldが正解です。なお、仮定法のshouldought toに書き換えることはできません。この問題はshouldに対応する主節の動詞がwouldと助動詞の過去形になっているパターンですね。

全文:If you should fail, she would be very sad.(万が一あなたが失敗すれば、彼女は非常に悲しむでだろう。)

19.If war(  )break out, what would you do?

①would be ②were to ③will ④will be

解答解説19
東京経済大学の過去問です。主節に助動詞の過去形がきている点に着目します。文意から「仮に~ならば」を表す②were toが正解です。

全文:If war were to break out, what would you do?(もし仮に戦争が起こったら、あなたはどうする?)

20.I was very sleepy. Otherwise, I(  )to the library with you yesterday.

①went ②would go ③had done ④would have gone

解答解説20
名古屋学院大学の過去問です。otherwiseから「さもなければ」という仮定法の表現だと考えます。仮定法の文ということは助動詞の過去形が頻出なので、②would go④would have goneの2択まで絞り込むことができます。文尾にyesterdayとあることから過去についての仮定と考え、仮定法過去完了の④would have goneが正解です。

全文:I was very sleepy. Otherwise, I would have gone to the library with you yesterday.(私はとても眠かった。さもなければ、昨日あなたと一緒に図書館へ行っただろう。)

21.(  )Sarah sing, you would have thought that she was a professional singer.

①Have heard ②Hear ③Heard ④To hear

解答解説21
愛知学院大学の過去問です。主節の動詞がwould have thoughtと仮定法過去完了の形になっている点に着目します。条件を表す不定詞句である④To hearが正解です。なお知覚動詞hearが第5文型をとるときは、補語は原形不定詞(sing)になります。

全文:To hear Sarah sing, you would have thought that she was a professional singer.(サラが歌うを聞いたら、あなたは彼女をプロの歌手だと思っただろう。)

 

参考書よりもわかりやすい英文法超入門講義TOPへ戻る

 

[広告]今Amazonで最も売れている英文法の参考書をチェックしよう!