仮定法の基本 ― if と would で「現実じゃない話」を英語で言う

仮定法は「話し手が現実ではないと思っている世界」を語る英語のモード。直説法 if との違い、仮定法過去・仮定法過去完了・ミックス条件文の形を時間軸図解で整理し、I wish / as if / It's time などの応用表現までを例文で理解する。

「もしお金があったら、家を買うのに」「あのとき駅で会っていれば、友達になれたかもしれないのに」― 日本語で「〜なら…のに」と言うとき、話し手は 現実にはそうじゃない とわかっています。英語にもこの「現実じゃない話」を表す専用のモードがあり、仮定法 と呼ばれます。

仮定法の難しさは、動詞の時制を 1 つずつ過去方向にずらすという独特のルールにあります。「今」の話をしたいのに動詞は 過去形、「過去」の話をしたいのに 過去完了形。このズレが、日本語話者にとって最大のつまずきポイントです。この記事では、直説法との違い → 仮定法過去 → 仮定法過去完了 → ミックス条件文 → 応用表現 の順に、時間軸の図解と例文で整理していきます。

仮定法と直説法 ― どちらも if だが意味は全く違う

英語の if 文には 2 種類あります。話し手が現実路線だと思っているか、現実じゃない(非現実)路線だと思っているかで、使う動詞の形がまったく変わります。

If it rains tomorrow, I will stay home.

もし明日雨が降ったら、家にいます。

If I were you, I would go.

もし私があなたなら、行くだろう。

前の文「If it rains tomorrow, I will stay home.」は、話し手が「雨が降る可能性はある」と思っているからこそ言える文です。if 節は 現在形、主節は will + 原形。これは 直説法 の条件文と呼ばれ、未来の可能性を語ります。

後の文「If I were you, I would go.」は、話し手が「自分は you ではありえない」と知っているからこそ成り立つ文です。if 節は 過去形(were)、主節は would + 原形。これが 仮定法過去 で、現実には起こっていない(起こりえない)ことを語ります。

if 文には「直説法(現実路線)」と「仮定法(非現実路線)」の 2 種類があり、話し手が現実だと思っているかどうかで分岐することを示した図

文の種類if 節主節表すもの
直説法(現実路線)現在形will + 原形可能性のある未来
仮定法過去(非現実)過去形would + 原形現在の非現実
仮定法過去完了(非現実)had + 過去分詞would have + 過去分詞過去の非現実
✓ 仮定法のコアは「話し手の現実認識」

if があるかどうかではなく、話し手が「これは現実ではない」と思っているか が仮定法の入口です。現実ではないと思っているから、動詞を 1 段階過去にずらして「現実の時間軸とは違う」というサインを出します。

仮定法過去 ― 「今、もし〜なら…だろうに」(現在の非現実)

仮定法過去 は「現在の事実に反する仮定」を語る形です。名前に「過去」と入っていますが、指している時間は現在です。動詞を過去形にするのは「現実の時間軸から一歩ずれた世界」というマーカーにすぎません。

基本の形は次のとおりです:

If + 主語 + 過去形, 主語 + would / could / might + 原形

If I had enough money, I would buy a car.

もし十分なお金があれば、車を買うのに。

「今、十分なお金があれば車を買うのに」という文ですが、実際には お金は十分にない からこそこの文が成立します。if 節の動詞 had は過去形ですが、話しているのは のこと。主節の would buy は「(現実ではないが)買うのに」という話し手の判断を表します。

be 動詞は were を使う

仮定法過去の大きな特徴として、be 動詞の場合は 主語が I / he / she / it でも were を使う のが伝統的なルールです(口語では was も許容されますが、書き言葉や丁寧な会話では were が望ましい)。

If she were here, she could help us.

もし彼女がここにいれば、私たちを手伝ってくれるだろうに。

主語 she なのに be 動詞が were。これが「この文は仮定法です」というサインです。

仮定法過去のタイムライン。現在の分岐点で「現実ライン(お金がない/彼女はここにいない)」と「非現実ライン(お金があれば/彼女がいれば)」が並行して伸びる様子を示した図

✓ 仮定法過去は「過去形だが現在の話」

名前の「過去」に惑わされないでください。仮定法過去が指す時間は 今・現在 です。動詞を過去形にするのは、現実の時間軸と違う ことを示すマーカーです。

仮定法過去完了 ― 「あのとき〜だったら…だっただろうに」(過去の非現実)

仮定法過去完了 は「過去の事実に反する仮定」を語る形です。「過去のあの時点で、もし違う選択をしていたら、結果は違っただろうに」という 後悔・悔しさ・反省 を表すことが多い形です。

基本の形は次のとおりです:

If + 主語 + had + 過去分詞, 主語 + would / could / might + have + 過去分詞

If I had known the truth, I would have told you.

もし真実を知っていたら、あなたに伝えたのに。

「もし真実を知っていたら、あなたに伝えたのに」という文。実際には 知らなかった から伝えなかった、という過去の事実が背景にあります。if 節は had known、主節は would have told。どちらも 過去完了形 を使うことで「過去の非現実」を表します。

If you had studied harder, you could have passed the exam.

もっと熱心に勉強していたら、試験に合格できただろうに。

「もしもっと熱心に勉強していれば、試験に合格できただろうに」― 試験は終わっていて、結果は合格ではなかった。この後悔を仮定法過去完了で表現しています。

仮定法過去完了のタイムライン。過去の分岐点で「現実ライン(知らなかった/勉強しなかった)」と「選ばれなかった道(知っていれば/勉強していれば)」が分かれ、その結果も過去の時点で示される様子を示した図

主節の助動詞で意味が変わる

主節の助動詞は would に固定ではなく、ニュアンスに応じて could / might / should を使い分けます。

助動詞ニュアンス訳の目安
would have + 過去分詞〜しただろうに意志・結果
could have + 過去分詞〜できただろうに可能性・能力
might have + 過去分詞〜したかもしれないのに弱い推量
should have + 過去分詞〜すべきだったのに後悔・義務
✓ if 節に would / will は入れない

日本語話者がよくやるミスが if 節に would を入れてしまう ことです。× If I would have known, ... は誤り。if 節は had + 過去分詞、主節は would have + 過去分詞。時間をずらすのは動詞の形だけで、助動詞 would は 主節専用 と覚えましょう。

ミックス条件文 ― 過去の原因 × 現在の結果

仮定法過去と仮定法過去完了を見てきましたが、実際の会話では 2 つが混ざる パターンもよく出てきます。「あのとき〜していたら、今ごろは…なのに」のように、過去の分岐が現在の状態に影響している ケースです。これを ミックス条件文(mixed conditional)と呼びます。

基本の形は次のとおりです:

If + 主語 + had + 過去分詞, 主語 + would / could / might + 原形
  (if 節は過去完了、主節は「今」の形)

If I had caught the train, I would be in Tokyo now.

あの電車に乗っていたら、今ごろは東京にいるのに。

「あの電車に乗っていたら、今ごろは東京にいるのに」という文。if 節は had caught(過去の非現実)、主節は would be(現在の非現実)。時間軸が 過去 → 現在 でずれているのがポイントです。

ミックス条件文のタイムライン。過去の分岐点で選ばれなかった道が、そのまま現在まで伸びて「今の状態」に影響している様子を矢印で示した図

このように仮定法は、if 節と主節で異なる時間 を指すこともできます。組み合わせを整理すると次のようになります:

if 節の動詞形主節の動詞形指す時間
過去形would + 原形現在 × 現在
had + 過去分詞would have + 過去分詞過去 × 過去
had + 過去分詞would + 原形過去 × 現在(ミックス)

仮定法を使った応用表現 ― I wish / as if / It's time

if 文以外にも、仮定法の動詞形(過去形・過去完了形)を使う定型表現があります。これらは 現実に反する願望・想像・要求 を表すパターンで、仮定法のコア感覚(非現実)を応用したものです。

I wish + 仮定法 ― 「〜ならいいのに/〜だったらよかったのに」

I wish は「現実には違うけれど、そうであってほしい」という願望を表します。後ろに 仮定法過去 が来ると 現在の願望仮定法過去完了 が来ると 過去への後悔 を表します。

I wish I could speak French fluently.

フランス語が流暢に話せたらいいのに。

「フランス語が流暢に話せたらいいのに」― 実際には話せない、という現在の事実に反する願望。I wish の後ろは仮定法過去(could speak)です。

I wish I had studied more when I was young.

若いころにもっと勉強していたらよかった。

「若いころにもっと勉強していたらよかった」― 過去の行動への後悔。I wish の後ろは仮定法過去完了(had studied)です。

✓ I wish と I hope の違い

日本語訳はどちらも「〜だといいな」ですが、英語では明確に違います。I wish は「現実には違う/実現は難しい」という願望。I hope は「実現する可能性がある」望み。I wish it would rain.(現実には降らなさそう)/ I hope it rains.(降る可能性はある)と使い分けます。

as if / as though + 仮定法 ― 「まるで〜かのように」

as if / as though は「実際はそうではないが、そう見える・そう振る舞う」を表します。

He talks as if he knew everything.

彼はまるで何でも知っているかのように話す。

「彼はまるで何でも知っているかのように話す」― 実際には何でも知っているわけではないことを話し手は知っています。as if の後ろは仮定法過去(knew)です。

It's time + 仮定法過去 ― 「もう〜する時間だ(まだしていない)」

It's time の後ろに仮定法過去を続けると、「もうその時間なのに、まだ実行されていない」という 軽い非難・促し のニュアンスが出ます。

It's time you went to bed.

もう寝る時間だよ。

「もう寝る時間だよ」― 寝ていないという現実に対して、寝るべきだという促し。動詞は過去形(went)ですが、指すのは今のことです。

よくある誤用例

最後に、日本語話者がつまずきやすい誤用パターンを 2 つ紹介します。

誤用 1: be 動詞を was にする / 主節の助動詞を will にする

× If I was you, I will go.

正しい形:

If I were you, I would go.

もし私があなたなら、行くだろう。

仮定法過去では、主語が I でも be 動詞は were。主節の助動詞は would です。waswill は直説法の形なので、混ぜると「現実の話なのか、非現実の話なのか」が曖昧になってしまいます。

誤用 2: if 節に would を入れる

× If I would have known, I would have come.

正しい形:

If I had known, I would have come.

もし知っていたら、来ただろうに。

if 節に would / will を入れるのは日本語話者の代表的なミスです。if 節は had + 過去分詞(過去の非現実)、主節は would have + 過去分詞。時間をずらすのは動詞の形だけで、助動詞 would は 主節専用 と覚えましょう。


仮定法は「話し手が現実ではないと思っている世界」を語るための英語のモードです。動詞を 1 段階過去にずらすという独特のルールさえつかめば、仮定法過去・仮定法過去完了・ミックス条件の 3 つの型はすべて同じ原理で説明できます。まずは If I were you, I would ... のような典型文から口慣らしをし、徐々に仮定法過去完了・I wish・as if へと応用の幅を広げていきましょう。

実際の英文で試してみよう

気になる英文を Grammi に入力すると、構造を色分けして解析します。

Grammi で解析する