解説記事 — フレーズフレーズミー
動詞の形(時制)should have done・must have done の使い方|助動詞+have+過去分詞で過去を振り返る
30秒でわかる
can・must・should・may などの助動詞で過去の出来事を振り返るときは、後ろをhave+過去分詞にします。He can't have said so.(言ったはずがない)・You should have told me.(言ってくれればよかったのに)。助動詞を過去形にするのではなく、後ろの動詞のかたまりを have+過去分詞に変えるのがこの形の作り方です。迷ったら「その出来事はもう終わったことか?」と自問——終わったことなら have+過去分詞です。
まず、実際の間違いを見てください
次の3つは、当サービスの人手添削で実際に繰り返し指摘された誤答です(回数は同じ間違いが添削された実測値)。
例文: 彼がそう言ったはずがない。
「彼がそう言ったはずがない」のつもりの誤答です。couldn't say だと「言うことができなかった」という能力の話になってしまいます。「〜したはずがない」という過去への推量は can't(cannot)have+過去分詞。couldn't have said も使えますが、「はずがない…と思うんだけど」と少し控えめな響きになります。
例文: あなたは私のためにそのような高い誕生日プレゼントを買う必要はなかったのに。
「買う必要はなかったのに(でも買ってしまった)」の need は助動詞です。助動詞の後ろは原形なので、to は入りません——need not have bought とつなげます。
例文: 彼は私のことをほかの人と間違えたにちがいない。
形は合っているのに、have の後ろを過去形(mistook)にしてしまう誤りです。have の後ろは必ず過去分詞——mistake は mistake–mistook–mistaken と3つの形が全部違う動詞なので、特に狙われます。
「助動詞+have+過去分詞」のミスは、よくある誤り全222タイプの中で第29位。当サービスの人手添削12年分で3,803回指摘されました。「形そのものを知らない・使い忘れる」誤りと、「形は知っているが have の後ろを過去分詞にできない」誤りの2段構えになっているのが特徴です。
なぜ間違えるか——日本語のクセ
日本語では「言ったはずがない」「買う必要はなかったのに」「使うべきではなかった」と、文の最後の「〜た」ひとつで過去を示せます。推量(はず・かも・べき)の部分と、過去(〜た)の部分が、語尾の中で一体化しているのです。
英語ではこの2つが分業です。推量は助動詞(can't・must・should・may)が担当し、過去は have+過去分詞が担当します。日本語の感覚で「過去だから助動詞を過去形に」と考えると、couldn't say(できなかった)のように能力・許可の過去とまざってしまい、推量の意味が消えます。「〜たはず」「〜たのに」の「た」を見つけたら、助動詞ではなく後ろの動詞側を have+過去分詞に変える——これがこの形の核心です。
図の内容を表にするとこうなります。「た」があるかどうかで右の列に切り替わります。
| 意味 | 今のこと | 過去のこと(振り返り) |
|---|---|---|
| 〜にちがいない/〜したにちがいない | must be | must have been |
| 〜はずがない/〜したはずがない | can't be | can't have been |
| 〜かもしれない/〜したかもしれない | may/might be | may/might have been |
| 〜すべきだ/〜すべきだった(のに) | should do | should have done |
| 〜する必要はない/必要はなかった(のに) | need not do | need not have done |
こう考える——書くときの判断手順
- 日本語に「〜したはず」「〜すべきだった」「〜したかもしれない」のような推量・後悔があるか——あるなら助動詞の出番
- その出来事はもう終わったことか——終わったことなら助動詞の後ろを have+過去分詞にする。今のことなら原形のまま(might be)
- have の後ろは過去形でなく過去分詞か確認する(mistook でなく mistaken・spend でなく spent)
- 否定の not は助動詞の直後に置く——should not have bought・can't have said(have の後ろに not を置く語順は減点対象)
ここまでは同じ、ここからは別
この形には、正解が1つに決まらない場面と、逆に付けすぎが減点になる場面があります。
- 「買う必要はなかったのに」は need not have bought のほかに、shouldn't have bought(買うべきではなかったのに)も正解として認めています。一方 didn't need to buy は「必要がなかった(だから買わなかった可能性が高い)」と響き、「なのに買ってしまった」の含みが出ません。文脈によっては別解になりますが、「〜のに」を確実に出すなら have+過去分詞の形が安全です
- 付けすぎにも注意——「冷蔵庫にケーキがあるかもしれない」は今の推量なので There might be a cake です。might have been にすると「あったかもしれない(過去)」に変わってしまい、こちらも減点になります。「た」がない推量に have+過去分詞は付けません
まとめ——書いたあとのチェック
- 「〜したはず・〜すべきだった」の「た」に対して have+過去分詞を付けたか
- have の後ろは過去分詞か(mistaken・spent・bought)
- not の位置は助動詞の直後か。逆に「た」のない今の推量に have+過去分詞を付けていないか
この間違い、自分もやるか試してみる
この記事で見た「彼がそう言ったはずがない。」を、実際に英語で書いてみてください。「はずがない」+「言った」をどう組み立てるかがそのまま試される問題です。書いた英文は AI がその場で採点します(登録は不要です)。
「彼がそう言ったはずがない。」を英語で書いてみる登録なしで、この1問をAIが採点しますデータについて: 本文の回数・割合は、フレーズフレーズミーの人手添削データ12年分の集計値です(添削と誤りタグの照合 655,994回のうち、本記事のタグ「助動詞をともなう過去の表現(助動詞+have+過去分詞)」への照合が 3,803回・0.6%。集計 2026-08-13)。誤答例の「◯回」は、同じ間違いが人手添削と照合された回数です。誤答例はいずれも実際の学習者の答案に現れた文で、個人が特定できる情報は含みません。