英語の「If + 過去形, would + 動詞の原形」と「If + had + 過去分詞, would have + 過去分詞」の違い
仮定法過去は今の事実と違うこと(If + 過去形, would ~)、仮定法過去完了は過去の事実と違うこと(If + had + 過去分詞, would have + 過去分詞)を仮定します。
使い分けの表
| If + 過去形, would + 動詞の原形 | If + had + 過去分詞, would have + 過去分詞 | |
|---|---|---|
| 意味 | もし〜なら…だろうに(今の事実と反対) | もし〜だったら…だっただろうに(過去の事実と反対) |
| 対象とする時 | 今・これから | 過去 |
| if の節 | 過去形 | had + 過去分詞 |
| 主な文 | would + 原形 | would have + 過去分詞 |
| 例 | If I knew, I would tell you. | If I had known, I would have told you. |
例文で比べる
○ = 自然 △ = 通じるが、その場面・文体には合わない × = 不自然・誤り
○
If I owned a bike, I would ride it to school.
自転車を持っていれば、学校へ乗っていくのに。
○
If I had owned a bike, I would have ridden it to school.
自転車を持っていたら、学校へ乗っていったのに。
a は今の話、b は過去の話です。b の主な文は would have + 過去分詞です。
△
If I studied harder last week, I would have passed the exam.
先週もっと勉強していれば、試験に受かっていたのに。
○
If I had studied harder last week, I would have passed the exam.
先週もっと勉強していれば、試験に受かっていたのに。
過去のことを仮定するなら if + had + 過去分詞です。過去形のままの言い方は、会話で聞くこともありますが正式ではありません。
○
If the store were open now, we would buy some milk.
今、その店が開いていれば、牛乳を買うのに。
×
If the store had been open now, we would have bought some milk.
今、その店が開いていたら、牛乳を買っていたのに。
今の事実と違うことは if + 過去形です。had been を使うと過去の話になります。
覚え方・注意点
- 過去の仮定でも、主な文は would have + 過去分詞です(would + 原形ではありません)。
- 否定は hadn't + 過去分詞、wouldn't have + 過去分詞 の形です。
- 今と過去が混ざる文もあります(If I were taller, I would have joined the team.)。
確認問題
( )に入れるのに、より自然なのはどちらでしょう。
問1
If I ( ) the answer, I would tell you right now.
- had known
- knew
答えと解説
正解:2. knew
「今」答えを知らないという仮定なので、過去形の「knew」です。
問2
If she ( ) the map, she would not have gotten lost.
- checked
- had checked
答えと解説
正解:2. had checked
過去に道に迷った事実と違う仮定なので、「had checked」です。
問3
If we ( ) the tickets earlier, we would have gotten better seats.
- bought
- had bought
答えと解説
正解:2. had bought
過去の事実と違う仮定なので、「had bought」です。
それぞれの文法の詳しい説明
- 仮定法過去の意味と使い方 もし〜なら…だろうに(今の事実と反対)
- 仮定法過去完了の意味と使い方 もし〜だったら…だっただろうに(過去の事実と反対)