仮定法過去(If + 過去完了、主語 + would have + 過去分詞)の並び替え問題ですね。
例文と解説を交えて、様々なパターンを見ていきましょう。
基本的なパターン
- If I had known about the party, I would have gone there.- もしパーティーのことを知っていたら、行ったのに。
 
- If she had studied harder, she would have passed the exam.- もしもっと一生懸命勉強していたら、試験に合格したのに。
 
倒置の表現
- Had I known about the party, I would have gone there.- もしパーティーのことを知っていたら、行ったのに。
- より強調したい場合に用いられます。
 
複合文
- If you had told me the truth, I wouldn’t have been so angry.- もし本当のことを言っていたら、そんなに怒らなかったのに。
 
仮定法過去と他の時制の組み合わせ
- If I had studied harder, I could speak English fluently now.- もしもっと一生懸命勉強していたら、今は英語を流暢に話せるのに。(現在完了)
 
練習問題
以下の文を正しい順序に並べ替えましょう。
- party / gone / known / would have / I / if / the / about / have.
- harder / she / passed / would have / if / studied / the exam / she.
- told / I / you / would have / if / the truth / me / not been / so angry.
解答例:
- If I had known about the party, I would have gone.
- If she had studied harder, she would have passed the exam.
- If you had told me the truth, I would not have been so angry.
難易度別 仮定法過去の並び替え問題
難易度別問題
初級
- party / gone / known / would have / I / if / the / about / have.- もしパーティーのことを知っていたら、行ったのに。
 
- harder / she / passed / would have / if / studied / the exam / she.- もしもっと一生懸命勉強していたら、試験に合格したのに。
 
- told / I / you / would have / if / the truth / me / not been / so angry.- もし本当のことを言っていたら、そんなに怒らなかったのに。
 
中級
- if / rain / had / not / we / would / have / a picnic / it.- もし雨が降っていなければ、ピクニックに行ったのに。
 
- had / I / more / money / I / a new car / bought / would / have / if.- もしもっとお金があったら、新しい車を買ったのに。
 
- if / you / me / earlier / called / I / would / have / helped / you.- もしもっと早く私に電話をかけていたら、君を助けることができたのに。
 
上級
- had / known / I / that / you / were / coming / prepared / dinner / would / have / I.- もしあなたが来ることを知っていたら、夕食の準備をしたのに。
 
- been / if / more / careful / she / would / not / have / such / a / silly / mistake / made.- もし彼女がもっと注意していれば、そんなばかげた間違いをしなかっただろう。
 
- had / I / studied / harder / when / I / young / I / could / speak / many / languages / now.- もし若い頃に一生懸命勉強していたら、今はたくさんの言語を話せるのに。
 
解答
初級
- If I had known about the party, I would have gone.
- If she had studied harder, she would have passed the exam.
- If you had told me the truth, I would not have been so angry.
中級
- If it had not rained, we would have had a picnic.
- If I had had more money, I would have bought a new car.
- If you had called me earlier, I would have helped you.
上級
- If I had known that you were coming, I would have prepared dinner.
- If she had been more careful, she would not have made such a silly mistake.
- If I had studied harder when I was young, I could speak many languages now.
解説
- 仮定法過去: 過去の事実と異なることを仮定する。If節に過去完了形、主節にwould have + 過去分詞の形をとる。
- 倒置: if節を省略し、hadを文頭に置くことで、より強調された表現になる。













