仮定法過去完了の本当の使い方|仮定法過去との決定的な違い

英文法仮定法
最終更新日:
仮定法過去完了とは

仮定法過去完了とは、過去の事実に反することを表す動詞(V)のことで、主節では “would/could have done” 、if節の中では “had done” という形で表されるのが一般的だ。

ここでは、仮定法過去完了の使い方について、いくつかの例文を交えて解説していこう。

この記事を読んで得られること

  • 仮定法過去完了の使い方がわかる
  • なぜ、if の後ろで「過去完了形」を使うのかがわかる
  • 仮定法過去との違いがわかる

CONTENTS

仮定法過去完了とは? 例文で確認

仮定法過去完了とは、過去の事実に反することを表す動詞(V)のことだ。例えば、「私があなたの立場だったら、彼とは別れていたよ」という場合、

・私があなたの立場だったということ
・私が彼と別れたということ

は、どちらも事実に反する。実際には、私はあなたの立場ではなかったし、彼に別れを告げてもないからだ。このときに使う動詞(V)が仮定法過去完了で、if 節では「過去完了形(に見える形)」が、主節では「助動詞の過去形+have+過去分詞」が使われる。

If I had been you, I would have broken up with him.
仮に私があなただったなら、彼とは別れていたと思うよ。

If I had had more time, I would have browsed the clothes.
(あのとき)もっと時間があったら、服を見て回ったのに。

If I had been you, I wouldn't have replied.
(そのとき)もしも私があなただったなら、返事はしてないと思うよ。

If I had known about it, I could have done something.
(あのとき)そのことについて知っていたら、何かできたかもしれないのに。

仮定法という字面から、「仮定を表す方法のことかな?」「if を使った表現が仮定法かな?」と思ってしまいがちだが、仮定法過去完了とは、過去の事実に反することを表す動詞(V)のことだと、しっかり押さえておこう。

仮定法過去完了というネーミングの由来

ちなみに、こうした動詞(V)が「仮定法過去完了」と名付けられているのは、先ほどの例文からもわかるように、if 節の中で過去完了形(に見える形)が使われるからだ。要は、表面的な見た目だけを重視して「仮定法過去完了」と名付けてしまったわけだ。

仮定法を動画でしっかり
身に付けたい人はこちら >>
英文法の無料講義(全31回)

仮定法過去完了と仮定法過去の違い

仮定法過去完了が「過去の事実に反することを表す動詞(V)」であるのに対して、仮定法過去は「現在の事実に反することを表す動詞(V)」だ。

詳しくは以下のページで解説しているので、必要があれば参考にしてほしい。

※ご参考:
仮定法過去の本当の使い方
would と could の違いもこれでスッキリ >>

仮定法過去完了をマスターするための3つのポイント

仮定法過去完了を、丸暗記ではなく、本当の意味で理解して使いこなすためには、次の3つのポイントを押さえておくといいだろう。

1. 過去のことを表したいなら「助動詞+have+過去分詞」

助動詞を使って「過去のこと」を表す場合、どうしても「助動詞そのものを過去形にする」という印象があるが、それは間違いだ。

この後説明するが、助動詞の過去形は「過去のこと」ではなく「事実に反すること」を表すために使われる。

「過去のこと」を表すためには「助動詞+have+過去分詞」という形を使う。

I may have said some bad words.
何かまずいことを言っちゃったかもしれない。

※ “I might say some bad words.” は、この文脈では不可。

There cannot have been a better answer than this.
これ以上にいい答えがあったはずがない。

※ “There could not be a better answer than this.” は、この文脈では不可。

He must have thought I was so shy.
彼は私がとても内気だと思ったに違いない。

※そもそも must には過去形がない。

どうしても「助動詞の過去形は『過去のこと』を表す」というイメージがあると思うが、このように、過去のことを表したい場合には「助動詞+have+過去分詞」という形を使うのが基本だ。

それでは、助動詞の過去形にはどんな働きがあるのだろう? これを理解するためには、shall の過去形である should に登場してもらうのがもっともわかりやすい。

2. 助動詞の過去形は「事実に反すること」を表す

助動詞の should(~すべき)は shall(~すべき)の過去形だ。「~すべき」という意味の shall は、比較的堅い文章(契約書や利用規約など)でよく使われるもので、

Applicants shall submit the following documents to xxx@gmail.com on or before 15 May.
志願者は5月15日までに以下の書類を xxx@gmail.com まで提出しなければならない。

といった使い方をする。

ここで考えてみてほしいのが、上の英文の内容において、志願者が「実際に書類を提出する可能性」がどれくらいあるかだ。こうした文脈の場合、志願者が実際に submit the following documents する(書類を提出する)可能性はかなり高く、ほぼ実際に起きることだと言えるだろう。

これに対して、同じ「~すべき」という意味でも、過去形の should を使った場合はどうだろう?

You should take care of your health.
あなたは健康に気を使うべきだ。(健康に気を使った方がいいよ。)

助動詞の過去形 should を使ったこちらの英文の内容において、You(あなた)は実際に今、健康に気を使っているだろうか? 答えはもちろん、Noだ。実際には take care of your health しておらず(健康に気を使っておらず)、そのため、 “You should take care of your health.” と言われているのだから。

このように、助動詞の過去形は「事実に反すること」を述べるときに使われる。

現在形 shall
実際に行われている動作、行われる可能性の高い動作が続く

過去形 should
事実に反する動作、可能性が極めて低い動作が続く

そしてもう一つ確認してほしいのが、過去形の助動詞 should を使った “You should take care of your health.” という英文が、いつのことを述べているのかだ。これは明らかに、過去のことではなく、目の前にいる相手の「今の(健康に気を使っていない)状態」に対して述べられている言葉だ。

こういったところからも、「助動詞の過去形=過去のこと」だという認識が思い込みだとわかる。

でも、 would や could は「過去のこと」を表すんじゃないの?

勉強熱心なあなたであれば、そう思うかもしれない。確かに、can や will の一部は、助動詞そのものを過去形にすることで「過去のこと」を表した。

My dog will eat anything I put on him.
私の犬は私が用意したものを何でも食べる。(現在の習慣)

↓ 過去形の would を使うと

My dog would eat anything I put on him.
私の犬は私が用意したものを何でも食べていた。(過去の習慣)

I can touch the floor while standing.
私は立ったまま床に手を着けることができる。(現在の能力)

↓ 過去形の could を使うと

I could touch the floor while standing when young.
私は若い頃、立ったまま床に手を着けることができた。(過去の能力)

ただ、may(~するかもしれない)・should(~すべきだろう)must(~するに違いない)・cannnot(~するはずがない)といった他の助動詞を見るとわかるように、助動詞というものは、一般的には「動詞に推量の意味を加える」という性質を持つ言葉だ。

そうした、助動詞の「一般的な性質」から見ると、ここで例に挙げた

・習慣(~するものだ)を表す will
・能力(~できる)を表す can

は、助動詞らしさのカケラもない。なぜなら、推量の意味をちっとも持っていないからだ。(「習慣」にも「能力」にも、推量の意味は含まれていない。)

つまり、習慣(~するものだ)を表す will と能力(~できる)を表す can は、助動詞としてはむしろ特殊なもので、だからこそ例外的に、助動詞そのものを過去形にすることで「過去のこと」を表せているのだ。

特に能力(~できる)を表す can については、英語学習の初期の段階で学ぶことが多く、そのため「助動詞を過去形にすることで、過去のことを表せる」という例外的な性質を、すべての助動詞に当てはまる一般的な性質だと思ってしまいやすいわけだ。

いずれにしても、仮定法過去完了をマスターするために、

・助動詞の過去形は「事実に反すること」を表す
・助動詞を使って過去のことを表すなら「助動詞+have+過去分詞」

というポイントを押さえておこう。

3. will が「未来」を表すとは限らない

仮定法過去完了をマスターするためには、必ずしも will が「未来のこと」を表すとは限らないというのも重要なポイントだ。

確かに、will が「未来」を表すことはよくある。

I will arrive at 8 tonight.
夜の8時に着くよ。(未来)
I will go with you.
一緒に行くよ。(未来)

けれども、次の will はどうだろう? 「未来」を表しているだろうか?

His performance will be the reason they won.
彼のプレーが彼らが勝利した理由だろう。

この will は「未来」を表しておらず、may(~かもしれない)や must(~に違いない)と同じように、動詞に推量の意味を加えているだけだ。こうした will は「推量の will」と呼ばれていて、確信の度合いとしては may よりも高く must よりも低いという感じだ。

仮定法過去完了で使われる would は、この「推量の will」の過去形なので、「未来の will」とは違うということをしっかりと押さえておこう。

仮定法をさらにしっかり
身に付けたい人はこちら >>
英文法の無料講義(全31回)

仮定法過去完了の使い方

ここまでに学んだ、

・過去のことを表すなら「助動詞+have+過去分詞」
・助動詞の過去形は「事実に反すること」を表す
・仮定法で使われる would は、推量の will(~だろう)の過去形

という3つのポイントを踏まえて、仮定法過去の使い方をマスターしよう。

1. 主節では would/could have done を使う

If I had been in your situation, I would have run away in panic.
私があなたの立場だったなら、パニックで逃げ出していただろう。

※「助動詞+have done」という形になっており、過去のことを言っているとわかる。
※ここでの would は「推量の will」の過去形。

If I had had more knowledge, I could have helped you better.
私に(あのとき)もっと知識があったら、あなたをより上手く助けられたのに。

※「助動詞+have done」という形になっており、過去のことを言っているとわかる。

If you had seen that movie in a theater, you wouldn't have found it boring.
もしもあなたがその映画を映画館で見ていたなら、つまらないなんて思わなかっただろうに。

※「助動詞+have done」という形になっており、過去のことを言っているとわかる。
※ここでの would は「推量の will」の過去形。

このように、仮定法過去完了では「助動詞+have+過去分詞」という動詞(V)の助動詞を過去形にすることで、「事実に反する」ということを表現している。

※本ページ「助動詞の過去形は『事実に反すること』を表す」を参照。

2. if 節では had done を使う

一方、if 節の中では助動詞 would は使わずに、過去完了形(had done)(に見える形)を使う。

If I had been in your situation, I would have run away in panic.
私があなたの立場だったなら、パニックで逃げ出していただろう。

※ここでの had been は would have been の would が省略された形。(後述)

If I had had more knowledge, I could have helped you better.
私に(あのとき)もっと知識があったら、あなたをより上手く助けられたのに。

※ここでの had had は would have had の would が省略された形。(後述)

If you had seen that movie in a theater, you wouldn't have found it boring.
もしもあなたがその映画を映画館で見ていたなら、つまらないなんて思わなかっただろうに。

※ここでの had seen は would have seen の would が省略された形。(後述)

ここで気になるのは、どうして if 節では「助動詞の過去形」が使われないのか、ということだろう。

なぜ if 節では would を使わないのか?

理由は、if 節の中には話し手が「推量していること」がくるのは当然で、わざわざ推量の助動詞 would(推量の will の過去形)を使う必要がないからだ。

If I would have been in your situation

↓ if の後ろでわざわざ推量の助動詞 would を使う必要はないので……

If I would have been in your situation

↓ ただ、would を省略すると「事実に反する」ということを表せない。そこで……

If I had been in your situation

残った have been の have が、代わりに過去形 had になってくれている!

このように、本来であれば助動詞を過去形にすることで「事実に反する」ということを表すところを、推量の助動詞 would が省略されてしまう if 節の中に限り、残った have been の have が過去形となり、「事実に反する」ということを助動詞の代わりに表してくれているのだ。

これが、仮定法過去完了において、if 節の中で過去完了形(had done)に見える形が使われる理由だ。

さいごに「仮定法過去完了は『助動詞+have+過去分詞』が骨組み」

仮定法過去完了という表現は、いくつもの思い込みが重なって理解が遠のいてしまいがちだ。けれども、ここでお話ししたように、

・助動詞の過去形は「事実に反する」ということを表す
・「助動詞+have+過去分詞」は「過去のこと」を表す形
・推量の will(~だろう)の過去形 would は if 節の中では省略される

という3つのポイントを押さえておけば、かなり定着しやすい単元でもある。

なお、仮定法についてより理解を深めたい場合には、英語学習ボックスの無料の動画講義(全31回)がかなりお役に立てると思う。

仮定法をさらにしっかり
身に付けたい人はこちら >>
英文法の無料講義(全31回)