英語の should have / could have / would have は、どれも見た目が似ているので混同しやすい表現です。
でも、先に結論を言うと、違いはかなりはっきりしています。
should have は「それが正しかったのにしなかった」
could have は「することは可能だった」
would have は「条件がそろえばそうなっただろう」
この3つは、過去を振り返りながら、話し手の気持ちや判断を足す表現です。
「〜したはず」「〜できたのに」「〜しただろうに」がごちゃごちゃになっている人は、まずこの記事の最初の表だけ押さえてください。
should have / could have / would have の違いをまず表で整理
| 表現 | 核心イメージ | よくある訳 | こんなときに使う |
|---|---|---|---|
| should have + 過去分詞 | 正解・当然・望ましかったこと | 〜すべきだったのに / 〜すればよかった / 〜したはずだ | 後悔・反省・軽い非難・期待 |
| could have + 過去分詞 | 可能だったこと | 〜できたのに / 〜だったかもしれない | 可能性・未実現の行動・過去の推測 |
| would have + 過去分詞 | 条件つきで起きた結果 | 〜しただろうに / 〜だっただろうに | 仮定法・たられば・未実現の結果 |
最重要ポイントは、次の3つです。
- should have =「その行動が正しかった」
- could have =「その行動は可能だった」
- would have =「その条件ならそうなった」
まずはこの3本柱で整理すると、かなり迷いにくくなります。
助動詞+have p.p. とは何か
この形は、ざっくり言うと 「今の位置から、過去のことを振り返ってコメントする形」 です。
たとえば、ただの過去なら次のようになります。
- I called her.
彼女に電話した。
これに助動詞を入れると、単なる事実ではなく、話し手の判断が入ります。
- I should have called her.
電話すべきだったのに。 - I could have called her.
電話することはできたのに。 - I would have called her.
そういう条件なら電話しただろうに。
つまり、同じ「電話する」という出来事でも、
正しかったのか、可能だったのか、条件つきの結果なのかで、使う助動詞が変わります。
なお、p.p. は past participle(過去分詞) のことです。
代表例は次の通りです。
- go → gone
- eat → eaten
- do → done
- see → seen
- take → taken
形はいつも、
助動詞 + have + 過去分詞
です。
should have の意味と使い方
should have は、まず 「〜すべきだったのに」 と覚えるのが基本です。
ただし、実際には意味が2つあります。
- 後悔・反省・軽い非難
- 〜したはずだ、という期待や見込み
ここを分けて理解すると、かなりすっきりします。
should have = 〜すべきだったのに
これは最もよく使う意味です。
「それが正しい行動だったのに、実際はそうしなかった」というニュアンスです。
例文を見てみましょう。
- I should have studied harder.
もっと勉強すべきだったのに。 - We should have left earlier.
もっと早く出発すべきだったのに。 - You should have told me the truth.
本当のことを私に話すべきだったのに。
この用法では、後悔・反省・相手への軽い非難が入ることが多いです。
自分に対して使えば後悔になり、
相手に対して使えば「そうしてほしかったのに」という感じになります。
shouldn’t have = 〜するべきではなかったのに
否定になると意味もよく出ます。
- I shouldn’t have said that.
あんなこと言うべきではなかった。 - He shouldn’t have spent so much money.
そんなにお金を使うべきではなかった。
これは、実際にはしてしまったけれど、しない方がよかったという形です。
整理するとこうです。
| 形 | 意味 |
|---|---|
| should have done | するべきだったのに、しなかった |
| shouldn’t have done | するべきではなかったのに、してしまった |
should have = 〜したはずだ
should have には、もう1つ大事な意味があります。
それが 「〜したはずだ」 です。
- She should have arrived by now.
彼女はもう着いているはずだ。 - The train should have left already.
電車はもう出発しているはずだ。
このときの should have は、後悔ではなく、予定・常識・状況から見た見込みです。
見分け方はシンプルです。
「〜すべきだったのに」と言えそうなら後悔系
「〜したはずだ」と自然なら見込み系
たとえば次の文は見込みです。
- He should have finished work by now.
彼はもう仕事を終えているはずだ。
ここで「彼は仕事を終えるべきだったのに」だと不自然です。
だから、この should have は 見込みだと判断できます。
should have のコアイメージ
should have を一言でまとめるなら、「本来そうであるのが自然だった」 です。
そこから、
- 実際はしなかった → 後悔・非難
- 当然もうそうなっている → 見込み・期待
という2方向に広がります。
could have の意味と使い方
could have も、意味が1つだけではありません。
よく出るのは次の2つです。
- 〜できたのに
- 〜だったかもしれない
つまり、could have は 可能性 が中心です。
could have = 〜できたのに
これは「その気になればできた」「条件はあった」という意味です。
- I could have helped you.
あなたを手伝えたのに。 - We could have won the game.
その試合は勝てたのに。 - She could have passed the test.
彼女は試験に受かれたのに。
この用法では、実際にはしなかった・できなかったことが背景にあります。
should have との違いはここです。
- I should have called you.
電話するのが正しかったのに。 - I could have called you.
電話すること自体は可能だったのに。
前者は 正しさ、後者は 可能性 に重点があります。
could have = 〜だったかもしれない
could have は、過去についての推測でも使えます。
- She could have forgotten my message.
彼女は私のメッセージを忘れたのかもしれない。 - It could have been worse.
もっとひどいことになっていたかもしれない。 - He could have taken the wrong train.
彼は間違った電車に乗ったのかもしれない。
この意味の could have は、may have / might have に近いことがあります。
ただし、could have は文脈によって
「可能だったのに」 と
「かもしれない」 のどちらにもなれるので、前後関係が大事です。
could have のコアイメージ
could have は、まとめると 「その可能性はあった」 です。
そこから、
- 実行可能だった → 〜できたのに
- 起きた可能性がある → 〜だったかもしれない
という2つの意味が生まれます。
would have の意味と使い方
would have は、3つの中でいちばん 「条件」 と結びつきやすい表現です。
基本は 「もし〜なら、〜しただろうに」 です。
would have = 〜しただろうに / 〜だっただろうに
- I would have gone with you.
あなたと一緒に行っただろうに。 - She would have been happy.
彼女はうれしかっただろうに。 - They would have arrived earlier.
彼らはもっと早く着いただろうに。
この形は、現実には起きなかった過去の結果を表します。
つまり、たられば の世界です。
if がある形で考えるとわかりやすい
would have は、仮定法過去完了でよく使います。
- If I had known the truth, I would have told you.
もし本当のことを知っていたら、あなたに話しただろうに。 - If we had left earlier, we would have caught the train.
もっと早く出ていたら、その電車に乗れただろうに。
このとき、
if節 = 条件
would have節 = その結果
です。
初心者はここをセットで覚えると理解しやすいです。
if が省略されることも多い
会話では、if の部分が出てこないこともよくあります。
- I would have helped, but I was busy.
手伝っただろうけど、忙しかった。 - I would have called you, but I lost your number.
電話しただろうけど、番号をなくした。
このように、後ろに but で理由が来ると、
「本当はそうするつもりだったが、できなかった」というニュアンスが出ます。
would have は「気持ち」や「意志」がにじむこともある
would have は単なる結果だけでなく、
その条件なら自分はそうしたつもりだった
という気持ちが入ることがあります。
- I would have gone, but I had to work.
行きたかったし、条件が合えば行ったのに。
このため、could have よりも 意志 が感じられやすいです。
should have / could have / would have の使い分け
ここがいちばん大事です。
迷ったら、次の順番で考えてください。
1. 正しい行動を言いたいなら should have
「それをするのがよかった・当然だった」と言いたいなら should have です。
- I should have apologized.
謝るべきだった。
これは、正解の行動に目が向いています。
2. 可能だったことを言いたいなら could have
「やろうと思えばできた」と言いたいなら could have です。
- I could have apologized.
謝ることはできた。
これは、能力・状況・チャンスがあったことに目が向いています。
3. 条件つきの結果を言いたいなら would have
「もし条件がそろっていたら、そうなった」と言いたいなら would have です。
- I would have apologized if I had seen him.
彼に会っていたら謝っただろうに。
これは、仮定の結果に目が向いています。
3つを並べると違いがよく見える
たとえば「電話」にすると違いが見えやすいです。
- I should have called you.
電話すべきだったのに。
→ 電話するのが正解だった - I could have called you.
電話することはできたのに。
→ 電話は可能だった - I would have called you if I had known.
知っていたら電話しただろうに。
→ 条件があれば電話した
日本語ではどれも少し似て見えますが、
英語では注目しているポイントが違うのです。
「〜したのに」を英語で言うときの考え方
日本語の「〜したのに」は便利ですが、英語では1つに決まりません。
どの意味の「のに」なのかを見分ける必要があります。
後悔の「のに」なら should have
- もっと早く寝ればよかったのに。
→ I should have gone to bed earlier.
可能性の「のに」なら could have
- もっと早く寝ることはできたのに。
→ I could have gone to bed earlier.
仮定の結果の「のに」なら would have
- もっと早く寝ていたら、元気だっただろうに。
→ I would have felt better if I had gone to bed earlier.
このように、日本語からそのまま訳すのではなく、意味の向きを見ることが大切です。
よくある間違い
ここでは、学習者が特につまずきやすい点を整理します。
have の後ろを原形にしてしまう
誤り
- should have go
- could have do
- would have eat
正しくは
- should have gone
- could have done
- would have eaten
have の後ろは 過去分詞 です。
if節に would have を入れてしまう
誤り
- If I would have known, I would have helped.
正しくは
- If I had known, I would have helped.
仮定法過去完了では、
- if節 → had + 過去分詞
- 結果節 → would have + 過去分詞
が基本です。
should of / could of / would of と書いてしまう
会話では should’ve / could’ve / would’ve が「〜of」のように聞こえることがあります。
でも、書くときは have が正解です。
- should have
- could have
- would have
of は誤りなので注意してください。
会話でよく出る短縮形
会話では次の形がとてもよく使われます。
- should’ve
- could’ve
- would’ve
発音ではかなり短くなりますが、意味は同じです。
ただし、初心者のうちはまず 省略しない形 で理解するのがおすすめです。
その方が構造を見失いません。
迷ったときの最終チェック
最後に、1秒で見分けるためのコツをまとめます。
should have
- それが正解だった
- 後悔している
- 軽く責めている
- あるいは「もう〜したはずだ」と見込んでいる
could have
- それは可能だった
- チャンスはあった
- または「〜だったかもしれない」と推測している
would have
- 条件があればそうなった
- 現実には起きなかった
- 「たられば」の結果を言っている
この3つを一言で言うなら、こうです。
should have = 正しさ
could have = 可能性
would have = 仮定の結果
まとめ
should have / could have / would have の違いは、次のように整理すると覚えやすいです。
| 表現 | 覚え方 |
|---|---|
| should have | そうするのがよかった |
| could have | そうすることは可能だった |
| would have | その条件ならそうなった |
最後に、例文を3つ並べて終わります。
- I should have studied harder.
もっと勉強すべきだった。 - I could have studied harder.
もっと勉強することはできた。 - I would have studied harder if I had known the result.
結果を知っていたら、もっと勉強しただろうに。
この3文を見分けられるようになれば、
助動詞+have p.p. の基本はかなり整理できています。
丸暗記ではなく、
正しさなのか、可能性なのか、条件つきの結果なのか
を見て判断していきましょう。
