仮定法(過去・過去完了)
現実と違うことを仮定する表現です。仮定法過去と仮定法過去完了を学びます。
説明
仮定法は、「もし〜だったら」と現実ではないことを想像して伝えたいときに使います。
「もし私が鳥なら飛んでいける」「あのとき諦めなければよかった」のように、現実と違う想像や叶わなかった仮定を表したいときに使います。
想像する時点が「今」か「過去」かで、文の形を使い分けます。今のことなら動詞を過去形に、過去のことなら had + 過去分詞にします。
2つの仮定法
| 種類 | 想像する時 | if のまとまりの形 |
|---|---|---|
| 仮定法過去 | 今のこと(現実と違う) | 過去形 |
| 仮定法過去完了 | 過去のこと(叶わなかった) | had + 過去分詞 |
今回のゴール
- 「実際にありうる条件」と「現実とは違う想像」を見分けられる。
- If + 過去形で、今の事実と違う想像を言える。
- If + had + 過去分詞で、過去の事実と違う想像を言える。
- if のまとまりの動詞の形から、起こりうる条件か現実とは違う想像かを見分けられる。
「実際にありうる条件」と「現実とは違う想像」を見分けられる。
同じ If で始まる文でも、「起こりうる条件」と「現実とは違う想像」では意味が違います。見分けるのは動詞の時制で、時制を1つ過去にずらすことで「これは現実ではない」と伝えます。
例文
If you study hard, you will pass the exam.
一生懸命勉強すれば、試験に受かるでしょう。
If I had a dog, I would walk it every day.
もし犬を飼っていたら、毎日散歩させるのですが。
If + 過去形で、今の事実と違う想像を言える。
「もし今〜だったら」と、現在の事実と違うことを想像する形です。動詞は過去形にしますが、意味は現在の想像です。
be動詞は were を使うのが基本で、I were / he were のように主語に関係なく were にします。会話では was が使われることもあります。
例文
If I were rich, I would travel around the world.
もしお金持ちだったら、世界中を旅行するのですが。
If I had more time, I could help you.
もっと時間があれば、手伝えるのですが。
If I knew the answer, I could tell you.
答えを知っていれば、教えられるのですが。
If + had + 過去分詞で、過去の事実と違う想像を言える。
過去の事実と違うことを想像する形です。「あの時こうしていれば…」という後悔を表すことが多いです。
if のまとまりには had + 過去分詞を使い、時制を1つさらにずらして「過去の過去」として表します。
例文
If I had studied harder, I would have passed the exam.
もっと勉強していたら、試験に合格していたでしょう。
If you had told me earlier, I could have helped you.
もっと早く言ってくれていたら、手伝えたのですが。
If I had left home earlier, I would have caught the train.
もっと早く家を出ていれば、その電車に乗れていたでしょう。
if のまとまりの動詞の形から、起こりうる条件か現実とは違う想像かを見分けられる。
同じ if を使う文でも、動詞の形によって「起こりうる条件」か「想像上の仮定」かが変わります。現在形なら実現の可能性がある条件文、過去形なら現在の仮定法、had + 過去分詞なら過去の仮定法です。
例文
If she comes, we will start the game.
彼女が来たら、試合を始めます。
If she came, we would start the game.
もし彼女が来たら、試合を始めるのですが。
つまずきポイント集
If I am rich, I will buy a car.
If I were rich, I would buy a car.
解説: 現在の事実と異なる仮定には仮定法(were + would)を使います。現在形 + will だと「実際にありうる条件」の意味になります。なお会話では I were の代わりに I was も使われます。
If I studied harder, I will pass.
If I studied harder, I would pass.
解説: 仮定法過去のメインの文では would + 動詞の原形を使います。will は実際にありうる条件(普通の条件文)に使います。
If I have more time, I would study more.
If I had more time, I would study more.
解説: 現在の事実と異なる仮定では、if のまとまりを過去形にします。現在形にすると普通の条件文になってしまいます。
If I would have known, I would have come.
If I had known, I would have come.
解説: 仮定法過去完了の if のまとまりでは had + 過去分詞を使います。would はメインの文に置きます(if のまとまりには入れません)。
まとめ
- 「実際にありうる条件」と「現実とは違う想像」を見分けられる。
- If + 過去形で、今の事実と違う想像を言える。
- If + had + 過去分詞で、過去の事実と違う想像を言える。
- if のまとまりの動詞の形から、起こりうる条件か現実とは違う想像かを見分けられる。