今のことについて助言する言い方はもう知っているはずだ。you should call her。では、すでに起きてしまったことについて「本当はこうすべきだった」と言いたいときは、どう言えばいいのだろうか。英語にはちょうどそのための過去の助動詞の形がある。should haveshouldn't haveneedn't have だ。すでに学んだ推量の形とまったく同じ作り方——助動詞+have+過去分詞——で成り立っている。

  • You should have called me. Why didn't you?(批判:しなかったが、するべきだった)
  • You shouldn't have shouted at him. It wasn't his fault.(批判:してしまったが、間違っていた)
  • I needn't have brought an umbrella. It didn't rain.(傘を持って行ったが、結果的に不要だった)

ここでの発想の転換: これらの助動詞は、何が起きたかを伝えると同時に、それを評価してもいる。should have はたいてい、その行動が実際には行われなかった(が、行われるべきだった)ことを意味する。一方 shouldn't haveneedn't have は、その行動が実際に行われたことを意味する——ただし、間違っていた、あるいは必要がなかった、という評価つきで。

Should have / shouldn't have:批判と後悔

should have+過去分詞は、何かが正しい行動だったのに、実際には行われなかったことを表す。これは、しそこなった行動に対する批判で、自分自身について言えば後悔、他人について言えば非難になることが多い。

  • You should have told me you were coming.(言ってくれなかったが、言うべきだった)
  • I should have studied harder for the exam.(もっと勉強しなかったので、今はそれを後悔している)
  • We should have left earlier — now we're stuck in traffic.

shouldn't have+過去分詞は逆で、何かが実際に行われてしまい、それが間違っていたことを表す。

  • You shouldn't have said that — it hurt her feelings.(言ってしまった、それが間違いだった)
  • I shouldn't have eaten so much cake.(食べてしまった、今後悔している)
  • He shouldn't have driven so fast in the rain.
実際に起きたこと
should have+過去分詞 行われなかった(行われるべきだったのに) She should have worn a coat.(着なかった)
shouldn't have+過去分詞 行われた(行われるべきではなかったのに) She shouldn't have worn heels for the hike.(履いてしまった)

これは現在形の should とはまったく違う意味だ。✅ You should call her(これからのことへの助言)と ✅ You should have called her(過去への批判)は同じではない——後者は、その機会がすでに過ぎ去り、電話は結局かけられなかったことを意味する。現在・これからのことに使う should については Should (advice) を参照。

日本語には「〜すればよかった」という、これによく似た表現がある。「電話すればよかった」は should have called にかなり近い表現だ。ただし日本語の「電話すればよかった」は主語を省けるのに対し、英語では I should have called / You should have called のように、だれがそうすべきだったのかを主語で必ず示す点にも注意しよう。

should have は後悔ではなく推測を表すこともある。They should have arrived by now は「もう着いているはずだ」という意味で、批判ではない。どちらの意味かは文脈や口調で判断できることが多い。この記事では、より頻度の高い批判・後悔の用法を中心に扱う。

Needn't have:必要なかったが、やってしまった

needn't have+過去分詞は、ある行動が実際に行われたものの、振り返ってみると必要がなかったことを表す。ポイントは、その行動が実際に起きたという事実だ。

  • I needn't have hurried — the meeting was cancelled.(急いだが、その必要はなかった)
  • You needn't have bought so much food — only three people came.(食べ物を買ったが、必要以上の量だった)
  • She needn't have worried; everything turned out fine.(心配したが、その必要はなかった)

これを didn't need to(同じ働きをする didn't have to も含む)と比べてみよう。こちらは単に必要がなかったということを述べるだけで、それ自体では行動が実際に行われたかどうかは示さない。

  • I didn't need to bring my passport, so I left it at home.(必要がなく、実際に何もしなかった)
  • I didn't need to bring my passport, but I brought it anyway, just in case.(やはり必要はなかった——だがここでは文脈から、実際には持って行ったことがわかる)
  • I needn't have brought my passport — it turned out I didn't need it.(この形は常に、行動が行われたこと、そして後になって不要だとわかったことを示す)

役に立つ区別: 何かを行い、しかも結果的に不要だったと一言で明確に言いたいなら、needn't have のほうが的確だ。didn't need to は追加の文脈がないと曖昧なままになる。✅ I needn't have brought my umbrella — it didn't rain は誤解の余地がない。✅ I didn't need to bring my umbrella, so I left it at home も同じく正しいが、それは文の後半が実際に何が起きたかを明示しているからにすぎない。

行動が行われたことを示すか 何を強調しているか
needn't have+過去分詞 ✅ はい——常に 行動は起き、結果的に不要だった
didn't need to / didn't have to+動詞の原形 文脈次第 義務や必要がなかった

アメリカ英語では needn't have はあまり使われず、代わりに didn't have to を使い、行動が結局行われたことは文脈に任せることが多い。I didn't have to bring an umbrella, but I did.

必要性や義務を表す現在時制の形——musthave todon't need to——については Have to / must (obligation) を参照。

Could have:逃した可能性、時に批判

could have+過去分詞は、実現しなかった可能性を表す。可能ではあったが、実際には起きなかったことだ。文脈によって、中立的に聞こえることもあれば、感心しているように聞こえることも、特に you を伴うと軽い非難のように聞こえることもある。

  • You could have told me you'd be late!(可能だったのに、そうしなかった——軽い非難)
  • We could have taken a taxi, but we decided to walk.(選ばれなかった選択肢——中立的)
  • She could have won the race, but she stopped to help a friend instead.(ここにはまったく批判の意味はなく、むしろ感心する話だ)

should have との違いは、should have が常にその行動が正しかったことを述べるのに対し、could have は単にそれが可能だったことを指摘するだけだという点だ。非難に聞こえるか、称賛に聞こえるか、単なる事実の指摘に聞こえるかは、まったく状況次第である。You should have called は常に批判だが、You could have called は必ずしもそうではない。

could have にはすでに知っているかもしれない推量の意味もある(she could have missed the bus = もしかしたらバスに乗り遅れたのかもしれない)。どちらの意味になるかは文脈で決まる。この用法については Modals of deduction: past (must have, can't have) を参照。

4つの形をまとめて比較

助動詞+have 意味
should have+過去分詞 正しい行動だったが、行われなかった He should have apologised.
shouldn't have+過去分詞 間違った行動だったが、行われた He shouldn't have laughed.
needn't have+過去分詞 起きたが、必要はなかった He needn't have apologised — it wasn't his fault.
could have+過去分詞 可能だったが、起きなかった(中立、時に批判) He could have apologised, but he was too proud.

この4つはすべて同じ構造——助動詞+have+過去分詞——に従っており、have の後の動詞は時制や主語によって変わることはない。

よくある間違い

  • You should call me yesterday. → ✅ You should have called me yesterday.(過去への後悔には have+過去分詞が必要で、原形ではない)
  • I should to have told her. → ✅ I should have told her.should の後には to を入れない。過去の形でも同じ)
  • I needn't have to bring an umbrella. → ✅ I needn't have brought an umbrella.to は不要——needn't は助動詞と同じように振る舞い、have の後は過去分詞であって原形ではない)
  • He should have went home. → ✅ He should have gone home.(過去分詞の gone を使う。単純過去形の went ではない)
  • You should of called me. → ✅ You should have called me.should of は、短縮形 should've の発音から生まれた非常によくあるつづりの間違い——必ず have と書き、of とは書かない)

確認問題

それぞれの文に最も合う形を選ぼう。

  1. The roads were empty, so we ____ (leave) so early — we arrived an hour before the shop opened.
  2. I'm so sorry — I ____ (tell) you about the change of plans. It was wrong of me to stay silent.
  3. She was rude to the waiter. She ____ (be) so impatient.
  4. We ____ (buy) tickets in advance — they told us at the door it was free entry.
答えを見る
  1. We needn't have left so early.(早く出発したが、結果的に必要なかった)
  2. I should have told you about the change of plans.(正しい行動だったが、行われなかった)
  3. She shouldn't have been so impatient.(実際に行われてしまい、それは間違っていた)
  4. We needn't have bought tickets in advance.(前もって買ったが、必要はなかった)

まとめ

  • should have+過去分詞=起きなかったが起きるべきだったことへの批判や後悔(they should have arrived by now のように推測を表すこともある)。
  • shouldn't have+過去分詞=起きてしまったが、起きるべきではなかったことへの批判。
  • needn't have+過去分詞=その行動は行われたが、結果的に不要だったことを表す。didn't need to / didn't have to よりも正確で、これらは単に義務がなかったことを述べるだけで、行動が実際に行われたかどうかは文脈次第になる。
  • could have+過去分詞は、逃した可能性——可能ではあったが起きなかったこと——を指し示す。状況によって、批判にも、称賛にも、単なる事実の指摘にもなりうる。
  • これらの形はすべて助動詞+have+過去分詞というパターンに従う——to は入れず、have の後には単純過去形ではなく過去分詞を置く。