仮定法は、事実に反することや実現の可能性が低いことを述べる文法です。「もし〜なら」と条件を言うだけの文とは違い、「実際はそうではない」という気持ちが込められています。
この記事では、多くの人がつまずく仮定法過去と仮定法過去完了の違いを中心に、最大のポイントである「時制のずれ」を早見表と例文でわかりやすく解説します。
✅ この記事でわかること
- 仮定法過去と仮定法過去完了の違い(ひと目でわかる早見表)
- 最大のポイント「時制のずれ」の考え方
- if の省略(倒置)・混合仮定・未来の仮定
- I wish/as if など仮定法を含む表現
仮定法過去と仮定法過去完了の違い(早わかり)
まず結論から。仮定法の最大のポイントは「時制のずれ」です。現在のことは過去形で、過去のことは過去完了で表します。
| 仮定法過去 | 仮定法過去完了 | |
|---|---|---|
| 表すこと | 現在の反実 | 過去の反実 |
| 意味 | もし(今)…なら〜だろう | もし(あのとき)…だったら〜だっただろう |
| if 節の動詞 | 過去形(be動詞は were) | had + 過去分詞 |
| 主節 | 助動詞の過去形(would/could/might)+原形 | 助動詞の過去形+have + 過去分詞 |
| 例 | If I knew it, I could tell you. | If I had known it, I would have told you. |
このように、「1つ前の時制」に下げることで「実際はそうではない」という反実の気持ちを表すのが仮定法の共通ルールです。以下、それぞれ詳しく見ていきます。
仮定法過去|現在の反実「もし今〜なら」
「もし(今)…なら〜だろう」という現在の事実に反する仮定は、次の形で表します。
If + 主語 + 過去形, 主語 + 助動詞の過去形(would/could/might)+ 原形
be動詞は人称に関係なく were を使うのが原則です。
(1) If I knew it, I could tell you.(それを知っていれば教えられるのに。=実際は知らない)
(2) If I were a bird, I could fly.(鳥だったら飛べるのに。)
動詞は過去形ですが、表しているのは現在のこと。ここが「時制のずれ」です。
仮定法過去完了|過去の反実「もしあのとき〜だったら」
「もし(あのとき)…だったら〜だっただろう」という過去の事実に反する仮定は、さらに1つ時制を下げて表します。
If + 主語 + had + 過去分詞, 主語 + 助動詞の過去形 + have + 過去分詞
(3) If I had known it, I would have told you.(知っていたら教えただろうに。=実際は知らなかった)
if 節は had + 過去分詞、主節は 助動詞の過去形 + have + 過去分詞 とセットで覚えましょう。
if の省略(倒置)
were / had / should のときは、if を省略でき、主語と(助)動詞を倒置します。倒置が起きたら「if が隠れている」と読むのがコツです。
(4) Were I a bird, I could fly.(= If I were a bird …)
(5) Had I known it, I would have told you.(= If I had known it …)
未来の仮定・混合仮定
should(万一)/were to(仮に) を使うと、未来のことについての仮定を表せます。
(6) If I should fail, I would try again.(万一失敗してもまたやってみる。)
また、前半が過去・後半が現在という混合仮定もあります。時制が食い違って見えても、それぞれ「あのとき」「今ごろ」を指していると考えれば読み解けます。
(7) If it had not rained last night, we would be playing now.(昨夜雨が降らなければ、今ごろ野球をしているだろうに。=混合)
仮定法を含む表現
if 節を使わなくても、仮定法とセットで使う決まった表現があります。
| 表現 | 意味 |
|---|---|
| I wish + 仮定法 | 〜であればなあ |
| as if + 仮定法 | まるで〜であるかのように |
| If only 〜 | 〜でありさえすれば |
| It is time + 仮定法過去 | もう〜してよい頃だ |
| If it were not for 〜 | もし(今)〜がなければ |
| If it had not been for 〜 | もし(あのとき)〜がなかったら |
(8) I wish I were a bird.(鳥だったらなあ。)
(9) She talks as if she owned the company.(彼女はまるで会社を所有しているかのように話す。)
if に相当する語句(if がなくても仮定)
if 節がなくても、次の語句が仮定の意味を含むことがあります。目印は助動詞の過去形です。
| 形 | 例・意味 |
|---|---|
| Without / But for 〜 | 〜がなければ(= If it were not for) |
| otherwise | もしそうでなければ |
| to 不定詞・主語 | To hear him, … / A wise man would … |
(10) Without air, we couldn’t live.(空気がなければ生きられない。)
主節に would/could/might など助動詞の過去形があれば、「どこかに仮定が隠れている」と気づけます。
つまずきポイント:仮定法の「時制のずれ」
仮定法で最も間違えやすいのが時制です。次の3点を押さえましょう。
- 過去形=過去のこと、ではない。 仮定法過去の動詞は過去形でも、表すのは現在の反実です。「もし今〜なら」と現在で訳します。
- be動詞は were が原則。 仮定法過去では、主語が I や he でも were を使います(例:If I were a bird …)。
- 過去の反実は「過去完了」まで下げる。 「あのとき〜だったら」は過去形ではなく had + 過去分詞。ここを過去形にしてしまう誤りが頻出です。
ミニ確認問題
問題(クリックで解答)
( )内を仮定法の形にしなさい。
- If I (be) rich, I would buy it.(現在)→( )
- If I (know) it then, I would have helped.(過去)→( )
- I wish I (can) fly. →( )
- 空気がなければ生きられない(Without で):( ) air, we couldn’t live.
解答
- were(現在の反実 → 仮定法過去、be動詞は were)
- had known(過去の反実 → 仮定法過去完了)
- could(I wish + 仮定法)
- Without(〜がなければ)
まとめ
- 仮定法は事実に反することを述べる文法で、最大のポイントは「時制のずれ」
- 仮定法過去=現在の反実。if 節は過去形(be動詞は were)、主節は助動詞の過去形+原形
- 仮定法過去完了=過去の反実。if 節は had + 過去分詞、主節は助動詞の過去形+have+過去分詞
- were / had / should は if を省略して倒置できる
- Without / But for など、助動詞の過去形が目印で if が隠れることもある
📘 東大・難関大の入試でも問われるこの単元は『超速東大英文法』Unit48で、解説動画・暗記用例文シートつきで学べます。
演習問題と暗記用例文シートは公式LINEで無料配布中。→ ▶ 公式LINEで友だち追加して例文シートを受け取る
英文法を中学基礎から東大レベルまで一気にやり直す全体像は → 英文法やり直し 総まとめ(ハブ)
関連記事
前へ → Unit47 話法の転換/次へ → 英文法やり直し 総まとめ(ハブ) 関連 → Unit15 助動詞の一覧と使い方

