はじめに:仮定法って何がムズかしいの?
英文法の中でも「仮定法」はつまずく人が多いテーマNo.1です。
つまずく理由はシンプルで、日本語にない感覚だからです。
日本語では「もし明日雨が降ったら」も「もし自分が鳥だったら」も、同じ「もし〜たら」で言えてしまいます。でも英語では、この2つを文法的に区別します。
- 現実にありえること → 直説法(ふつうの if 文)
- 現実とちがうこと・想像の話 → 仮定法
この記事では「仮定法って何?」というところから、入試に出るパターンまでゼロから解説します。

1. まず「直説法」を確認しよう
仮定法を理解するには、まずふつうの if 文(直説法)を押さえておく必要があります。
If it rains tomorrow, I will stay home.
(明日雨が降ったら、家にいるよ。)
これは「明日雨が降るかもしれない」という現実にありえる話ですよね。
ポイントは時制です。
部分 | 時制 |
|---|---|
if 節 | 現在形(rains) |
主節 | will + 動詞の原形(will stay) |
「明日の話なのに現在形?」と思うかもしれませんが、英語では if 節の中では未来のことも現在形で書く というルールがあります。これは仮定法とは関係なく、ふつうの文法ルールです。
2. 仮定法過去 ―「今〜だったらなぁ」
ここからが本題です。
If I were a bird, I would fly to you.
(もし私が鳥だったら、あなたのところへ飛んでいくのに。)
これは「実際には鳥じゃない」ですよね。現実とちがうことを想像しているわけです。
この「現実とちがう想像」を表すとき、英語では 時制を1つ過去にズラす というルールがあります。これが仮定法です。
仮定法過去の形
部分 | 形 |
|---|---|
if 節 | 過去形(were / had / knew など) |
主節 | would + 動詞の原形 |
「過去形を使っているけど、意味は現在の話」 というのが最大のポイントです。
名前が「仮定法過去」なのでややこしいですが、過去の話をしているわけではありません。過去形を使って「現実とのズレ」を表現しているのです。
were の特別ルール
仮定法では、主語が I / he / she / it でも were を使います。
If I were you, I would apologize.
(もし私があなたなら、謝るだろう。)
If he were here, he would help us.
(もし彼がここにいたら、手伝ってくれるのに。)
口語では was を使う人もいますが、入試では were が正解 になります。
例文で感覚をつかもう
英文 | 和訳 | 現実 |
|---|---|---|
If I had a car, I would drive to school. | 車があったら学校まで運転するのに。 | 車を持っていない |
If I knew her number, I would call her. | 彼女の番号を知っていたら電話するのに。 | 番号を知らない |
If I were rich, I would travel the world. | お金持ちだったら世界を旅するのに。 | お金持ちではない |
すべて「今の現実と違うこと」を言っているのがわかりますね。
3. 仮定法過去完了 ―「あのとき〜だったらなぁ」
仮定法過去が「今の話」だったのに対し、過去のことを振り返って「あのときこうだったら…」と言いたいときは、さらに時制を1つ過去にズラします。
If I had studied harder, I would have passed the exam.
(もっと勉強していたら、試験に受かっていたのに。)
これは「実際には勉強しなかったから落ちた」という過去の後悔ですね。
仮定法過去完了の形
部分 | 形 |
|---|---|
if 節 | had + 過去分詞(had studied) |
主節 | would have + 過去分詞(would have passed) |
例文で感覚をつかもう
英文 | 和訳 | 現実(過去) |
|---|---|---|
If I had left earlier, I would have caught the train. | もっと早く出ていたら電車に間に合ったのに。 | 早く出なかった |
If it had not rained, we would have played baseball. | 雨が降らなかったら野球をしていたのに。 | 雨が降った |
If she had known the truth, she would have been angry. | 真実を知っていたら彼女は怒っていただろう。 | 真実を知らなかった |
4. 2つの仮定法を並べて整理
ここまでの内容を表にまとめます。
仮定法過去 | 仮定法過去完了 | |
|---|---|---|
意味 | 今の現実と違う想像 | 過去の現実と違う想像 |
if 節 | 過去形 | had + 過去分詞 |
主節 | would + 動詞の原形 | would have + 過去分詞 |
例 | If I were a bird, ... | If I had studied harder, ... |
覚え方:現実から時制を1つズラす
- 今の話 → 現在形を過去形にズラす → 仮定法過去
- 過去の話 → 過去形をさらに過去(大過去)にズラす → 仮定法過去完了

5. I wish 〜 ―「〜だったらいいのに」
仮定法は if 文だけではありません。I wish のあとにも仮定法が使われます。
今のことへの願望(仮定法過去)
I wish I were taller.
(もっと背が高かったらいいのに。)
I wish I had more time.
(もっと時間があればいいのに。)
I wish のあとに過去形が来ていますが、意味は今の話です。
過去のことへの後悔(仮定法過去完了)
I wish I had studied harder.
(もっと勉強しておけばよかった。)
I wish I had not said that.
(あんなこと言わなければよかった。)
I wish のあとに had + 過去分詞 が来ると、過去への後悔の意味になります。
6. as if / as though 〜 ―「まるで〜のように」
He talks as if he knew everything.
(彼はまるで何でも知っているかのように話す。)
実際には何でも知っているわけではないので、仮定法過去(knew)が使われています。
She looked as if she had seen a ghost.
(彼女はまるで幽霊を見たかのような顔をしていた。)
「幽霊を見た」のは主節(looked)より前の時点なので、仮定法過去完了(had seen)です。
7. without 〜 / but for 〜 ―「〜がなかったら」
if 節を使わずに仮定法を表す表現もあります。
Without water, we could not survive.
= If it were not for water, we could not survive.
(水がなかったら、生きていけない。)
But for your help, I would have failed.
= If it had not been for your help, I would have failed.
(あなたの助けがなかったら、失敗していた。)
表現 | 書き換え |
|---|---|
without 〜 | if it were not for 〜(現在) |
but for 〜 | if it had not been for 〜(過去) |
8. 入試でよく出る!仮定法の見分け方
入試問題で仮定法が出てきたとき、最初にやるべきことは 「現実の話か、想像の話か」を判断する ことです。

チェックポイント
- if 節の動詞が過去形 → 仮定法過去の可能性あり
- 主節に would / could / might がある → 仮定法のサイン
- I wish / as if / without が文中にある → 仮定法
- if 節が had + 過去分詞 → 仮定法過去完了
練習問題
次の空所に入る語を選んでみましょう。
Q1. If I _____ enough money, I would buy a new laptop.
(A)have (B)had (C)will have (D)have had
Q2. I wish I _____ at the party last night.
(A)am (B)were (C)had been (D)would be
Q3. He speaks as if he _____ a native speaker.
(A)is (B)were (C)has been (D)will be
解答と解説
Q1. 正解:(B)had
主節に would があるので仮定法過去。if 節は過去形の had が正解。「お金があったら新しいノートパソコンを買うのに(実際にはお金がない)」
Q2. 正解:(C)had been
last night(昨夜)なので過去の話。I wish + 仮定法過去完了で had been が正解。「昨夜パーティーにいればよかった」
Q3. 正解:(B)were
as if のあとは仮定法。実際にはネイティブではないので仮定法過去。were が正解。「まるでネイティブスピーカーのように話す」
まとめ
ポイント | 内容 |
|---|---|
仮定法の本質 | 現実と違うことを「時制のズレ」で表す |
仮定法過去 | 今の想像 → if + 過去形, would + 原形 |
仮定法過去完了 | 過去の想像 → if + had + p.p., would have + p.p. |
I wish | 願望・後悔 → 仮定法過去 or 仮定法過去完了 |
as if | 「まるで〜のように」 → 仮定法 |
見分けのコツ | would / could / might が主節にあれば仮定法を疑う |
仮定法は「時制をズラす」というたった1つのルールがわかれば、実はシンプルです。まずはこの記事の例文を何度も音読して、感覚をつかんでいきましょう。
近大英語の文法問題を実際に解いてみたい方は、文法・語法ドリルで練習できます。仮定法を含む近大頻出の文法事項を、本番と同じ4択形式で演習できます。
