← レッスン一覧B2

助動詞の完了形 (must have / should have / could have)

過去への推量・後悔・可能性

must / should / could / might + have + 過去分詞。過去の出来事を後から推測・評価する。

must have done = きっと〜したに違いない (推量)。should have done = 〜すべきだったのに (後悔)。could have done = 〜できたのに (未実現の可能性)。might / may have done = 〜したかもしれない。否定: shouldn't have done = するべきじゃなかった、couldn't have done = できなかったはず。

深掘り

なぜそうなるか
助動詞 + have + 過去分詞は『現在の視点から過去を評価する』装置。have + 過去分詞は『完了/結果』を表すので、助動詞と組み合わせることで『過去のあの時、〜だったはず/〜すべきだった』という、現在から過去を振り返る視線が生まれる。これにより英語は『今からの後悔・推量・評価』を1構文で表現できる。
使う場面
(1) 過去の確信ある推量:〈Where's John? — He must have left〉(2) 後悔・自責:〈I shouldn't have said that〉(3) 未実現の可能性:〈We could have caught the earlier train〉(4) 弱い推量:〈She might have forgotten〉(5) 期待外れ:〈She should have arrived by now〉(到着しているはずなのに)。
日本人がやりがちなミス
(a) have を of に置き換える:〈should of done〉× (口語の could've が音的に of に聞こえるための綴り誤り) → 〈should have done〉○。試験では絶対 have で書く。(b) 過去形と混同:〈I should call her〉(今/未来の助言) と〈I should have called her〉(過去の後悔) の違いに注意。
似た構文との違い
must vs must have: 〈He must be tired〉(今の推量) / 〈He must have been tired〉(過去の推量)。should vs should have:〈You should apologize〉(今/未来) / 〈You should have apologized〉(過去への後悔)。「現在 vs 過去」を時制シフトで使い分ける。
覚え方のコツ
助動詞 + have + 過去分詞 = 『過去のあの時、〜』を1語にした魔法。must have = きっと〜だった (確信)、should have = 〜すべきだった (後悔)、could have = 〜できたのに (未実現)、might have = 〜だったかも (弱い推量)。否定の shouldn't have = しなければよかった (深い後悔) は最も使う形。

例文

  • He must have left already.
    もう帰ったに違いない。
  • I should have called her.
    電話すればよかった。 (してない)
  • You could have told me!
    教えてくれてもよかったのに。
  • She might have missed the train.
    電車に乗り遅れたかもしれない。