should have / could have / would have とは?意味と基本構造
英語で過去のことを振り返って「〜すべきだった」「〜できたのに」「〜しただろうに」と言いたいとき、日本人学習者は過去形を使えばよいと考えがちですが、これは大きな誤解です。英語では、過去に対する「後悔」「非難」「実現しなかった可能性」を表すために、助動詞の過去形+ have+過去分詞という特別な形(これを「モーダルパーフェクト(modal perfect)」または「仮定法過去完了に準じる形」と呼びます)を使います。
この形は日本語の文法にはない発想です。日本語では「すべきだった」と一言で終わりますが、英語では「should」という助動詞に「have + 過去分詞」という現在完了形のパーツを組み合わせることで、「今から見て、過去のある時点でどうだったか」という時間的な視点のズレを表現します。これが should have / could have / would have の核心です。
- should have + 過去分詞:過去にすべきだったのに、しなかった(後悔・非難)
- could have + 過去分詞:過去にできたはずなのに、しなかった(可能性・機会の逸失)
- would have + 過去分詞:(もし〜だったら)過去にこうしただろう(仮定法過去完了の帰結節)
この3つは形が似ているため混同しやすいですが、意味の役割はまったく異なります。この記事では、形の作り方から意味の違い、日本人が特に間違えやすいポイントまで、体系的に解説します。
形(公式):should have / could have / would have の基本パターン
まず、肯定文・否定文・疑問文の基本形を表で確認しましょう。いずれも「助動詞+have+過去分詞(p.p.)」という語順が絶対的なルールです。
| 文の種類 | 公式 | 例文 |
|---|---|---|
| 肯定文 | 主語 + should/could/would + have + 過去分詞 | I should have called you. |
| 否定文 | 主語 + should/could/would + not + have + 過去分詞 | I shouldn't have called you. |
| 疑問文 | Should/Could/Would + 主語 + have + 過去分詞? | Should I have called you? |
発音の注意点(学習のポイント)
話し言葉では should have / could have / would have は「シュド(ゥ)・ハヴ」ではなく、should've, could've, would've(発音は「シュダヴ」「クダヴ」「ウダヴ」に近い)と縮約されます。ここで日本人学習者が非常によく犯す間違いが、リスニング時にこの音を "should of", "could of", "would of" と聞き取ってしまい、実際に "I should of gone." のように書いてしまうことです。"of" は前置詞であり、助動詞の後ろに置くことは文法的にあり得ません。必ず have であることを意識してください。
| 完全形 | 縮約形(話し言葉) | ネイティブの発音イメージ |
|---|---|---|
| should have | should've | シュダヴ |
| could have | could've | クダヴ |
| would have | would've | ウダヴ |
| should not have | shouldn't have | シュドゥントゥ・ハヴ |
should have + 過去分詞の使い方:後悔・非難を表す
1. 自分の過去の行動を後悔するとき
過去にすべきだったのにしなかったことに対する後悔を表します。日本語の「〜すればよかった」に近い感覚です。
- I should have studied harder for the exam.(もっと一生懸命試験勉強をすればよかった。)
- We should have left earlier; now we're stuck in traffic.(もっと早く出発すればよかった。今、渋滞にはまっている。)
2. 他人の過去の行動を非難・批判するとき
相手が過去にすべきだったのにしなかったことを指摘・非難するニュアンスです。
- You should have told me about the meeting sooner.(もっと早く会議のことを教えてくれればよかったのに。)
- He shouldn't have shouted at the customer.(彼は客に向かって怒鳴るべきではなかった。)
3. 過去の出来事に対する予想・推測(〜だったはずだ)
現在完了の推量用法に近く、「(当然)〜だったはずだ」という意味でも使われます。
- The train should have arrived by now. Let's check the schedule.(電車はもう到着しているはずだ。時刻表を確認しよう。)
could have + 過去分詞の使い方:可能性と逸失した機会
1. 過去にできたのに、しなかったこと(機会の逸失)
「〜できたはずなのに(実際にはしなかった)」という、実現しなかった可能性を表します。
- I could have won the race, but I fell down.(レースに勝てたはずなのに、転んでしまった。)
- She could have called an ambulance, but she didn't know what to do.(彼女は救急車を呼ぶこともできたのに、どうすればいいか分からなかった。)
2. 過去の出来事に対する推測(〜だったかもしれない)
確信度がやや低い推測を表す用法です。
- He could have missed the bus. That's why he's late.(彼はバスに乗り遅れたのかもしれない。だから遅刻しているんだ。)
3. 最悪の結果を免れたことへの安堵(〜になっていたかもしれない)
実際には起こらなかった悪い結果を想像して、安堵する表現です。日本語の「〜するところだった」に相当します。
- That was dangerous! You could have been seriously injured.(危なかった!大怪我をするところだったよ。)
would have + 過去分詞の使い方:仮定法過去完了の帰結節
1. 過去の事実に反する仮定の結果(もし〜だったら、こうしただろう)
最も重要な用法です。if節(過去完了形)とセットで、実際には起こらなかった過去の出来事を仮定します。
- If I had known about the party, I would have gone.(そのパーティーのことを知っていたら、行っただろうに。:実際は知らなかったので行かなかった)
- If she had studied harder, she would have passed the exam.(もっと勉強していたら、試験に合格しただろうに。:実際は不合格だった)
2. 過去の意志・意向(〜するつもりだった)
過去のある時点で持っていた意図を表します。
- I would have called you, but my phone died.(電話するつもりだったんだけど、携帯の充電が切れてしまって。)
3. 婉曲的な推測・意見(〜だったと思う)
話し手の推測を柔らかく述べる用法です。
- I would have thought the meeting was cancelled.(会議は中止になったのだと思っていたんだけど。)
3つの違いが一目でわかる比較表
| 助動詞+have+p.p. | 中心的な意味 | 日本語訳のイメージ | 前提となる状況 |
|---|---|---|---|
| should have + p.p. | すべきだったのにしなかった(後悔・非難) | 〜すればよかった/〜すべきだった | 義務・アドバイスの不履行 |
| could have + p.p. | できたはずなのにしなかった(可能性) | 〜できたのに | 能力・機会はあったが行動しなかった |
| would have + p.p. | もし〜だったらこうしただろう(仮定の結果) | 〜しただろうに | 過去の事実に反する仮定(if節とセットが基本) |
見分け方のコツ(ネイティブの感覚)
- 「そうすべきだったのに!」と相手を責めたい、または自分を悔いたい → should have
- 「やればできたのに(能力・チャンスはあった)」→ could have
- 「もし状況が違ったら、私はこうしていた」という仮定が根底にある → would have(if節を意識)
たとえば同じ状況でも、視点によって使う助動詞が変わります。
- You should have locked the door.(鍵をかけるべきだった=非難)
- You could have locked the door.(鍵をかけることもできた=可能性の指摘)
- If you had been more careful, you would have locked the door.(もっと注意していたら、鍵をかけていただろう=仮定)
日本人がよく間違えるポイント
| ❌ 誤り | ⭕ 正しい形 | なぜ間違いなのか |
|---|---|---|
| I should of gone to the party. | I should have gone to the party. | "have" の縮約形 "should've" を音だけで覚え、"of" と混同する典型的なミス。"of" は前置詞であり助動詞の後には来ない。 |
| If I had money, I would have bought it.(現在の話のつもりで) | If I had had money, I would have bought it. / If I had money, I would buy it. | 「今お金があれば買うのに」なら仮定法過去(would buy)、「あの時お金があったら買っていたのに」なら仮定法過去完了(had had / would have bought)。時制のズレに注意。 |
| He should have must finish the report. | He should have finished the report. | 助動詞を2つ重ねることはできない。「〜すべきだった」は should have + p.p. のみで完結する。 |
| I could have went there. | I could have gone there. | have の後ろは必ず「過去分詞」。過去形(went)ではなく過去分詞(gone)を使う。日本語の「行った」につられて過去形を選んでしまうミスが多い。 |
| もう〜したはずだ、を単純に "should did" と表現してしまう | It should have finished by now. | 「〜のはずだ」という推量は現在完了的な発想が必要なため、should do ではなく should have + p.p. になる。 |
| shouldn't have + p.p. を「〜しなかったはずだ」と誤訳 | You shouldn't have done that.(そんなことしなくてよかったのに/すべきではなかった) | not の位置により意味が変わることを混同。shouldn't have は「すべきではなかった(のにした)」という非難・恐縮の表現であり、単純な過去の否定ではない。 |
特に重要なのは、「〜したはずだ」を英語にするとき、つい日本語の語順通りに「した(過去形)+はずだ」と考えてしまい、should did のような誤った形を作ってしまうことです。英語では「はずだ」という推量のニュアンスをすべて助動詞(should/could/would)が担い、動詞側は必ず「have + 過去分詞」という完了形の骨組みを保つ、という発想の転換が必要です。
また、"could have" を「〜できただろう」という過去の推量の意味で使うか、「〜できたのに(しなかった)」という逸失した可能性の意味で使うかは文脈判断になります。会話の流れの中で、話者が後悔しているのか、単に推測しているのかを意識して読み取る練習をしましょう。
自然な英語例文で使い方を確認
- I should have brought an umbrella. It's raining so hard now.(傘を持ってくればよかった。今すごい雨が降っている。)
- She could have become a professional pianist if she had continued practicing.(練習を続けていたら、彼女はプロのピアニストになれていたかもしれない。)
- They would have arrived on time if the flight hadn't been delayed.(フライトが遅れなければ、彼らは時間通りに到着していただろう。)
- We shouldn't have eaten so much at the buffet.(ビュッフェであんなに食べるべきではなかった。)
- You could have told me you were coming! I would have cleaned the house.(来るなら言ってくれればよかったのに!掃除しておいたのに。)
- My grandfather would have loved this concert.(祖父が生きていたら、このコンサートをきっと気に入っただろう。)
- I could have sworn I locked the door.(鍵をかけたと確信していたんだけどな。)
- He must have forgotten; he should have sent the email by 9 a.m.(彼は忘れたに違いない。午前9時までにメールを送っているはずだったのに。)
まとめ:核心ルールを押さえよう
- 形は「助動詞(should/could/would)+ have +過去分詞」で固定。have のあとは必ず過去分詞であり、過去形ではない。
- should have + p.p. =過去の後悔・非難(〜すべきだったのに)
- could have + p.p. =過去に実現しなかった可能性・機会(〜できたのに/〜だったかもしれない)
- would have + p.p. =過去の事実に反する仮定の結果(if節とセットが基本、〜しただろうに)
- 話し言葉での縮約形は should've / could've / would've であり、"of" ではなく必ず "have" であることを常に意識する。
- 日本語の「〜だったはずだ」「〜すればよかった」を直訳的に発想せず、「今の視点から過去を振り返る」英語特有の時間感覚を意識して使い分けることが上達の近道。