プロゴルファー石川遼選手もリスニング強化に使っている英語教材☆無料試聴付き☆
英文法の問題&解説を通して毎日英語に触れられる無料メルマガ【誰でもできる!毎日5分英文法】

英文法問題集 仮定法過去完了

問.以下の文のIfを省略し、同じ意味の文に書き換えなさい。

If he had invited me, I would have joined the party.

解答は10行下にあります。

【解答】

Had he invited me, I would have joined the party.
「もし彼が招待してくれていたら、私はそのパーティーに参加していただろう。」

【解説】

問題の文は以下のような形になっており、仮定法過去完了の文で あることが分かります。

If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have 動詞の過去分詞形 〜 .

日本語に訳すと「もし〜であったら、〜だっただろう(〜できた のに、〜すべきだった、〜だったかもしれない)」となります。

この仮定法過去完了の文は、Ifを省略し、Hadと主語の順番を逆に (倒置)して以下のように書くこともできます。

Had + 主語 + 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .

意味は、上の仮定法過去完了の文と全く同じです。

よって、問題文のIf he had invited meの部分は、Had he invited meと書き換えることができます。


問.以下の文を仮定法の文に書き換えなさい。

I'm sorry (that) I didn't send her e-mail then.

解答は10行下にあります。

【解答】

I wish I had sent her e-mail then.
「(私が、)その時彼女にメールを送っていたらよかったのに。」

【解説】

問題の文は、「私は、その時彼女にメールを送らなかったこと を後悔しています。」という意味です。

この場合、I'm sorryは「すみません」ではなく、I'm sorry (that)で「〜を後悔している」や「〜は残念だ」という意味 になります。

thatは「〜ということ」という意味の接続詞で、この場合省略 可能です。

問題の文は過去の事実を表していますが、願望(事実の逆)は 「(私が、)その時彼女にメールを送っていたらよかったのに。」 となります。

過去の事実の逆を表す時に仮定法過去完了を用い、文の形は以 下のように動詞の部分に過去完了形を用います。

If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .

日本語に訳すと「もし〜であったら、〜だっただろう(〜できた のに、〜すべきだった、〜だったかもしれない)」となります。

If節でないほうの節では、助動詞のwould, could, should, might のどれかが必ず用いられます。

また、これらの助動詞の後ろに過去完了形「had+動詞の過去分 詞形」を置くことはできないので、この部分は「助動詞+have +動詞の過去分詞形」となります。

この仮定法過去完了の文は「もし〜であったら」と条件付きの 仮定を表していますが、解答の文のように単に「〜だったらよ かったのに」と過去の願望(事実の逆)を表す場合もあります。

このような時に、「I wish+仮定法過去完了 〜」という形を用 います。

didn't sendの部分を過去完了形の形「had+動詞の過去分詞形」 に書き換えます。

また、事実の逆を表すので肯定を否定に変え、had sentという形 になります。

よって、問題の文を仮定法に書き換えると解答のようになります。


問.以下の文を日本語に訳しなさい。

I wish I had told him the truth.

解答は10行下にあります。

【解答】

I wish I had told him the truth.
「(私が、)彼に本当のことを言っていたらよかったのに。」

【解説】

仮定法過去完了の文の形は、以下のように動詞の部分に過去完了形を用います。

If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .

日本語に訳すと「もし〜であったら、〜だっただろう(〜できたのに、〜すべきだった、〜だったかもしれない)」となります。

If節でないほうの節では、助動詞のwould, could, should, mightのどれかが必ず用いられます。

また、これらの助動詞の後ろに過去完了形「had+動詞の過去分詞形」を置くことはできないので、この部分は「助動詞+have+動詞の過去分詞形」となります。

この仮定法過去完了の文は「もし〜であったら」と条件付きの仮定を表していますが、問題の文のように単に「〜だったらよかったのに」と過去の願望(事実の逆)を表す場合もあります。

このような時に「I wish+仮定法過去完了」という形を用います。

問題文の事実は「私は、彼に本当のことを言わなかったことを後悔しています。」で、英文は以下のようになります。

I'm sorry (that) I didn't tell him the truth.

この場合、I'm sorryは「すみません」ではなく、I'm sorry (that)で「〜を後悔している」や「〜は残念だ」という意味になります。

thatは「〜ということ」という接続詞で、この場合は省略可能です。


問.以下の文を仮定法の文に書き換えなさい。

As he helped me, I'm here now.

解答は10行下にあります。

【解答】

If he hadn't helped me, I wouldn't be here now.
「もし彼が私を助けてくれなかったら、私は今ここにいないだろう。」

【解説】

問題の文は「彼が私を助けてくれたので、私は今ここにいま す。」という事実を表す文です。

この文を仮定法を用いて書き換える時に、時制に注意が必要 です。

「彼が私を助けてくれたので」という部分は過去のことを、 「私は今ここにいないだろう」という部分は現在のことを表 しています。

よって、前半部分には仮定法過去完了、後半部分には仮定法 過去の形を用います。

まず、仮定法過去と仮定法過去完了の形と意味を復習してお きます。

仮定法過去は以下のように動詞や助動詞に過去形を用います。

If + 主語 + (助)動詞の過去形 〜 ,
主語 + would(could, should, might) + 動詞の原形 〜 .

そして、日本語に訳すと「もし〜なら、〜だろう(〜できる のに、〜すべきだ、〜かもしれない)」となります。

仮定法過去完了は以下のように動詞の部分に過去完了形を用 います。

If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .

助動詞の後ろに過去完了形「had+動詞の過去分詞形」を置く ことはできないので、If節でないほうの文では「助動詞+ha ve+動詞の過去分詞形」という形を用います。

そして、日本語に訳すと「もし〜であったら、〜だっただろ う(〜できたのに、〜すべきだった、〜だったかもしれない)」 となります。

これをもとに前半のhepledの部分は、過去完了形の形「had+ 動詞の過去分詞形」を用い、hadn't helpedとなります。

後半部分のamは仮定法過去の形wouldn't beとなります。

仮定法は事実の逆を表すので、両方とも肯定から否定の形に 変えます。よって、仮定法の文は解答のようになります。


問.以下の文を日本語に訳しなさい。

If I had studied English hard, I could speak it now.

解答は10行下にあります。

【解答】

If I had studied English hard, I could speak it now.
「もし一生懸命勉強していたら、私は今英語を話せているだろう(に)。」

【解説】

注意すべき点は、問題の文が仮定法過去と仮定法過去完了が組 み合わさった文であるということです。

まず、仮定法過去と仮定法過去完了の形と意味を復習してみま しょう。

仮定法過去は、以下のように動詞や助動詞に過去形を用います。

If + 主語 + (助)動詞の過去形 〜 ,
主語 + would(could, should, might) + 動詞の原形 〜 .

そして、日本語に訳すと「もし〜なら、〜だろう(〜できるの に、〜すべきだ、〜かもしれない)」となります。

仮定法過去完了は、以下のように動詞の部分に過去完了形を用 います。

If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .

助動詞の後ろに過去完了形「had+動詞の過去分詞形」を置く ことはできないので、If節でないほうの文では「助動詞+have +動詞の過去分詞形」という形を用います。

そして、日本語に訳すと「もし〜であったら、〜だっただろう (〜できたのに、〜すべきだった、〜だったかもしれない)」 となります。

問題の文は、If節には仮定法過去完了の形「had+動詞の過去 分詞形」、If節でないほうの文では仮定法過去の形「would( could, should, might) + 動詞の原形」が用いられています。

これを日本語に訳すと「(過去のある時点で)もし〜であった ら、(今)〜だろう(〜できるのに、〜すべきだ、〜かもしれ ない)」となり、問題文の日本語訳は解答のようになります。

この仮定法の文に対する事実は「一生懸命勉強しなかったので、 私は今英語を話すことができません。」で、英文は以下のよう になります。

As I didn't study English hard, I can't speak it now.

仮定法は事実の逆を表すので、事実の文から否定は肯定に、肯 定は否定になるという点も注意して下さい。

このように仮定法過去と仮定法過去完了の組み合わせもあるの で覚えておきましょう。


問.以下の文を仮定法の文に書き換えなさい。

As I had a map, I could arrive at the hotel.

解答は10行下にあります。

【解答】

If I hadn't had a map, I couldn't have arrived at the hotel.
「もし地図を持っていなかったら、私はそのホテルに着くことができなかっただろう。」

【解説】

問題の文は「地図を持っていたので、私はそのホテルに着くこと ができました。」という過去の事実を表しています。

このような過去の事実の逆(仮定や願望)を表す時に仮定法過去 完了が用いられ、日本語だと「もし地図を持っていなかったら、 私はそのホテルに着くことができなかっただろう。」となります。

文の形は、以下のように動詞の部分に過去完了形を用います。

If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .

If節でないほうの節では、助動詞のwould, could, should, might のどれかが必ず用いられます。

また、これらの助動詞の後ろに過去完了形「had+動詞の過去分詞 形」を置くことはできないので、この部分は「助動詞+have+動 詞の過去分詞形」となります。

そして、日本語に訳すと「もし〜であったら、〜だっただろう(〜で きたのに、〜すべきだった、〜だったかもしれない)」となります。

それでは、問題の英文を仮定法過去完了に書き換えてみましょう。

まず、As「〜ので」をIf「もし〜ならば」に置き換え、その後ろ のhadの部分を過去完了形「had+動詞の過去分詞形」に変えます。

そして、仮定法過去完了は過去の事実の"逆"を表すので肯定の形 から否定の形へ変えます。

よって、hadはhadn't hadに変わります。

もう片方の文のcould arriveの部分も過去完了形に書き換えたい のですが、助動詞couldの後ろは動詞の原形のみで過去完了形の hadを置くことはできません。

よって、couldの後ろにはhadを原形のhaveに変えた「have+動詞 の過去分詞形」を置き、「could have+動詞の過去分詞形という 形になります。

こちらも事実の逆を表すので肯定の形を否定の形にし、couldn't have arrivedとなります。

よって、仮定法過去完了の文は解答のようになります。

仮定法過去完了の文では動詞や助動詞を過去完了形の形にするだ けでなく、事実が否定なら仮定法過去完了は肯定、事実が肯定な ら仮定法過去完了は否定になる点にも注意しましょう。


問.以下の文を仮定法の文に書き換えなさい。

As he wasn't rich, he couldn't buy the expensive car.

解答は10行下にあります。

【解答】

If he had been rich, he could have bought the expensive car.
「もし彼がお金持だったら、その高級車を買うことができただろう。」

【解説】

問題の文は「彼はお金持ちではなかったので、その高級車を買う ことができなかった。」という過去の事実を表しています。

このような過去の事実の逆(仮定や願望)を表す時に仮定法過去 完了が用いられ、日本語だと「彼がお金持だったら、その高級車 を買うことができただろう。」となります。

文の形は、以下のように動詞の部分に過去完了形を用います。

If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .

If節でないほうの節では、助動詞のwould, could, should, might のどれかが必ず用いられます。

また、これらの助動詞の後ろに過去完了形「had+動詞の過去分 詞形」を置くことはできないので、この部分は「助動詞+have+ 動詞の過去分詞形」となります。

そして、日本語に訳すと「もし〜であったら、〜だっただろう (〜できたのに、〜すべきだった、〜だったかもしれない)」と なります。

それでは、問題の英文を仮定法過去完了に書き換えてみましょう。

まず、As「〜ので」をIf「もし〜ならば」に置き換え、その後ろ のwasn'tの部分を過去完了形「had+過去分詞形」に変えます。

そして、仮定法過去完了は過去の事実の"逆"を表すので否定の形 から肯定の形へ変えます。

よって、wasn'tはhad beenに変わります。

もう片方の文のcouldn't buyの部分も過去完了形に書き換えたい のですが、助動詞couldの後ろは動詞の原形のみで過去完了形の hadを置くことはできません。

よって、couldの後ろにはhadを原形のhaveに変えた「have+動詞 の過去分詞形」を置き、「could have+動詞の過去分詞形」とい う形になります。

こちらも事実の逆を表すので否定の形を肯定の形にし、could ha ve boughtとなります。

よって、仮定法過去完了の文は解答のようになります。

仮定法過去完了の文では動詞や助動詞を過去完了形にするだけで なく、事実が否定なら仮定法過去完了は肯定、事実が肯定なら仮 定法過去完了は否定になる点にも注意しましょう。


問.以下の文を日本語に訳しなさい。

If I had had enough money, I would have bought it.

解答は10行下にあります。

【解答】

If I had had enough money, I would have bought it.
「もし十分なお金を持っていたら、私はそれを買っていただろう。」

【解説】

問題の文でIf節中の動詞は過去完了形の形(had had)になって いますが、この形の文は本来の過去完了形の意味ではなく過去 のことを表しています。

前回の復習ですが、これは仮定法過去完了と呼ばれ、過去にお ける事実の逆や願望を表す時に用いられます。

文の形は、以下のように動詞の部分に過去完了形を用います。

If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .

If節でないほうの節では、助動詞のwould, could, should, mightのどれかが必ず用いられます。

また、これらの助動詞の後ろに過去完了形「had+動詞の過去分 詞形」を置くことはできないので、この部分は「助動詞+have +動詞の過去分詞形」となります。

そして、日本語に訳すと「もし〜であったら、〜だっただろう (〜できたのに、〜すべきだった、〜だったかもしれない)」 となります。

よって、問題の文の日本語訳は解答のように「もし十分なお金 を持っていたら、私はそれを買っていただろう。」となります。

この仮定法の文に対する過去の事実は「十分なお金を持ってい なかったので、私はそれを買いませんでした。」で、英文は動 詞と助動詞に過去形を用い以下のようになります。

As I didn't have enough money. I didn't buy it.

仮定法過去完了は事実の逆を表すので過去形の部分を過去完了 形に変えるだけでなく、事実の文から否定は肯定に、肯定は否 定になるという点にも注意しましょう。

また、以下のように動詞や助動詞に過去形を用いると仮定法過 去の文になり"現在"の事実の逆や願望を表します。

If I had enough money, I would buy it.
「もし十分なお金を持っていれば、私はそれを買うだろう。」


問.以下の文を日本語に訳しなさい。

If I had been with you, I could have helped you.

解答は10行下にあります。

【解答】

If I had been with you, I could have helped you.
「もしあなたと一緒にいたら、私はあなたを助けることができただろう(に)。」

【解説】

問題の文でIf節中の動詞は過去完了形の形になっていますが、 この形の文は本来の過去完了形の意味ではなく過去のことを 表しています。

これは仮定法過去完了と呼ばれ、過去における事実の逆や願 望を表す時に用いられます。

文の形は、以下のように動詞の部分に過去完了形を用います。

If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .

If節でないほうの節では、助動詞のwould, could, should, mightのどれかが必ず用いられます。

また、これらの助動詞の後ろに過去完了形の「had+動詞の過 去分詞形」を置くことはできないので、この部分は「助動詞+ have+動詞の過去分詞形」となります。

そして、日本語に訳すと「もし〜だったら、〜であっただろう (〜できたのに、〜すべきだった、〜だったかもしれない)」 となります。

よって、問題の文の日本語訳は解答のように「もしあなたと一 緒にいたら、私はあなたを助けることができただろう(に)。」 となります。

この仮定法の文に対する過去の事実は「あなたと一緒にいなか ったので、私はあなたを助けることができませんでした。」で、 英文は動詞と助動詞に過去形を用い以下のようになります。

As I wasn't with you, I couldn't help you.


☆TOEIC対策お勧め本☆
TOEIC対策

利用者の評価も高いお勧めのTOEIC対策本(500〜860点まで対応)です。一冊で全パートの対策ができ、英文法の理解にもお勧め。送料無料!

☆単語力とリスニング強化☆
単語耳

きちんと発音できる単語は一生忘れません。一生分の単語力+リスニング力が身に付いて忘れなくなる秘訣を凝縮。英単語八千を一生忘れない英語耳を作れます。送料無料!

英文法問題集 ご案内
英文法問題集

管理人のTomoです。英文法問題集を訪問して頂き有難うございます!無料メルマガ【誰でもできる!毎日5分英文法】で出題した英文法の問題とその解説をアップしています。英文法の学習に役立てて下さい(^_^)/