モチタン辞典 › モチタン英文法辞典 › 仮定法の基本(仮定法過去・過去完了)

仮定法の基本ルール:仮定法過去・過去完了と重要構文を徹底解説
仮定法とは、「現実に反する妄想」や「実現の可能性が極めて低い仮定」を表す文法です。現実と心理的な距離を置くために時制を1つ過去へずらすのが最大のルールであり、現在の反実仮想には「仮定法過去」、過去の反実仮想には「仮定法過去完了」を用います。
この時制のズレと基本公式さえ押さえれば、直説法との区別や応用構文も迷わず見極められます。
- 仮定法は現実に反する妄想を述べるため、時制を1つ過去へずらします
- 現在の反実は仮定法過去、過去の反実は仮定法過去完了で表現します
- if節と主節で時間の基準が異なる「混合型」や倒置の形もあります
仮定法の基本(仮定法過去・過去完了)とは
仮定法の本質は「現実に反する仮定(事実ではないこと)」を述べる点にあります。事実をありのままに述べる「直説法」とは異なり、話者の頭の中にある妄想・願望・後悔を表します。
英語では「現実からの距離感」を「時制の過去への後退」で表現します。現在の事実に反することは「過去形」で、過去の事実に反することは「過去完了形」で表すため、実際の時間と文法上の時制が1段階ずれるのが特徴です。
表は横にスクロールできます →
| 分類 | 仮定する時間 | 条件節(if節)の形 | 帰結節(主節)の形 |
|---|---|---|---|
| 仮定法過去 | 現在の事実と反対 | If + 主語 + 動詞の過去形 | 主語 + would / could / might + 動詞の原形 |
| 仮定法過去完了 | 過去の事実と反対 | If + 主語 + had + 過去分詞 | 主語 + would / could / might + have + 過去分詞 |
日常会話で起こりうる条件(「もし明日晴れたら」など)には直説法を用い、起こり得ない妄想や現実に反する前提(「もし私が鳥なら」など)には仮定法を用います。
英語の文法は、話して身につけよう。会話アプリ「モチスピ」英語を話して練習できる会話アプリ。話すたびに、発音・文法・自然さをその場で直してもらえます。無料で試す
仮定法過去:現在の事実に反する仮定
仮定法過去は、「いま現在、事実とは異なる状況」を想像するときに使います。日本語では「もし今〜なら、…だろうに」と訳します。形は過去形ですが、表している意味は「現在」です。
条件節の be 動詞には、主語の人称や単数・複数を問わず伝統的に were /wəːr/ を使います。口語では was /wəz/ も使われますが、フォーマルな文や試験では were が基本です。
たとえば、If I were you I would see a doctor.(私があなたなら、病院を受診するだろう)では、「私はあなたではない」という現在の事実に反するため were と would see が使われています。
また、What would you do if you were in John's shoes?(もしジョンの立場だったらどうする?)のように、相手に非現実的な仮定を投げかける疑問文でも頻出します。主節には必ず would /wʊd/ などの助動詞の過去形が入ります。
会話で「もし〜だったら?」と短く問いかける形は、what ifの意味・時制とifとの違いで確認できます。現実的な可能性を尋ねる場合も含めて使い分けを整理しています。
仮定法過去完了:過去の事実に反する仮定
仮定法過去完了は、「あのとき実際には起きなかった過去の出来事」を振り返り、「もし過去に〜していたら、…だっただろうに」と後悔や安堵を表す形です。
条件節には「過去完了形(had + 過去分詞)」を用い、主節には「助動詞の過去形 + have + 過去分詞」を用います。主節の have は助動詞の後ろにあるため、主語にかかわらず常に原形です。
例文として、Yeah, if I had left five minutes earlier, I'd have caught it.(うん、あと5分早く出ていれば乗れたのに)が挙げられます。実際には5分早く出発しなかったため電車やバスに乗り遅れた、という過去の事実に対する反実仮想です。
会話では I would have の短縮形として I'd have /aɪd həv/ や、さらにくだけた形として would've /wʊdəv/ という発音が非常によく使われます。
混合型:過去の原因が現在に影響する形
仮定法では、if節と主節で時間の基準が異なる「混合型」が存在します。典型的なパターンは、「もし過去に〜していたら(過去の反実)、いま現在は…だろうに(現在の反実)」という因果関係を表す構造です。
条件節には仮定法過去完了(had + 過去分詞)を使い、主節には仮定法過去(would + 動詞の原形)を組み合わせます。主節に now や today などの現在の時を表す副詞が置かれることが多く、これが見分ける合図になります。
例文として、If we had sent it on time, you wouldn't be so upset.(予定通り提出していれば、そんなに動揺していないだろう)を見てみましょう。「過去に提出しなかった」という原因が、「今あなたが動揺している」という現在の状態を生んでいます。
公式を機械的に当てはめるだけでなく、「どの時点の事実に反しているのか」を文脈から見極めることが大切です。
過去の反実仮想が現在の状態に影響を及ぼす時間の構造を示しています。
would・could・mightのニュアンスの違い
仮定法の主節で用いられる助動詞は、話し手の確信度や伝えたいニュアンスによって使い分けられます。基本となる3つの助動詞の意味の違いを整理しましょう。
- would /wʊd/:「〜するだろう」「〜だろうに」(意思・推量)
仮定の条件が満たされた場合、確実にそうなる・そうするという強い意志や推測を表します。 - could /kʊd/:「〜できるだろう」「〜できるのに」(能力・可能)
can の過去形で、「やろうと思えば可能である」という能力や実現可能性に焦点を当てます。I would if I could.(できればそうしたいけど、できない)はこの対比の代表例です。 - might /maɪt/:「ひょっとすると〜かもしれない」(控えめな推量)
would よりも確信度が低く、「可能性としてあり得る」程度の控えめな推測を添えます。
また、相手への依頼として If you could bring me some water, that would help.(水を持ってきてくれると助かるよ)のように、丁寧さを出すクッション表現としても could と would は日常的に使われます。
would
- 「〜するだろう」「〜だろうに」
- 意思・推量を表す
- 条件を満たせば確実にそうなる強い推測
could
- 「〜できるだろう」「〜できるのに」
- 能力・可能を表す
- やろうと思えば可能である点に焦点
might
- 「ひょっとすると〜かもしれない」
- 控えめな推量を表す
- wouldより確信度が低く可能性を示唆
仮定法の主節で用いられる3つの助動詞の意味やニュアンスの違いです。
ifの省略と倒置:文頭に助動詞が出る形
フォーマルな文章や文学的表現では、接続詞の if を省略することがあります。if を省略すると、主語と助動詞が入れ替わる「倒置」が発生します。
倒置が起こるのは主に次の3つのパターンです。
- had が文頭に出る場合(仮定法過去完了):
If I had known... → Had I known the truth, I would have told you.(もし真実を知っていたら、あなたに話していただろう) - were が文頭に出る場合(仮定法過去):
If I were in your place... → Were I in your place, I would accept the offer.(もしあなたの立場なら、その申し出を受けるだろう) - should が文頭に出る場合(万一の仮定):
If you should need help... → Should you need any help, please let me know.(万一助けが必要でしたら、お知らせください)
文頭に Had や Were があり、疑問文ではない(末尾がピリオドである)文を見かけたら、if が省略された仮定法の倒置文だと判断してください。
Had〜(過去完了)
- If I had known...
- Had I known...
Were〜(仮定法過去)
- If I were...
- Were I in your place...
Should〜(万一)
- If you should need...
- Should you need...
接続詞ifを省略した際に文頭に助動詞が出る3つの代表的な倒置パターンです。
I wish・as if・It's timeの重要構文
仮定法は if 節以外でも、「現実に反する妄想」を表すさまざまな構文で使われます。代表的な3つの構文を押さえましょう。
1. I wish + 仮定法(〜ならいいのに)
実現不可能な願望を表します。現在の願望には過去形(I wish I knew.「知っていればいいのに」)、過去の後悔には過去完了(I wish I had met him.「彼に会っていればよかったのに」)を使います。
2. as if + 仮定法(まるで〜であるかのように)
事実とは異なる様子を比喩的に述べます。例文の He was acting as if he had the client's best interests at heart.(彼は顧客の利益を第一に考えているかのように振る舞っていた)では、実際にはそう思っていないことを示唆しています。
3. It's time + 仮定法過去(もう〜してもよい時間だ)
「現実はまだしていないが、当然もう〜しているべき時間だ」という催促を含みます。動詞には過去形を用います(It's time you went to bed.「もう寝る時間だよ」)。
辞典の例文で見る仮定法の基本(仮定法過去・過去完了)
| 英文 | 和訳 | ポイント |
|---|---|---|
| If I had to choose I'd choose ice cream. ▶ | もし選ばなければならないとしたら、アイスクリームかな。 | 現在の非現実的な選択を述べる仮定法過去 |
| What would you do if you were in John's shoes? ▶ | もしジョンの立場だったらどうする? | 相手の立場を仮定する were と would の疑問文 |
| If you could bring me some water, that would help. ▶ | 水を持ってきてくれると助かるよ。 | could を使った控えめで丁寧な依頼表現 |
| I would if I could. ▶ | できればそうしたいけど、できない | would(意志)と could(可能)の使い分け |
| If I were you I would see a doctor. ▶ | 私があなたなら、病院を受診するだろう。 | If I were you を用いた助言の典型パターン |
| Yeah, if I had left five minutes earlier, I'd have caught it. ▶ | うん、あと5分早く出ていれば乗れたのに。 | 過去の乗り遅れに対する仮定法過去完了 |
| He was acting as if he had the client's best interests at heart. ▶ | 彼は顧客の利益を第一に考えているかのように振る舞っていたからだ。 | 事実に反する様子を表す as if 構文の過去完了 |
| If we had sent it on time, you wouldn't be so upset. ▶ | 予定通り提出していれば、そんなに動揺していないだろう。 | 過去の原因が現在に影響する混合型の用例 |
確認問題(5問)
現在の事実に反する仮定を表す文として、空所に適切な語を選びなさい。 If I ( ) you, I would see a doctor.
答えと解説
正解: were
現在の事実に反する仮定法過去の条件節のbe動詞には、主語を問わず伝統的にwereを使います。次のうち、文法的に正しい仮定法過去完了の文を選びなさい。
答えと解説
正解: If I had left earlier, I would have caught it.
仮定法過去完了は「If+主語+had+過去分詞, 主語+would/could/might+have+過去分詞」です。「If we had sent it on time, you wouldn't be so upset.」の意味として最も適切なものを選びなさい。
答えと解説
正解: 予定通り提出していれば、そんなに動揺していないだろう。
過去の条件(had sent)が現在の結果(wouldn't be)に影響している混合型の文です。ifを省略した倒置の文として、誤りを含むものを1つ選びなさい。
答えと解説
正解: Did I know the truth, I would have told you.
本文で紹介されているif省略の倒置は、Had、Were、Shouldが文頭に出る3パターンです。「もう寝る時間だよ」という意味を表す文の空所に入る適切な語を選びなさい。 It's time you ( ) to bed.
答えと解説
正解: went
「It's time + 仮定法過去」の構文では、動詞に過去形(went)を用います。
英語で「もし〜」の使い分け:中学英語の直説法ifと仮定法の違い
中学英語で習う if と高校英語で習う仮定法では、話し手の頭の中にある「現実味」が根本から異なります。「英語で『もし〜』と言いたいときにどちらを使うべきか」は、その状況が実際に起こり得るかどうかを基準に判断します。
現実味がある条件(直説法)
「もし明日雨が降ったら、家にいよう」のように、十分に起こり得る未来の条件や一般的な事実を述べる場合は「直説法」を用います。条件節は現在形にし、主節には will や命令文を使います。
例文:If it rains tomorrow, I will stay home.(もし明日雨が降ったら、家にいます)
現実にはあり得ない妄想(仮定法)
一方、「もし空を飛べたら、海を越えるのに」のように、現在の事実とは正反対のことや、実現の可能性が極めて低い妄想を語る場合は「仮定法」を用います。現実との心理的な距離を置くために動詞の時制を過去にずらし、主節には would や could を補います。
例文:If I could fly, I would cross the ocean.(もし空を飛べたら、海を越えるのに)
| 分類 | 話し手の認識 | if節の動詞 | 主節の動詞 | 例文 |
|---|---|---|---|---|
| 直説法(中学英語) | 起こる可能性がある | 現在形 | will + 動詞の原形 | If you study hard, you will pass the exam. (一生懸命勉強すれば、試験に合格するよ) |
| 仮定法(高校英語) | 事実と反対・妄想 | 過去形 | would + 動詞の原形 | If you studied hard, you would pass the exam. (一生懸命勉強していれば、試験に合格するだろうに【実際は勉強していない】) |
wishとhopeの違い:叶わぬ妄想と実現可能な希望の使い分け
日本語の「〜ならいいのに」「〜を願う」に相当する代表的な動詞に wish と hope があります。どちらも願望を表しますが、後ろに続く文法構造と「実現の可能性」が決定的に異なります。
I wish + 仮定法(実現不可能な妄想・後悔)
wish の後ろには仮定法(過去形または過去完了形)が続き、「現実にはあり得ないこと」や「変えられない過去への後悔」を表します。話し手自身が「実際にはそうではない」と認識している点が特徴です。
例文:I wish I had more free time.(もっと自由な時間があればいいのに【実際は忙しくて時間がない】)
例文:I wish I hadn't eaten so much.(あんなにたくさん食べなければよかったのに【実際は食べすぎて後悔している】)
I hope + 直説法(実現可能性がある希望)
hope の後ろには直説法(現在形や未来を表す will)が続き、「これから実現する見込みが十分にあること」を願います。事実と反対の妄想には使えません。
例文:I hope you pass the exam.(試験に合格することを願っています【合格する可能性がある】)
例文:I hope it will be sunny tomorrow.(明日晴れるといいな【晴れる可能性がある】)
相手の幸運や成功を前向きに応援したい場面では hope を使い、現実に反する叶わぬ願望をつぶやく場面では wish を使います。
「〜がなければ」の書き換え:without・but for・if it were
英語の試験や長文読解で頻出するのが、「〜がなければ」「〜がなかったら」を表す仮定法の重要構文です。前置詞を用いた短い表現から、節を用いた形、接続詞の省略による倒置構文への書き換えパターンを整理して覚えましょう。
現在の支えを否定する「今〜がなければ」(仮定法過去)
現在の事実と反対の条件を述べる場合、次の4つの形はすべて同じ意味を表します。
Without your help, I could not finish this work.
= But for your help, I could not finish this work.
= If it were not for your help, I could not finish this work.
= Were it not for your help, I could not finish this work.(if の省略による倒置)
(あなたの助けがなければ、この仕事を終えることはできないだろう)
過去の出来事を否定する「あのとき〜がなかったら」(仮定法過去完了)
過去に起きた事実と反対の条件を述べる場合は、完了形を用います。
Without your advice, I would have failed.
= But for your advice, I would have failed.
= If it had not been for your advice, I would have failed.
= Had it not been for your advice, I would have failed.(if の省略による倒置)
(あなたのアドバイスがなかったら、失敗していただろう)
文頭に Without や But for が置かれている文は、主節の助動詞の形(could not finish なのか would have failed なのか)を見ることで、現在と過去のどちらを仮定しているか正確に見抜けます。
「英語仮定法」のよくある疑問
よくある質問
- Q. 仮定法過去で was は使えないのですか?
- 日常会話では I was や he was も広く使われています。ただし、文法的に正式なのは人称にかかわらず were です。入試や資格試験、改まったビジネス文書では were を使うのが安全です。
- Q. 直説法の if と仮定法はどう見分けますか?
- 動詞の時制で見分けます。「明日晴れたら行く」のように実現可能性がある場合は現在形(直説法)を使います。「私が鳥なら」のようにあり得ない妄想は過去形(仮定法)を使います。主節に would や could があるかも目印です。
- Q. 主節に would ではなく could を使う基準は?
- 能力や可能性(〜できる)を含めたい場合に could を使います。「〜するだろう」という推量や意志を述べるなら would、「〜できるだろうに」と可能・能力を言いたいなら could を選びます。
- Q. 仮定法の主節で would や could などの助動詞を入れ忘れると間違いになりますか?
- 文法上の重大な誤りになります。仮定法の帰結節(主節)には、現実から一歩引いた推量・妄想であることを明示するために、would、could、might などの助動詞の過去形が不可欠です。助動詞を抜いて普通の過去形(例: I bought it)にしてしまうと、過去に実際に起きた事実を述べる直説法の文になってしまいます。
- Q. If節の中に will を使うことは絶対にありませんか?
- 原則として、時や条件を表す副詞節では未来のことでも現在形を用いるため will は使いません。ただし、「もし〜する意思があるなら」という相手の強い意志を表す場合や、「もし〜していただけるなら」という改まった依頼を表す場合に限り、If you will help us... のように助動詞 will を用いる例外が存在します。
2026年9月24日更新・モチタン辞典編集部
モチタン英文法辞典で続けて学ぶ
「仮定法・比較」の項目(29)
分からない用語は 文法用語のやさしい辞典 へ
📘 モチタン英文法辞典のトップへ(全260項目)