仮定法過去完了|意味や使い方を例文付きで解説
「仮定法」とは、事実に反することや、実現する可能性が低いことを表す動詞の形のことです。
例えば、仮定法では「現在の事実に反すること」を動詞の過去形で表しますが、このように時制を過去にずらすことで「現実との距離感」が生まれ、「現実の話ではない」ことを相手に伝えることができます。
この記事では、「過去の事実に反する事柄や仮定」を動詞の過去完了形で表す「仮定法過去完了」について詳しく見ていきます。
仮定法と直接法
仮定法と直接法
仮定法が「事実に反すること」や「実現する可能性が低いこと」を表すのに対し、「現実」や「現実にあり得ること」を表す表現法を「直接法」といいます。
両者の違いを次の例で見てみましょう。
(1) I have time, so I can watch TV.
私は時間があるので、テレビを見ることができる。
(2) If you have time, you can watch TV.
もし時間があれば、テレビを見てもいいよ。
(3) If I had time, I could watch TV.
もし時間があれば、テレビを見られるのに。
(→ 実際には時間がないので、テレビを見られない)
(1)は「現実」、(2)は「現実にあり得ること」を述べた文なので、直接法である現在形 (have, can) が使われています。
一方、(3)は事実に反する仮定を表した文なので、仮定法である過去形 (had, could) が使われています。
(2)のように、if を使った文でも直接法になる場合があるので注意してください。
仮定法の基本形
仮定法の基本形
上の例文(3)のように、仮定法の文は基本的に「if節」と「主節」から構成されます。
下の表は、それぞれの節における動詞・助動詞の形を示したものです。
if節の動詞 | 主節の助動詞 + 動詞 | |
---|---|---|
仮定法過去 | 過去形 (be動詞は were) |
助動詞の過去形* + 動詞の原形 |
仮定法過去完了 | 過去完了形 | 助動詞の過去形 + have + 過去分詞 |
仮定法未来 | were to + 動詞の原形 / should + 動詞の原形 |
助動詞の過去形 + 動詞の原形 / will + 動詞の原形 / 命令文 |
*「助動詞の過去形」は would, could, might を指します。(「仮定法過去」では should が使われることもあります。)
if を使わない仮定法については、こちらの記事で詳しく解説しています。
この記事に関連するQ&A
仮定法過去完了
仮定法過去完了
仮定法過去完了は「過去の事実に反する事柄や仮定」を表します。〈if節 + 主節〉という形の場合、「もし〜だったならば … だったろうに」という意味を表します。
上の表で示したように、if節では動詞の過去完了形を使い、主節では〈助動詞の過去形 + have + 過去分詞〉を使います。
(4) If he had been awake, he would have heard the noise.
もし彼が起きていたら、その物音を聞いていただろう。
(→ 実際には起きていなかったので、物音は聞かなかった)
(5) If I had left earlier, I would not have missed the train.
もし早めに出発していたら、私は列車に乗り遅れることはなかっただろうに。
(→ 実際には早めに出発しなかったので、列車に乗り遅れた)
主節で使われる〈助動詞の過去形 + have〉については、通常は「~だったろうに」を意味する “would have” が使われますが、「~できただろうに」という意味の場合は “could have”、「~だったかもしれないのに」という意味の場合は “might have” が使われます。
(6) If I had won the lottery, I could have bought a yacht.
もし宝くじが当たっていたら、ヨットを買えただろうに。
(7) If he had tried harder, he might have succeeded.
もし彼がもっと努力していたら、成功したかもしれないのに。
「仮定法過去」では would と同じ意味で should が使われることがありますが、「仮定法過去完了」では使われません。
直接法への書き換え
仮定法過去完了の文の内容は、次のように直接法で表すことができます。
- If he had been awake, he would have heard the noise.
もし彼が起きていたら、その物音を聞いていただろう。
↓
Because he wasn’t awake, he didn’t hear the noise.
= He wasn’t awake, so he didn’t hear the noise.
彼は起きていなかったので、その物音は聞かなかった。
- If I had left earlier, I would not have missed the train.
もし早めに出発していたら、私は列車に乗り遅れることはなかっただろうに。
↓
Because I didn’t leave earlier, I missed the train.
= I didn’t leave earlier, so I missed the train.
私は速めに出発しなかったので、列車に乗り遅れた。
仮定法過去完了の文を直接法に書き換える場合は、次の2点に注意してください。
① 肯定の表現を否定に、否定の表現を肯定に変える。
② 直接法の文では、動詞の過去形を用いる。助動詞は使用しない。
if節と主節で時制が異なる仮定法
(8) If I had met her then, we might be married now.
もしその時彼女に会っていたら、現在私たちは結婚しているかもしれない。
(→ 実際にはその時彼女に会っていなかったので、現在彼女とは結婚していない)
(9) If I liked her, I would have driven her home.
もし彼女のことが好きだったら、(あの時)車で家まで送っていただろう。
(→ 実際には彼女のことが好きではないので、車で家まで送らなかった)
(8)では、if節で「過去の事実に反すること」、主節で「現在の事実に反すること」が述べられています。このような場合、if節では「仮定法過去完了」を、主節では「仮定法過去」を用います。
(9)では、if節で「現在の事実に反すること」、主節で「過去の事実に反すること」が述べられています。このような場合は、if節で「仮定法過去」を、主節で「仮定法過去完了」を用います。
なお、仮定法過去についての詳しい解説は、こちらの記事をご覧ください。
仮定法過去完了を使った慣用表現
仮定法過去完了を使った慣用表現
wish + 仮定法過去完了
〈wish + 仮定法過去完了〉は「過去の事実に反する願望」を表します。
(10) I wish I had studied harder when young.
若い時にもっと勉強していたらなあ。
(→ 実際は勉強しなかったので残念)
wish を使った仮定法については、こちらの記事で詳しく解説しています。
as if + 仮定法過去完了 / as though + 仮定法過去完了
〈as if [though] + 仮定法過去完了〉は「(実際はそうではないのに)まるで~であったかのように」という意味を表します。
(11) She looks as if [though] she had seen a ghost.
彼女は(実際はそうではないのに)まるで幽霊を見たかのような顔をしている。
as if を使った仮定法については、こちらの記事で詳しく解説しています。
would rather + 仮定法過去完了
〈would rather + 仮定法過去完了〉 は「むしろ~であったらよかったのだが」という意味を表します。
(12) I’d [I would] rather you hadn’t told her the truth.
あなたには彼女に本当のことを話してもらいたくなかったんだが。
(→ 実際は話してしまったので残念)
if only + 仮定法過去完了
〈if only + 仮定法過去完了〉は「過去の事実に反する願望」を表します。「~でありさえしたらなあ」という意味で、 “I wish ~” よりも強い願望表現になります。
(13) If only you had come.
君が来てくれさえしたらなあ。
(→ 実際は来てくれなくて残念)
if it had not been for ~
“if it had not been for ~” は「もし~がなかったら」という意味で、「過去の事実に反する仮定」を表します。
なお、この表現は without / but for で書き換えることができます。
(14) If it had not been for [Without / But for] the storm, we would have arrived on time.
もし嵐がなかったら、私たちは時間通りに着いていただろうに。
(→ 実際は嵐だったので、時間通りに着かなかった)
なお、if it had not been for ~ では if を省略することができ、その場合は倒置が起こります。
(14’) Had it not been for the storm, we would have arrived on time.
練習問題
練習問題
最後に練習問題を解いてみましょう。
次の文を仮定法を用いて書き換えなさい。
1.She didn’t come because you didn’t invite her.
2.Because I helped him, his business didn’t fail.
3.He is in trouble today because he didn’t take my advice.
1.She would have come if you had invited her.
2.If I hadn’t helped him, his business would have failed.
3.He wouldn’t be in trouble today if he had taken my advice.
「仮定法過去完了」という名前については、if節で動詞の「過去完了形」を使い、主節で〈助動詞の過去形 + 完了形〉を使う文型と理解してください。