仮定法(もし〜だったら)
Subjunctive Mood (If-clauses)
仮定法は「現実とは違うこと」を想像するときに使う特別な文法です。普通の if 文(条件文)は「十分あり得ること」を表しますが、仮定法は「実際にはそうではないけれど、もし〜だったら」という意味になります。仮定法過去は現在の事実に反する仮定、仮定法過去完了は過去の事実に反する仮定を表します。中学英語では仮定法過去の基本をしっかり押さえましょう。
直説法 vs 仮定法 — 何が違う?
まず、普通の if 文(直説法)と仮定法の違いを理解しましょう。直説法の if 文は「実現の可能性がある」場合、仮定法の if 文は「現実に反する/実現の可能性がほぼない」場合に使います。
If it rains tomorrow, I will stay home. (直説法 — 明日雨が降るかもしれない)
もし明日雨が降ったら、家にいます。(普通に起こりうる)
If I were a bird, I could fly. (仮定法 — 実際には鳥ではない)
もし私が鳥だったら、飛べるのに。(現実には不可能)
If I have time, I will help you. (直説法 — 時間がある可能性あり)
時間があったら手伝います。
If I had more money, I would buy a car. (仮定法 — 実際にはお金が足りない)
もっとお金があったら、車を買うのに。
| 直説法(起こりうる) | 仮定法(現実に反する) | |
|---|---|---|
| if 節の動詞 | 現在形 | 過去形 |
| 主節の動詞 | will + 原形 | would + 原形 |
| 例 | If it rains, I will ... | If I were ..., I would ... |
| 意味 | 〜なら、〜する | 〜だったら、〜するのに |
見分け方のコツ:if 節が過去形なのに意味が現在 → 仮定法! If I had money(今お金があったら)は仮定法。If I have money(お金があれば)は直説法。
仮定法過去 — 「もし今〜だったら」
仮定法過去は「現在の事実に反する仮定」を表します。if 節の動詞を過去形にし、主節は would / could / might + 動詞の原形にします。be動詞は主語に関係なく were を使うのが正式です。
If + S + 過去形 ..., S + would/could + 動詞の原形
If I were rich, I would travel around the world.
もし私がお金持ちだったら、世界中を旅するのに。
If I had a time machine, I could go back to the past.
もしタイムマシンがあったら、過去に戻れるのに。
If she were here, she would help us.
もし彼女がここにいたら、私たちを助けてくれるのに。
If I could fly, I would go to the moon.
もし空を飛べたら、月に行くのに。
If I spoke English well, I could study abroad.
もし英語がうまく話せたら、留学できるのに。
仮定法では be動詞は were が正式(I were, he were, she were)。日常会話では If I was... も使われますが、テストでは were を使いましょう。
I wish + 仮定法 — 「〜だったらいいのに」
I wish の後に仮定法過去(過去形)を使うと、「〜だったらいいのに」「〜だったらなあ」と現在の状況について残念に思う気持ちを表します。
I wish + S + 過去形 ....(= 〜だったらいいのに)
I wish I were taller.
もっと背が高かったらいいのに。
I wish I could play the piano.
ピアノが弾けたらいいのに。
I wish I had a dog.
犬を飼っていたらいいのに。
I wish it were sunny today.
今日晴れだったらいいのに。
She wishes she could speak French.
彼女はフランス語が話せたらいいのにと思っている。
I wish ... は「現実はそうではない」というニュアンスがあります。I wish I were taller. = 実際には背が低い。I wish I had a dog. = 実際には犬を飼っていない。
仮定法過去完了 — 「もし〜だったなら」(発展)
仮定法過去完了は「過去の事実に反する仮定」を表します。「あのとき〜していたら、…だったのに」という後悔や想像を表現します。高校で本格的に学びますが、中学でも基本を知っておくと長文読解で役立ちます。
If + S + had + 過去分詞 ..., S + would/could have + 過去分詞
If I had studied harder, I would have passed the test.
もっと勉強していたら、テストに受かっていたのに。
If I had gotten up earlier, I could have caught the train.
もっと早く起きていたら、電車に間に合ったのに。
If it had not rained, we would have played soccer.
雨が降らなかったら、サッカーをしていたのに。
| 仮定法過去(現在の仮定) | 仮定法過去完了(過去の仮定) | |
|---|---|---|
| if 節 | 過去形 | had + 過去分詞 |
| 主節 | would + 原形 | would have + 過去分詞 |
| 意味 | 今〜だったら、〜するのに | あのとき〜だったら、〜だったのに |
| 例 | If I had money, I would buy ... | If I had had money, I would have bought ... |
仮定法過去 = 今の妄想、仮定法過去完了 = 過去の後悔と覚えましょう。
仮定法の慣用表現
仮定法を使った慣用的な表現がいくつかあります。日常会話でもよく使われるので覚えておくと便利です。
If I were you, I would apologize.
もし私があなたなら、謝るだろう。(忠告の表現)
What would you do if you won the lottery?
もし宝くじに当たったら何をする?
I would rather stay home.
どちらかと言えば家にいたい。
If only I could fly!
飛べさえすればなあ!
As if he were a king.
まるで王様であるかのように。
If I were you, ... は「もし私があなたの立場なら」という意味で、人にアドバイスするときの定番表現です。目上の人にも使える丁寧な忠告の仕方です。
日本語との比較
- ●日本語の「もし〜だったら」は、可能性がある場合もない場合も同じ形ですが、英語は if 節の時制(現在形 vs 過去形)で厳密に区別します
- ●日本語で「鳥だったら飛べるのに」と言えば文脈で仮定だと分かりますが、英語は If I were a bird と文法的に仮定法を示す必要があります
- ●英語の仮定法は「時制をひとつずらす」のがポイント。現在の仮定 → 過去形、過去の仮定 → 過去完了形。日本語にはこのルールがありません
- ●I wish 〜 は日本語の「〜だったらなあ」にぴったり対応します。ただし英語では wish の後ろが過去形になるので注意
会話で使ってみよう
A
If you could go anywhere in the world, where would you go?
世界中どこでも行けるとしたら、どこに行く?
B
I would go to Paris. I wish I could speak French!
パリに行きたいな。フランス語が話せたらいいのに!
A
If I were you, I would start studying French now.
もし僕があなたなら、今からフランス語を勉強し始めるよ。
B
You're right. If I had started last year, I could speak a little by now.
そうだね。去年始めていたら、今頃少しは話せたのに。
テスト対策ポイント
高校入試・英検準2級では If I were you の慣用表現と I wish + 仮定法過去が頻出です。仮定法過去は「be動詞は were」と覚えましょう。仮定法過去完了(If I had studied ...)は高校範囲ですが、長文読解では中学生でも出会うことがあります。if節が過去形なら「仮定法だ!」と気づけるようにしましょう。
穴埋め問題
If I ___ a bird, I could fly.
If I had more time, I ___ read more books.
I wish I ___ speak English fluently.
If it had not ___, we would have gone hiking.
She acts as if she ___ the queen.
クイズ
If I were you, ... は現在の事実に反する仮定を表す。
If I had studied harder, I would have passed. は過去の事実に反する仮定である。
I wish I could speak English fluently. は今の願望を表す。
関連トピック

アプリで英語を話してみよう
AIと英会話の練習ができます。無料でダウンロード!
無料ダウンロード