モチタン辞典 › 読みもの › 英文法 › 助動詞+have+過去分詞の意味・用法

助動詞 have 過去分詞の意味と使い分け
助動詞 + have + 過去分詞は、「過去の出来事に対する現在の気持ち」を表す構文で、大きく分けて「過去の推量(〜だったに違いない/〜だったかもしれない等)」と「過去の後悔・非難(〜すべきだったのに等)」の2つの意味を持ちます。
助動詞の後ろには動詞の原形しか置けない規則があるため、過去の時制を表すために have + 過去分詞 の形が用いられます。
助動詞 have 過去分詞の一覧表
助動詞 + have + 過去分詞(以下、have p.p. と表記)の表現は、日常会話から大学入試まで頻繁に登場します。意味を素早く確認できるよう、まずは全体の意味と実際のニュアンスをチートシートとして一覧にまとめました。
表は横にスクロールできます →
| 助動詞の形 | 主な日本語訳 | 分類 | 実際の事実(ニュアンス) |
|---|---|---|---|
| must have p.p. | 〜だったに違いない | 過去の推量(高確信) | 客観的な証拠があり、ほぼ間違いなくそうだった |
| may [might] have p.p. | 〜だったかもしれない | 過去の推量(中〜低確信) | そうだった可能性も、そうでなかった可能性もある |
| cannot [could not] have p.p. | 〜だったはずがない | 過去の推量(強い否定) | 状況から考えて、絶対にあり得ない |
| should [ought to] have p.p. | 〜すべきだったのに / 〜したはずだ | 過去の後悔・非難 / 推量 | 実際にはしなかった(後悔) / 当然完了しているはず |
| should not have p.p. | 〜すべきではなかったのに | 過去の後悔・非難 | 実際にはしてしまった(後悔・反省) |
| need not have p.p. | 〜する必要はなかったのに | 過去の不必要 | 実際にはしてしまった(無駄足・徒労) |
| could have p.p. | 〜できたのに / 〜だったかもしれない | 仮定法(過去の可能) / 推量 | 実際にはしなかった(能力・可能性はあった) |
| would have p.p. | 〜だっただろうに | 仮定法(過去の意志・帰結) | 実際にはしなかった・起きなかった |
このように、表現は「推量(過去の事実に思いを巡らせる)」と「事実と反対(過去の行いに対する後悔や非難)」の2つに大別できます。それぞれの詳しい使い分けを見ていきましょう。
英語の文法は、話して身につけよう。会話アプリ「モチスピ」英語を話して練習できる会話アプリ。話すたびに、発音・文法・自然さをその場で直してもらえます。無料で試す
なぜ have 過去分詞 を使うのか
学習者の多くが「過去のことなら、なぜ助動詞を過去形にするだけではいけないのか」という疑問を持ちます。この疑問を解消するには、英文法における2つの基本原則を理解する必要があります。
原則1:助動詞の後ろは「動詞の原形」しか置けない
英語には「must、may、can などの法助動詞の直後には、動詞の原形を置く」という厳格な規則があります。そのため、過去のことを言いたい場合でも、動詞そのものを過去形(went や saw など)にすることは文法的に不可能です。
原則2:助動詞自身の過去形は「現在の控えめな表現」に使われる
それでは助動詞自体を過去形にすればよいのではないかと考えがちですが、might や could、would などの助動詞の過去形は、現代英語では時制を過去に下げるためではなく、「現在の推量や丁寧さ(控えめな態度)」を表すために使われることがほとんどです。
例えば could は単体で使うと「〜できるかもしれない」という現在の推量になります。
解決策:have p.p. で「時間のズレ」を補う
そこで英語では、have + 過去分詞(完了形)が持つ「基準の時よりも前を指す」という機能を利用します。助動詞の後ろに置ける動詞の原形というルールを満たしつつ(have は原形)、基準時である「現在」から一歩前の「過去」を振り返る表現として、助動詞 + have + 過去分詞 という構造が完成したのです。
- 現在(発言時)の視点:話し手が「いま」心の中で推量・後悔している。
- 過去の出来事:振り返っている対象の出来事は「過去」にすでに起きた(または起きなかった)。
この「発言しているのは現在だが、言及している出来事は過去」という時間のズレを視覚的に押さえておくと、丸暗記に頼らず構造を納得できます。
助動詞の後ろは動詞の原形しか置けない
助動詞の過去形は現在の控えめな表現になる
原形ルールを守りつつ完了形で前の時制を表す
現在から過去の出来事を振り返る表現になる
文法規則と助動詞の性質から、have p.p.で時間のズレを表す流れです。
次の疑問そもそも助動詞単体を過去形にするとどんな意味になるのかは、助動詞の過去形の意味と用法まとめで基本ルールを確認できます。
過去の推量を表す助動詞の使い方
過去の推量グループは、過去に起きた出来事について「今振り返ると、どうだったと考えられるか」を推測する表現です。話し手の確信の度合い(パーセンテージ)によって助動詞を使い分けます。
確信度のグラデーション
- must have p.p.(確信度:90%以上)「〜だったに違いない」
- should [ought to] have p.p.(確信度:70〜80%)「〜したはずだ / 〜のはずだった」
- may have p.p.(確信度:50%程度)「〜だったかもしれない」
- might have p.p.(確信度:30〜40%程度)「(ひょっとすると)〜だったかもしれない」
- cannot [could not] have p.p.(否定の確信度:99%)「〜だったはずがない」
must have 過去分詞(〜だったに違いない)
客観的な証拠や状況証拠に基づいて、過去の事実を強く確信しているときに使います。must の否定形(must not have p.p.)は「〜だったに違いない」の反対(〜だったはずがない)としては通例使わず、強い否定の推量には cannot have p.p. を使います。
例文:The road is wet. It must have rained last night.
(道路が濡れている。昨晩雨が降ったに違いない。)
例文:He got a perfect score. He must have studied very hard.
(彼は満点を取った。一生懸命勉強したに違いない。)
may [might] have 過去分詞(〜だったかもしれない)
過去の事柄に対して確信が持てず、「もしかしたらそうだったかもしれないし、違ったかもしれない」と述べる表現です。might have p.p. は may have p.p. よりも確信度が低く、より控えめな推測になります。
例文:I cannot find my keys. I may have left them at home.
(鍵が見つからない。家に置いてきてしまったかもしれない。)
例文:She might have missed the bus because the train was delayed.
(電車の遅延のせいで、彼女はバスに乗り遅れたのかもしれない。)
cannot [could not] have 過去分詞(〜だったはずがない)
「〜だったはずがない」という、過去に対する強力な否定の確信を表します。must have p.p.(〜だったに違いない)の正反対に位置する表現です。
例文:He cannot have said such a rude thing to her.
(彼が彼女にそんな失礼なことを言ったはずがない。)
例文:You could not have seen Ken in Tokyo yesterday; he is studying in London now.
(昨日東京でケンを見かけたはずがありません。彼は今ロンドンに留学中です。)
過去の出来事に対する話し手の確信度のグラデーションです。
次の疑問過去だけでなく現在の推量も含めた全体の確信度を整理したいときは、英語の助動詞の推量表現と確信度の一覧が役立ちます。
過去の後悔や非難を表す助動詞
このグループは「実際には起きなかった(あるいは実際には起きてしまった)過去の事実」に対して、反省・後悔・非難などの強い感情を込めて述べる表現です。文脈において「現実の事実」がどうであったかが極めて重要になります。
should [ought to] have 過去分詞(〜すべきだったのに)
過去に行うべきだった義務や適切な行動を「実際には行わなかった」ことを表します。自分に対して使えば「後悔や反省」、相手に対して使えば「非難や苦言」となります。ought to have p.p. もほぼ同義です。
例文:I should have set the alarm clock last night.
(昨夜目覚ましをセットしておくべきだったのに。[実際はセットせず、寝坊した])
例文:You should have told me the truth earlier.
(もっと早く私に本当のことを言ってくれるべきだったのに。[実際は言ってくれなかった])
should not have 過去分詞(〜すべきではなかったのに)
過去にしてしまった行動に対して「実際にはしてしまったが、それは不適切だった」と後悔や非難を表します。
例文:I should not have eaten so much sweet food.
(あんなにたくさんの甘いものを食べるべきではなかったのに。[実際は食べてしまい、後悔している])
例文:You should not have trusted his rumor without checking.
(確認もせずに彼の噂話を信じるべきではなかったのに。[実際は信じてしまった])
need not have 過去分詞(〜する必要はなかったのに)
「実際にはその行動をしてしまったが、振り返ってみるとその必要はまったくなかった」という徒労感や無駄を表します。
例文:You need not have bought an umbrella; there were plenty at the office.
(傘を買う必要はなかったのに。[実際は買ったが、オフィスにたくさんあった])
例文:I need not have hurried to the station because the train arrived late.
(電車が遅れて到着したので、駅へ急ぐ必要はなかったのに。[実際は急いで走った])
実際にはしなかった
- should have p.p.(すべきだったのに)
- ought to have p.p.(すべきだったのに)
実際にはしてしまった
- should not have p.p.(すべきでなかったのに)
- need not have p.p.(する必要はなかったのに)
実際にはしなかったか、してしまったかによる意味の分類です。

入試で頻出の混同しやすい重要対比
大学入試やTOEICなどの試験で最も正答率が下がりやすいのが、似た表現の識別問題です。特に問われる2大対比パターンを整理します。
対比1:need not have done と didn't need to do
どちらも「〜する必要がなかった」と訳されることが多いため混同されますが、「実際に行動したかどうか」という事実関係が正反対です。
表は横にスクロールできます →
| 表現 | 意味 | 実際に行動したか | ニュアンス |
|---|---|---|---|
| need not have done | 〜する必要はなかったのに(してしまった) | 行動した(YES) | 無駄なことをしてしまったという後悔・徒労 |
| didn't need to do | 〜する必要がなかったので(しなかった) | 通例、行動しなかった(NO) | 必要がないと事前に分かっていたので行わなかった |
例文:I didn't need to buy a ticket because admission was free.
(入場無料だったので、チケットを買う必要がなかった。[実際買わなかった])
例文:I need not have bought a ticket because someone gave me a free pass later.
(後から無料パスをもらったので、チケットを買う必要はなかったのに。[実際買ってしまった])
対比2:should have p.p. の「推量」と「後悔」の見分け方
should have p.p. には「〜すべきだったのに(後悔)」のほかに、「〜したはずだ(推量)」という意味もあります。どちらの意味になるかは文脈と主語で見分けます。
- 後悔・非難(〜すべきだったのに):主語が「人」で、本人の意志でコントロール可能な動詞(study、tell、bring など)のときに多く見られます。
- 推量(〜したはずだ):主語が「物・交通機関・三人称」であったり、予定・時間経過を示す語句(by now、already など)を伴う場合に推量となります。
例文:The package was shipped two days ago, so it should have arrived by now.
(小包は2日前に発送されたので、今頃はもう到着しているはずだ。[推量])
後悔・非難(すべきだったのに)
- 主語が「人」であることが多い
- 意志で制御可能な動詞(studyなど)
推量(したはずだ)
- 主語が物・交通機関・三人称
- by now や already などの語句を伴う
主語や伴う語句による「後悔・非難」と「推量」の違いです。
仮定法過去完了との関係と構造
なぜ should have p.p. や could have p.p. は「実際にはしなかった」という反実仮想の意味を含むのでしょうか。その理由は、この構文が仮定法過去完了の帰結節(メインの節)そのものだからです。
if節(条件節)が隠れた仮定法
仮定法過去完了の基本公式は If + 主語 + had p.p., 主語 + 助動詞過去形 + have p.p. です(例:もし〜だったなら、…しただろうに)。
日常生活や文章中では、前提となる条件節(If...)が分かりきっている場合や文脈から読み取れる場合に省略されます。その結果、後ろの「主語 + 助動詞 + have p.p.」だけが独立した文として残ります。
- I could have helped you.
(手伝えただろうに。[本当は手伝いたかったが、事情があって手伝えなかった])
※「もしその時時間があったら」という if節 が裏に隠れています。 - I would have called you, but my phone battery died.
(電話したかったのだけれど、充電が切れてしまったんだ。)
※ but 以下の現実の事実によって、電話しなかったことが示されています。
このように、「仮定法過去完了の一部である」という文脈的背景を理解しておくと、「実際はやらなかった」「事実は反対だった」という含みが生じる仕組みがすっきりと納得できます。
条件文全体の構造や例文を復習したいときは、仮定法過去の作り方の例文集を確認してみましょう。
次の疑問仮定法の帰結節で特によく使われる would have p.p. のニュアンスは、would have 過去分詞の意味で詳しく掘り下げています。
会話での短縮形の発音と聞き取り
英語のリスニングやスピーキングにおいて、助動詞 + have + 過去分詞 は単語どおりに一語ずつ発音されることは滅多にありません。ネイティブスピーカーは日常会話で短縮形を多用し、音が脱落します。
代表的な短縮表記と発音記号
表は横にスクロールできます →
| 正式な形 | 短縮表記 | 実際の発音の目安 | 発音の解説 |
|---|---|---|---|
| should have | should've | シュダヴ / シュダ [ʃʊ́dəv / ʃʊ́də] | have の h が完全に消え、ve の音も弱まる |
| could have | could've | クダヴ / クダ [kʊ́dəv / kʊ́də] | 「クッド ハヴ」ではなく一息で「クダ」と読まれる |
| would have | would've | ウダヴ / ウダ [wʊ́dəv / wʊ́də] | 「ウッド ハヴ」ではなく「ウダ」に近い音になる |
| must have | must've | マスタヴ / マスタ [mʌ́stəv / mʌ́stə] | t と have が連結し「マスタ」と聞こえる |
聞き取りの落とし穴:of との混同
英語圏のネイティブの子どもや学生でも、should've [ʃʊ́də] の発音があまりにも should of と似ているため、誤って should of とスペルミスをしてしまう事例が多発するほどです。
もちろん文法的には should of は完全な誤りですが、それほどまでに have は「アヴ」「ア」と弱化して発音されます。映画やドラマで「シュダ」「クダ」と聞こえたら、should've や could've を指していると即座に判断しましょう。
助動詞 have 過去分詞の確認問題
学習した知識が定着しているか、定期テストや入試で頻出の形式で確認してみましょう。文脈から「推量」か「事実と反対」かを見極めるのがポイントです。
問題
空欄に入る最も適切なものを選択肢から1つ選んでください。
- Ken was absent from school today. He ( ) sick in bed.
A. must be B. must have been C. should be D. should not be - I failed the entrance examination. I ( ) harder last year.
A. could study B. may have studied C. should have studied D. must study - She ( ) the stolen necklace, because she was abroad with her family at that time.
A. cannot have taken B. must have taken C. should have taken D. might take - You ( ) lunch for me; our host had already prepared a wonderful meal.
A. didn't need buy B. need not have made C. must not have made D. ought to make
解答と解説
- 正解:B. must have been
「ケンは今日学校を欠席した。ベッドで病気で寝ていたに違いない」という過去の強い推量です。過去の出来事に対する推量なので、must + have + 過去分詞 の形である must have been が正解です。 - 正解:C. should have studied
「私は入試に落ちた。去年もっと熱心に勉強すべきだったのに」という過去の後悔を表しています。「実際には勉強しなかった」という反実仮想のニュアンスを持つ should have studied が適切です。 - 正解:A. cannot have taken
「彼女はその盗まれたネックレスを盗んだはずがない。当時家族と海外にいたのだから」という文脈です。「海外にいた」という決定的なアリバイがあるため、強い否定の推量である cannot have taken が正解となります。 - 正解:B. need not have made
「私にお昼を作ってくれる必要はなかったのに(実際は作ってくれた)。主催者がすばらしい食事をすでに用意してくれていた」という文脈です。「する必要がなかったのに実際にしてしまった」ことを表す need not have made が適切です。
had to や was able to との使い分け
試験や英作文では、must have done と had to do、および could have done と was able to do の取り違えが多く見られます。意味の違いを正しく把握しておきましょう。
1. must have done と had to do の違い
日本語の「〜しなければならなかった」を表現しようとして、must have done と誤用しないよう注意が必要です。
- must have done:過去の強い推量(〜だったに違いない)
例:He must have forgotten our appointment.(彼は私たちの約束を忘れたに違いない。) - had to do:過去の義務・必要性(〜しなければならなかった)
例:I had to submit the report by five o'clock yesterday.(私は昨日5時までにレポートを提出しなければならなかった。)
must の過去の推量は must have done ですが、義務の過去は had to do となります。must have done に義務の意味はありません。
2. could have done と was able to do の違い
過去の能力や達成についても明確な使い分けが存在します。
- could have done:反実仮想(〜できたのに、実際はしなかった)
例:I could have walked to the station, but I took a taxi.(駅まで歩くこともできたのだが、タクシーに乗った。) - was / were able to do:過去の実際の達成(困難を乗り越えて実際に〜できた)
例:Although the traffic was heavy, I was able to catch the train.(交通渋滞がひどかったが、電車に間に合うことができた。) - could do:過去の一般的な能力・状態(いつでも〜しようと思えばできた)
例:She could swim very well when she was a child.(彼女は子どもの頃、とても上手に泳ぐことができた。)
過去の特定の1回限りの行為で「実際にできた」と言いたい場合は、was / were able to do を用います。
義務を表す表現の例文をさらに確認したいときは、mustとhave toの違いと使い分けの例文集が参考になります。
should have 過去分詞の2つの意味と見分け方
should have + 過去分詞 には、「過去の後悔・非難」だけでなく、「過去の当然の推量」を表す用法もあります。文脈や主語に着目することで明確に見分けることができます。
表は横にスクロールできます →
| 用法 | 意味 | 文脈のシグナル | 例文 |
|---|---|---|---|
| 過去の後悔・非難 | 〜すべきだったのに(しなかった) | 主語が I や you、不満や反省の文脈 | I should have set the alarm clock.(目覚まし時計をセットすべきだったのに。) |
| 過去の当然の推量 | (当然)〜したはずだ | 予定時刻の経過、客観的な段取り・条件の成立 | The package should have arrived by noon.(荷物は正午までに到着したはずだ。) |
推量の should have は、「予定や手順通りにいっていれば、過去のその時点ですでに完了していたはずだ」という確信を述べます。文中に by now(今ごろはもう)や by yesterday(昨日までには)といった期限や時間を表す表現が添えられていれば、推量の用法である可能性が極めて高くなります。
試験で見抜く過去の時制シグナル
TOEICや大学入試の空所補充問題では、「助動詞+動詞の原形」と「助動詞+have+過去分詞」の選択を見極める際、文中の「時制のシグナル」が重要な手がかりになります。
空所の前後や同一文内に過去の特定時点を表す副詞句がある場合、現在の推量や義務を表す「助動詞+動詞の原形」は除外され、時制を過去にずらす「助動詞+have+過去分詞」が正解となります。
過去を示すキーワードの例
- yesterday(昨日)や then(そのとき)
- two days ago や an hour ago などの ago を含む表現
- last night や last week などの last を含む表現
- when he was a child などの過去を表す従属節
たとえば She ( ) the email yesterday. という文で、選択肢に must receive と must have received が並んでいる場合、yesterday という明確な過去の目印があるため、正解は過去の出来事を推量する must have received(受け取ったに違いない)に確定します。
続けて読む
理解度チェック
Q1. 過去の出来事に対してhave p.p.を使う理由は?
- 助動詞の後ろに動詞の過去形を置けない規則があるため
- 助動詞の過去形は過去の事実しか表せないため
- haveを使うことで未来の完了した状態を表すため
- 法助動詞の直後には進行形しか置けない規則があるため
答えを見る
正解: A. 助動詞の後ろに動詞の過去形を置けない規則があるため
助動詞の直後は動詞の原形しか置けない原則があり、have p.p.で時間のズレを補います。
Q2. 空欄に入る適切な表現はどれ? I ( ) harder.
答えを見る
正解: A. should have studied
過去の行動に対する「勉強すべきだったのに(実際はしなかった)」という後悔を表します。
Q3. need not have doneの実際の行動とニュアンスは?
- 必要がなかったので、通例行動しなかった
- 実際に行動したが、その必要はなく無駄だった
- 実際に行動し、その結果にとても満足した
- 行動する必要があったのに、実際にはしなかった
答えを見る
正解: B. 実際に行動したが、その必要はなく無駄だった
「する必要はなかったのに実際にしてしまった」という徒労や無駄を表す表現です。
よくある質問
- Q. could have p.p.の意味は何ですか?
- 主に「〜できたのに(実際はしなかった)」という仮定法過去完了の用法と、「〜だったかもしれない」という控えめな過去の推量の2つの意味を持ちます。文脈によってどちらであるかを判断します。
- Q. must not have p.p.は使えますか?
- 「〜だったはずがない」という強い否定推量には通例 cannot have p.p. を使います。must not have p.p. は「〜しなかったに違いない」という稀な文脈で使われることはありますが、試験等では cannot have p.p. が標準的です。
- Q. ought to have p.p.とshould haveの違いは?
- 意味や用法に実質的な違いはありません。どちらも「〜すべきだったのに(実際はしなかった)」や「〜したはずだ(推量)」を表します。should のほうが日常会話で好まれ、ought to はやや改まった響きを持ちます。
- Q. may not have p.p.の意味は何ですか?
- 「〜しなかったかもしれない」という過去の否定推量を表します。たとえば He may not have known the plan. で「彼はその計画を知らなかったかもしれない」という意味になります。
- Q. should have doneは会話でどう発音しますか?
- 日常会話では短縮形の should've が使われ、have の h の音が落ちて「シュダヴ」または「シュダ [ʃʊ́də]」と発音されます。of の音とほぼ同じに聞こえるのが特徴です。
- Q. could haveとmight haveの推量の違いは?
- どちらも確信度30〜40%程度の控えめな推量ですが、might haveは「ひょっとしたら〜という事実があったかもしれない」、could haveは「状況的に〜という可能性もあり得た」という潜在的可能性に焦点を当てます。
- Q. 推量の should have(〜したはずだ)と must have(〜だったに違いない)はどう使い分けますか?
- must have + 過去分詞は確固たる証拠や根拠に基づく強い確信(確信度95%以上)を表します。一方、should have + 過去分詞の推量は「予定や常識に照らし合わせれば当然完了しているはずだ」という期待を含んだ判断を表し、万が一の狂いもあり得る余地を残す点が異なります。
2026年9月24日更新・モチタン辞典編集部
関係する文法助動詞+have+過去分詞(過去の推量)should have done と needn't have done(過去の後悔・非難)助動詞の一覧と使い方