英文法:仮定法過去完了
このページの使い方
1
動画で見る
まず全体像をつかむ
›
2
解説で理解する
「なぜ」が分かる
›
3
クイズで定着
上のボタンから挑戦
英語漬け解説動画仮定法過去完了を動画でサクッと理解する
▶
仮定法過去完了は「過去の事実と反対のこと」を想像して言う言い方です。「If 主語 had 過去分詞 …, 主語 would have 過去分詞 …」の形で、「あのとき〜していたら、〜だっただろうに」という後悔や反実仮想を表します。
1仮定法過去完了の基本の形と意味
▼
「過去の事実と反対」を言うのが仮定法過去完了!形は「If 主語 had 過去分詞 …, 主語 would have 過去分詞 …」。「あのとき〜していたら、〜だっただろうに」という意味になります。
If 主語 + had + 過去分詞
→
, 主語 + would have + 過去分詞
→ If I had studied harder, I would have passed the exam.(もっと熱心に勉強していたら、試験に合格していただろうに。)
POINT
「過去の話」なのに had + 過去分詞(過去完了)を使うのは、時制をわざと1つ前にずらして「これは現実ではない」と示すためです。実際には「勉強しなかった」「合格しなかった」という事実があります。
「過去の話」なのに had + 過去分詞(過去完了)を使うのは、時制をわざと1つ前にずらして「これは現実ではない」と示すためです。実際には「勉強しなかった」「合格しなかった」という事実があります。
| 英語 | 日本語 |
|---|---|
| If I " had studied " harder, I "would have passed " the exam. | もっと熱心に勉強していたら、試験に合格していただろうに。 |
| If it " had not rained ", we "would have gone " hiking. | 雨が降らなかったら、私たちはハイキングに行っていただろうに。 |
| If he " had left " earlier, he "would have caught " the train. | 彼がもっと早く出発していたら、その電車に間に合っていただろうに。 |
| If she " had known " your address, she "would have written " to you. | 彼女があなたの住所を知っていたら、あなたに手紙を書いていただろうに。 |
| If I " had had " more money, I "would have bought " that bike. | もっとお金を持っていたら、私はあの自転車を買っていただろうに。 |
2仮定法過去との違い(時制のズレ)
▼
「今」の話なら had なし、「過去」の話なら had あり!仮定法過去=現在の事実と反対。仮定法過去完了=過去の事実と反対。形が1段階だけ古くなります。
If I had time, I would help you.
(今、時間がないので手伝えない)
→
1つ過去へ
→
(今、時間がないので手伝えない)
If I had had time, I would have helped you.
(あのとき時間がなくて手伝えなかった)
(あのとき時間がなくて手伝えなかった)
POINT
見分け方は簡単です。if節が過去形 → 仮定法過去(今の話)、if節が過去完了形(had + 過去分詞) → 仮定法過去完了(過去の話)。帰結節も would + 原形/would have + 過去分詞 と必ず対応します。
見分け方は簡単です。if節が過去形 → 仮定法過去(今の話)、if節が過去完了形(had + 過去分詞) → 仮定法過去完了(過去の話)。帰結節も would + 原形/would have + 過去分詞 と必ず対応します。
▶ 直説法・仮定法過去・仮定法過去完了の比べ方を見る
| 種類 | if節(条件) | 帰結節(結果) | いつの話 |
|---|---|---|---|
| 直説法(ただの条件) | If it rains, | I will stay home. | これからの話(起こりうる) |
| 仮定法過去 | If it rained, | I would stay home. | 今の事実と反対 |
| 仮定法過去完了 | If it had rained, | I would have stayed home. | 過去の事実と反対 |
| 英語 | 日本語 |
|---|---|
| If I " were " rich, I "would buy " a big house. | (今)お金持ちなら、大きな家を買うのに。 |
| If I " had been " rich, I "would have bought " a big house. | (あのとき)お金持ちだったら、大きな家を買っていただろうに。 |
| If she " knew " the answer, she "would tell " us. | (今)彼女が答えを知っていれば、私たちに教えてくれるのに。 |
| If she " had known " the answer, she "would have told " us. | (あのとき)彼女が答えを知っていたら、私たちに教えてくれただろうに。 |
3would / could / might have の使い分け
▼
形は同じ「have + 過去分詞」、変わるのは助動詞の意味だけ!would=〜しただろうに、could=〜できただろうに、might=〜したかもしれないのに。
結果の予想(〜しただろうに)
would have
可能・能力(〜できただろうに)
could have
控えめな推量(〜したかも)
might have
POINT
どれを選んでも 助動詞 + have + 過去分詞 の形は変わりません。would have は「していただろう」と言い切るのに対し、might have は「したかもしれない」と自信を弱めるのが違いです。
どれを選んでも 助動詞 + have + 過去分詞 の形は変わりません。would have は「していただろう」と言い切るのに対し、might have は「したかもしれない」と自信を弱めるのが違いです。
| 英語 | 日本語 |
|---|---|
| If you had asked me, I " would have helped " you. | 私に頼んでくれていたら、手伝っていただろうに。 |
| If you had asked me, I " could have helped " you. | 私に頼んでくれていたら、手伝うことができただろうに。 |
| If you had asked me, I " might have helped " you. | 私に頼んでくれていたら、手伝ったかもしれないのに。 |
| If we had left at noon, we " could have arrived " on time. | 正午に出発していたら、時間通りに着けただろうに。 |
| If he had taken the medicine, he " might have gotten " better. | 彼がその薬を飲んでいたら、よくなったかもしれないのに。 |
4if の省略と倒置(Had I known …)
▼
if を消したら、had を主語の前に出す!「Had 主語 過去分詞 …」の形。意味は「If 主語 had 過去分詞 …」とまったく同じです。
If I had known the truth, …
⇄
if を消して had を前へ
⇄
Had I known the truth, …
POINT
文頭が Had + 主語 + 過去分詞 で始まっていたら「あ、if が省略された仮定法過去完了だ」と気づきましょう。If it had not been for 〜(〜がなかったら) は倒置すると Had it not been for 〜 になります。
文頭が Had + 主語 + 過去分詞 で始まっていたら「あ、if が省略された仮定法過去完了だ」と気づきましょう。If it had not been for 〜(〜がなかったら) は倒置すると Had it not been for 〜 になります。
| 英語 | 日本語 |
|---|---|
| " Had I known " the truth, I would have told you. | 真実を知っていたら、あなたに話していただろうに。 |
| " Had she been " here, she would have helped us. | 彼女がここにいたら、私たちを助けてくれただろうに。 |
| " Had it not been for " your advice, I would have failed. | あなたの助言がなかったら、私は失敗していただろう。 |
| " Had you come " earlier, you could have met him. | もっと早く来ていたら、彼に会えただろうに。 |
5混合仮定法(過去にああしていたら、今こうなのに)
▼
過去の条件 + 今の結果 なら、形を混ぜる!if節は仮定法過去完了、帰結節は仮定法過去(would + 動詞の原形)にします。
If 主語 + had + 過去分詞
(過去の条件)
→
(過去の条件)
, 主語 + would + 動詞の原形
(今の結果)
(今の結果)
→ If I had studied harder, I would be a doctor now.(もっと熱心に勉強していたら、今ごろ医者になっているのに。)
POINT
帰結節に now / today などの「今」を表す語があれば、混合仮定法のサインです。「would have + 過去分詞」にしないように注意しましょう。
帰結節に now / today などの「今」を表す語があれば、混合仮定法のサインです。「would have + 過去分詞」にしないように注意しましょう。
| 英語 | 日本語 |
|---|---|
| If I had taken the train, I " would be " there now. | その電車に乗っていたら、今ごろそこにいるのに。 |
| If she had studied medicine, she " would be " a doctor now. | 彼女が医学を学んでいたら、今ごろ医者になっているのに。 |
| If he had not eaten so much, he " would not be " sick today. | 彼があんなに食べ過ぎていなければ、今日は具合が悪くないのに。 |
| If we had saved money, we " could buy " a car now. | お金をためていたら、今、車を買えるのに。 |
6I wish / as if で使う仮定法過去完了
▼
「I wish 主語 had 過去分詞」=「〜していればよかったのに」過去にできなかったことへの後悔を表します。if がなくても「had + 過去分詞」なら仮定法です。
I wish I had studied harder.
=
I'm sorry I didn't study harder.
→ どちらも「もっと熱心に勉強しておけばよかった(実際はしなかった)」という意味です。
POINT
as if / as though + 主語 + had + 過去分詞 は「まるで〜だったかのように」。主節より前の出来事を表すときにこの形を使います。If only も I wish とほぼ同じ意味で、後悔の気持ちがより強くなります。
as if / as though + 主語 + had + 過去分詞 は「まるで〜だったかのように」。主節より前の出来事を表すときにこの形を使います。If only も I wish とほぼ同じ意味で、後悔の気持ちがより強くなります。
| 英語 | 日本語 |
|---|---|
| I wish I " had studied " harder. | もっと熱心に勉強しておけばよかった。 |
| I wish she " had come " to the party. | 彼女がパーティーに来てくれていたらよかったのに。 |
| He talks " as if he had seen " the accident. | 彼はまるでその事故を見たかのように話す。 |
| She looked " as if she had cried ". | 彼女はまるで泣いていたかのような顔をしていた。 |
| " If only " I had listened to your advice! | あなたの助言を聞いていさえすればよかったのに。 |
仮定法過去完了の よくある質問(FAQ)
仮定法過去と仮定法過去完了はどう見分けますか?
if節の動詞の形で見分けます。if節が過去形(If I had a car…)なら「今の事実と反対」の仮定法過去、if節が過去完了形(If I had had a car…)なら「過去の事実と反対」の仮定法過去完了です。帰結節も、would + 動詞の原形なら仮定法過去、would have + 過去分詞なら仮定法過去完了と対応しています。
If I had had のように had が2つ続くのはなぜですか?
1つ目の had は過去完了をつくる助動詞、2つ目の had は「持っていた」という意味の動詞 have の過去分詞です。つまり have の過去完了形が had had になります。同じように、If I had been … は be動詞の過去完了形です。
would have と could have と might have はどう使い分けますか?
would have + 過去分詞は「〜しただろうに」という結果の予想、could have + 過去分詞は「〜できただろうに」という可能性や能力、might have + 過去分詞は「〜したかもしれないのに」という控えめな推量を表します。意味が変わるだけで、形(have + 過去分詞)はすべて同じです。
Had I known … のように if がない文は何ですか?
仮定法では if を省略でき、そのとき had を主語の前に出す倒置が起こります。If I had known the truth, … と Had I known the truth, … は同じ意味です。かたい文章やあらたまった場面でよく使われます。
「もしあのとき〜していたら、今〜なのに」はどう書きますか?
if節は仮定法過去完了、帰結節は仮定法過去にする混合仮定法を使います。例えば If I had studied harder, I would be a doctor now.(もっと熱心に勉強していたら、今ごろ医者になっているのに)のようになります。帰結節に now や today があれば混合仮定法のサインです。
参考資料:文部科学省平成29年度学習指導要領