「仮定法過去」とは何か─過去形が「現在」を表す不思議な仕組み
英語には、動詞の過去形を使っているのに、意味は「過去」ではなく「現在の非現実」を表すという、一見矛盾したルールがあります。これを「非現実の過去(Unreal Past)」、日本の学校英文法では一般に「仮定法過去」と呼びます。
たとえば次の文を見てください。
- If I had more time, I would learn the piano.
(もっと時間があれば、ピアノを習うのになあ。)
この "had" は文法的には過去形ですが、意味しているのは「今、時間がない」という現在の事実です。日本語では「〜すれば」「〜だったら」という表現に対応しますが、日本語の発想では「時制」と「現実か非現実か」を分けて考える習慣がないため、多くの学習者が「なぜ過去形なのか」でつまずきます。
英語では、動詞の形(時制)は必ずしも「時間」を表すとは限らず、「話し手の心理的な距離」を表すことがあります。過去形を使うことで、「これは現実から一歩離れた、想像上の話ですよ」という合図を出しているのです。これは日本語にはない発想であり、英文法の中でも特に「発想の転換」が必要な項目です。
この仮定法過去は、If I were you(もし私があなたなら)のような助言表現、I wish(〜だったらいいのに)を使った願望表現、It's time(そろそろ〜する時間だ)を使った表現など、日常会話で非常によく使われます。試験対策としてだけでなく、実際の英語コミュニケーションでも頻出する重要文法です。
仮定法過去の基本形(公式)と時制のズレ
まず、核となる公式を押さえましょう。ポイントは「現在の事実に反することを言うのに、動詞は1つ過去にずらす」という一貫したルールです。
If節を使う仮定法過去(現在の事実に反する仮定)
| 節 | 形 | 例 |
|---|---|---|
| If節(条件節) | If + 主語 + 過去形(be動詞は原則 were) | If I had money |
| 主節(帰結節) | 主語 + would / could / might + 動詞の原形 | I would buy a car |
公式: If + S + 過去形 ~, S + would/could/might + 動詞の原形 ~.
例文:
- If it weren't raining, we could go for a walk.
(雨が降っていなければ、散歩に行けるのに。) - If she knew the answer, she would tell you.
(彼女がその答えを知っていれば、あなたに教えるだろうに。)
否定文・疑問文も、通常の過去形の文と同じ作り方です。
| 文の種類 | 形 | 例 |
|---|---|---|
| 肯定文 | If + S + 過去形 | If I were rich, ... |
| 否定文 | If + S + didn't + 動詞の原形 / weren't | If I didn't have work, ... |
| 疑問文(帰結節) | Would/Could + S + 動詞の原形...? | Would you help me if I asked? |
be動詞は were を使う(wasではなく)
仮定法過去では、主語が I / he / she / it であっても、be動詞は was ではなく were を使うのが伝統的な規則です。
- If I were you, I would apologize.
(もし私があなたなら、謝るだろう。) - If he were here, he would know what to do.
(もし彼がここにいれば、どうすべきか分かるだろう。)
※くだけた会話では was も使われますが、"If I were you" は決まり文句としてほぼ常に were が使われます。試験や書き言葉では were を使うのが基本と覚えておきましょう。
I wish / If only を使う仮定法過去(現在の願望)
| 形 | 意味 | 例 |
|---|---|---|
| I wish + S + 過去形 | 〜だったらいいのに(現在の事実に反する願望) | I wish I spoke French. |
| If only + S + 過去形 | 〜さえすれば(より強い願望・後悔) | If only I had more free time. |
It's time / would rather を使う仮定法過去
| 形 | 意味 | 例 |
|---|---|---|
| It's (high) time + S + 過去形 | もう〜する時間だ(本来なら既にすべきこと) | It's time you went to bed. |
| would rather + S + 過去形 | (相手に)〜してほしいのだが | I'd rather you didn't smoke here. |
仮定法過去の主な用法
- 現在の事実に反する仮定を述べる:今の現実とは違う状況を想像するときに使います。
-
If I had wings, I would fly to Japan right now.
(もし翼があれば、今すぐ日本へ飛んでいくのに。) -
実現可能性が低い、または非現実的な未来の仮定を述べる:可能性が極めて低い未来を想像するときにも使います。
-
If I won the lottery, I would travel around the world.
(もし宝くじに当たったら、世界中を旅するだろう。) -
丁寧に助言する(If I were you):相手の立場に自分を置き換えて助言する定型表現です。
-
If I were you, I would talk to her directly.
(もし私があなたなら、彼女に直接話すだろう。) -
現在かなえられない願望を表す(I wish + 過去形):現状に対する不満・後悔を込めた願望です。
-
I wish I had a bigger apartment.
(もっと広いアパートに住んでいたらいいのに。) -
本来ならもう実行しているべきことを述べる(It's time + 過去形):現在の時点で「そろそろやるべき」というニュアンスを出します。
-
It's time we left for the airport.
(そろそろ空港に向かう時間だ。) -
相手に何かをやめてほしい、してほしいと丁寧に伝える(would rather + 過去形):相手の行動について現在または未来の希望を述べます。
- I'd rather you called me before coming over.
(来る前に電話してもらいたいのだけれど。)
仮定法過去 vs 仮定法過去完了 vs 条件法(直説法)の比較
日本人学習者が最も混同しやすいのは、「いつのことを仮定しているか」による使い分けです。表で整理しましょう。
| 種類 | 時制のポイント | 意味 | 例文 |
|---|---|---|---|
| 直説法(条件法・現実の話) | If + 現在形, will + 動詞の原形 | 実現の可能性がある未来の条件 | If it rains, I will stay home.(もし雨が降ったら、家にいる。) |
| 仮定法過去(Unreal Past) | If + 過去形, would + 動詞の原形 | 現在の事実に反する仮定 | If it rained, I would stay home.(もし〔今〕雨が降っているなら、家にいるだろう。) |
| 仮定法過去完了 | If + had + 過去分詞, would have + 過去分詞 | 過去の事実に反する仮定 | If it had rained, I would have stayed home.(もし〔あの時〕雨が降っていたら、家にいただろうに。) |
ポイントは、「if節の中の動詞が過去形なら現在の話、過去完了形なら過去の話」という時制の"1つ前倒し"のルールです。仮定法過去は「今」の話、仮定法過去完了は「あの時」の話、という区別を必ず意識しましょう。
日本人がよく間違えるポイント
| ❌ 誤 | ⭕ 正 | なぜ |
|---|---|---|
| If I will have money, I will buy it. | If I had money, I would buy it. | 日本語の「もし〜すれば」を直訳すると未来形を使いたくなるが、if節の中では未来形(will)は使わない。現在の非現実は過去形で表す。 |
| If I am you, I would say sorry. | If I were you, I would say sorry. | be動詞は was ではなく were を使うのが原則。特に "If I were you" は決まり文句として丸ごと覚える。 |
| I wish I am taller. | I wish I were taller. | I wish の後ろも仮定法(過去形)を使う。現在の願望なのに現在形を使ってしまう誤りが非常に多い。 |
| I wish I can speak English fluently. | I wish I could speak English fluently. | can の仮定法過去は could。「〜できたらいいのに」は wish + could が定番。 |
| If I would have money, I would help you. | If I had money, I would help you. | if節の中に would を入れてしまう誤り。ネイティブの口語で稀に耳にするが、標準的な書き言葉では誤り。if節はあくまで過去形。 |
| もし〜なら=If なので、"If I have a car" だけで仮定のつもりで使ってしまう | 現在の事実に反することを言うなら "If I had a car" | 日本語は時制で「現実/非現実」を区別しないため、原形・現在形のまま使ってしまいがち。英語は動詞の形そのものが仮定のサインになる。 |
| It's time I go to bed. | It's time I went to bed. | It's time の後ろも仮定法過去。現在形を使ってしまう混同が多い。 |
学習のポイント: 日本語では「もし〜なら」という表現が持つ時制感覚があいまいなため、英語を学ぶときは「if節の動詞を1段階過去にずらす」という操作を、まるで数式のように機械的に体に染み込ませるのが効果的です。「現在の話は過去形、過去の話は過去完了形」と唱えながら例文を音読すると定着しやすくなります。
自然な英語例文で仮定法過去を体感する
- If I had a car, I would drive you to the station.
(車を持っていたら、駅まで送ってあげるのに。) - She would feel much happier if she lived closer to her family.
(家族の近くに住んでいれば、彼女はもっと幸せに感じるだろう。) - We could finish the project on time if we had more staff.
(もっと人手があれば、プロジェクトを予定通り終えられるのに。) - If they spoke Japanese, communication would be so much easier.
(彼らが日本語を話せれば、コミュニケーションはずっと楽になるのに。) - I wish it weren't so hot today.
(今日、こんなに暑くなければいいのに。) - If only I knew how to fix this computer.
(このパソコンの直し方が分かればいいのに。) - If I were in charge, I would change the company's policy.
(もし私が責任者なら、会社の方針を変えるだろう。) - It's time the government took action on climate change.
(政府が気候変動対策に乗り出すべき時だ。)
ネイティブの感覚:なぜ過去形が「非現実」を表すのか
英語話者にとって、過去形は単に「時間的に前」というだけでなく、「現実からの距離」を表す感覚を持っています。過去のことは、今この瞬間からは手が届かない、変えられない出来事です。同じように、仮定法で使われる過去形は「今の現実からは距離がある、想像上の話」というニュアンスを運んでいます。
この感覚を理解すると、仮定法過去完了(If I had known...)が「過去のさらに前」を表すことも自然に納得できます。過去形よりもさらに過去にずらすことで、「現実からより遠い、取り返しのつかない過去の話」という距離感を強調しているのです。
日本語話者は「たられば」という言葉に象徴されるように、仮定の話は得意なはずです。違いは、日本語が助詞や文脈で仮定を示すのに対し、英語は動詞の形そのもので仮定を示す、という点だけです。この一点さえ意識できれば、仮定法過去の習得は決して難しくありません。
まとめ:仮定法過去(Unreal Past)で押さえるべき核心ルール
- 仮定法過去は、現在の事実に反することを表すときに、動詞をあえて過去形にする文法。
- 基本形は「If + S + 過去形, S + would/could/might + 動詞の原形」。
- be動詞は was ではなく were を使うのが原則(If I were you など)。
- if節の中では will や would を使わない(未来形にしない)のが鉄則。
- I wish / If only / It's time / would rather の後ろも同じ仮定法過去のルールに従う。
- 「現在の非現実=過去形」「過去の非現実=過去完了形」という時制の対応関係を必ずセットで覚える。
- 日本語には「時制で現実・非現実を区別する」発想がないため、機械的なルールとして例文ごと暗記するのが習得の近道。