モチタン辞典 › 読みもの › 英文法 › have hadの意味と使い方

have had過去分詞の違いと文法を完全整理
英語に「have had + 過去分詞」という構文は存在しません。この検索の多くは、「have + 過去分詞(現在完了)」と「had + 過去分詞(過去完了)」の違いを調べているか、助動詞 have に一般動詞の過去分詞 had が続いた「have had + 名詞」の形、あるいは受動態「have been + 過去分詞」との混同です。
それぞれの構造と時間軸の違いを正しく理解すれば、迷いは即座に解消されます。
「have had 過去分詞」の正体と文法の誤解解消
検索欄に「have had 過去分詞」と入力する方の頭の中には、大きく分けて3つの疑問や混同が存在します。まずはその正体を明確に切り分けましょう。
1. 英語に「have had + 過去分詞」という形は存在しない
標準的な英語文法において、have had の直後にさらに動詞の過去分詞を重ねる形はありません。例えば、I have had eaten lunch. のような英文は明確な文法誤りです。
完了形を作る助動詞(have や had)は1つの述語動詞に対して1度しか使えないため、完了の助動詞を2つ重ねることはできません。
2. 検索者が本当に知りたい3つのパターン
「have had 過去分詞」で検索した方が実際に求めている情報は、次の3つのいずれかです。
- パターンA: 「have + 過去分詞(現在完了形)」と「had + 過去分詞(過去完了形)」の違いや使い分けを知りたい
- パターンB: 「have had + 名詞(現在完了形)」という表現が文法的に正しいのか、どういう意味なのかを知りたい
- パターンC: 「have been + 過去分詞(完了形の受動態)」や「have been + -ing(完了進行形)」と混同している
この記事では、これらすべての疑問を1つずつ解きほぐしていきます。まずは、現在完了形と過去完了形の基本構造の違いから見ていきましょう。
英語の文法は、話して身につけよう。会話アプリ「モチスピ」英語を話して練習できる会話アプリ。話すたびに、発音・文法・自然さをその場で直してもらえます。無料で試す
have+過去分詞とhad+過去分詞の根本的な違い
現在完了形「have / has + 過去分詞」と過去完了形「had + 過去分詞」の決定的な違いは、「どこを基準にして話しているか」という視点の位置(基準時点)にあります。
現在完了形(have + 過去分詞)の視点は「今」
現在完了形は、過去に起きた出来事や始まった状態が、「今現在どうなっているか」を伝える文法です。矢印の先は必ず「今(現在)」に刺さっています。そのため、現在の状況に直接関係がない単なる昔の出来事には使えません。
- I have lost my key.(私は鍵をなくしてしまった。)
※単に昔なくしただけでなく、「その結果、今も鍵が見つかっておらず困っている」という現在の状態を含みます。 - She has lived in Tokyo for five years.(彼女は5年間東京に住んでいる。)
※5年前に住み始め、今も東京に住み続けていることを表します。
過去完了形(had + 過去分詞)の視点は「過去のある時点」
過去完了形は、基準となる「過去の特定の時点」があり、その時点よりも前から続いていたことや、その時点までに完了したことを振り返る文法です。矢印の先は「過去の基準点」で止まっており、現在までは届いていません。
- When I arrived at the station, the train had already left.(私が駅に着いたとき、電車はすでに出発していた。)
※「駅に着いた」という過去の基準点より前に、電車が出発し終えていたことを示します。 - She had lived in Tokyo for five years before she moved to Osaka.(大阪へ引っ越す前、彼女は東京に5年間住んでいた。)
※「大阪へ引っ越した」という過去の時点までの5年間の継続を表しています。
このように、現在完了形は「過去から現在まで」のつながりを語り、過去完了形は「過去のある時点から別の過去の時点まで」のつながりを語ります。日本語訳にするとどちらも「〜した」「〜していた」となりがちですが、頭の中で見つめている時間軸が現在か過去かという決定的な違いがあります。
現在完了形(have+過去分詞)
- 視点の位置は「今現在」
- 過去の出来事が今どうなっているかを語る
- 矢印の先は必ず「今」に届いている
- 例: I have lost my key.
過去完了形(had+過去分詞)
- 視点は「過去の特定の時点」
- 過去の基準点より前のことや継続を語る
- 矢印の先は「過去の基準点」で止まる
- 例: The train had already left.
話の基準となる視点が「今」にあるか「過去の時点」にあるかで使い分けます。
迷いやすい時間軸の感覚を整理したい方は、現在完了・過去形の違いもあわせて確認してみましょう。
次の疑問完了形以前に、現在形 have と過去形 had の基本的な役割の違いを整理したいときは、haveとhadの使い分けの基礎を確認してみてください。
時間軸で比べる3大用法|完了・経験・継続の対比
現在完了形と過去完了形には、どちらも共通して「完了・結果」「経験」「継続」の3つの用法があります。それぞれの用法において、現在完了(have + 過去分詞)と過去完了(had + 過去分詞)がどのように対比されるのかを例文とともに整理します。
| 用法 | 現在完了形(have + 過去分詞) | 過去完了形(had + 過去分詞) |
|---|---|---|
| 完了・結果 | I have just finished my homework. (ちょうど宿題を終えたところだ【今終わった】) | I had already finished my homework when dinner was ready. (夕食ができたとき、すでに宿題を終えていた) |
| 経験 | Have you ever seen a whale? (今までにクジラを見たことがありますか) | I had never seen a whale until I went to Hawaii. (ハワイに行くまで、一度もクジラを見たことがなかった) |
| 継続 | We have known each other for ten years. (私たちは知り合って10年になる【今も友人】) | They had known each other for ten years before they married. (彼らは結婚する前、10年間知り合いだった) |
1. 完了・結果用法
動作が完了した結果、その影響が基準時にどう残っているかを表します。現在完了では「今ちょうど終わった」「過去の行為の結果が今ここにある」ことを示します。
一方、過去完了では「過去のあの瞬間にすでに終わっていた」「過去のあの瞬間に結果が残っていた」ことを示します。よく一緒に使われる語句には already(すでに)、yet(もう/まだ)、just(ちょうど)などがあります。
2. 経験用法
基準時までの間に、その出来事を何回体験したことがあるかを表します。現在完了では生まれてから「現時点まで」の人生経験を語ります。一方、過去完了では「過去のその時点まで」に何回経験したかを語ります。
よく一緒に使われる語句には ever(これまでに)、never(一度も〜ない)、before(以前に)、once(1回)、many times(何度も)などがあります。
3. 継続用法
過去に始まった状態が、基準時までずっと続いていることを表します。状態を表す動詞(live, know, be, have など)と一緒に用いられます。
現在完了では「過去から今も続いている」ことを示し、過去完了では「過去のある時点までずっと続いていた」ことを示します。よく一緒に使われる語句には for + 期間(〜の間)、since + 起点(〜以来)などがあります。
大過去のルールと単なる過去形との使い分け基準
過去完了形(had + 過去分詞)には、3大用法のほかに「大過去(だいかこ)」と呼ばれる極めて重要な使い方があります。
大過去とは何か
大過去とは、過去に起きた2つの出来事のうち、「どちらが先に起きたのか」という時間的な前後関係をはっきりさせるために、より古い出来事を had + 過去分詞 で表す用法の il です。
この文では、「父が時計を買ってくれた」出来事と、「時計をなくした」出来事の2つがあります。時系列としては「父が買った」ほうが先で、「なくした」ほうが後です。そのため、文全体の基準となる過去形 lost よりも昔のことであることを示すために、had bought と過去完了形にします。
大過去を使わなくてもよい例外
2つの出来事の前後関係が明白である場合、必ずしも had + 過去分詞 を使う必要はなく、両方を単なる過去形で並べることができます。
- before や after などの接続詞がある場合:
He went to bed after he finished his work.(彼は仕事を終えたあとで寝た。)
※after によってどちらが先か自明であるため、had finished にせず単なる過去形 finished でも自然です。 - 出来事が起きた順番通りに and でつなぐ場合:
I opened the door and entered the room.(私はドアを開けて、部屋に入った。)
※順番通りに語られているため、前の動作を大過去にする必要はありません。
単なる過去形と完了形の見極め方
過去形(did)、現在完了形(have done)、過去完了形(had done)の3択で迷ったときは、次の表の基準で整理してください。
表は横にスクロールできます →
| 時制 | 視点の位置 | 現在への影響 | 典型的な共起表現 |
|---|---|---|---|
| 過去形 | 過去の一点 | 切り離されている(無関係) | yesterday, ago, in 2020, when... |
| 現在完了形 | 現在(過去から今へ) | 直接つながっている(影響あり) | so far, already, since, for |
| 過去完了形 | 過去の基準点 | 過去の基準点につながる(現在とは無関係) | by that time, before + 過去, had never... until |
過去に起きた2つの出来事の前後関係を示し、より古い方を過去完了形で表します。

「have had」と「had had」の構造と例文解説
文中に have had や had had という同じ動詞が2つ並んだような形が出てくると、戸惑う方が多くいます。しかし、構造を分解すると仕組みは極めてシンプルです。
have had の文構造(助動詞 have + 本動詞 had)
英語の have には2種類あります。完了形を作るための「助動詞の have」と、「持っている」「食べる」「経験する」などの意味を持つ「本動詞(一般動詞)の have」です。本動詞 have の活用は「have - had - had」ですから、過去分詞は had になります。
したがって、本動詞 have を現在完了形にすると、「助動詞 have / has + 本動詞の過去分詞 had」という並びになり、have had(主語が3人称単数なら has had)が完成します。後ろには動詞の過去分詞ではなく、目的語となる名詞が続きます。
- I have had a headache since this morning.(今朝からずっと頭痛が続いています。)
※have a headache(頭痛がする)という状態が、今朝から現在まで「継続」していることを表します。 - I've had lunch already.(私はもう昼食をとりました。)
※have lunch(昼食を食べる)が今完了したことを示します。会話では I have が短縮されて I've had と発音されます。 - I've had enough of his excuses.(彼の言い訳にはもううんざりだ。)
※直訳は「十分な量を経験した」。日常会話で非常によく使われる決まり文句です。
had had の文構造(助動詞 had + 本動詞 had)
全く同じ原理で、本動詞 have を過去完了形にすると、「助動詞 had + 本動詞の過去分詞 had」となり、had had という並びが成立します。
- He had had the car for ten years before it broke down.(車が故障する前、彼はその車を10年間所有していた。)
※「故障した」という過去の基準点までに、10年間「車を持っていた(had the car)」という状態が続いていたことを示します。 - She felt sick because she had had too much coffee.(コーヒーを飲みすぎたため、彼女は気分が悪くなった。)
※「気分が悪くなった」過去の時点より前に、「コーヒーをたくさん飲んだ(摂取した)」という大過去の行為を表します。
どちらも1つ目の単語は時制を示す機能語(助動詞)であり、2つ目の had こそが具体的な意味を持つ本動詞です。
I have had a headache since this morning.今朝からずっと頭痛が続いています。
完了形を作る助動詞 have に本動詞 have の過去分詞 had が続いた形です。
混同しやすい類似構文|受動態や完了進行形の区別
「have had 過去分詞」と検索してしまう原因の多くは、完了形と受動態、あるいは完了形と進行形が組み合わさった複合構文との混同です。形と意味をはっきり区別しましょう。
1. 現在完了受動態: have / has been + 過去分詞
「〜されてしまった」「ずっと〜されている」という受け身の意味を完了形で表す場合、助動詞 have の後ろに be 動詞の過去分詞である been が入り、その後に本動詞の過去分詞が続きます。have had 過去分詞 ではなく、have been 過去分詞 です。
- The project has been completed successfully.(そのプロジェクトは無事に完了した。)
※「プロジェクト」は完了「される」側なので、受動態 has been completed になります。 - The stolen bicycles have been found.(盗まれた自転車が見つかりました。)
2. 現在完了進行形: have / has been + -ing
「過去から今までずっと〜し続けている」という動作の継続を生き生きと表す構文です。been の後ろには動詞の -ing 形が来ます。
- It has been raining since yesterday.(昨日からずっと雨が降り続いている。)
- I have been studying English for two hours.(私は2時間ずっと英語を勉強し続けている。)
3. 使役動詞 have + 目的語 + 過去分詞
もう1つ混同しやすいのが、使役動詞 have を用いた「have + 目的語 + 過去分詞」(〜を…してもらう/〜を…される)という構文です。これを現在完了形にすると、have had + 目的語 + 過去分詞 という形で、had と過去分詞が目的語を挟んで登場します。
- I have had my hair cut.(私は髪を切ってもらった。)
※have(現在完了の助動詞)+ had(使役動詞の過去分詞)+ my hair(目的語)+ cut(過去分詞)。「髪を切ってもらった状態を今持っている」という意味になります。
| 構文の名称 | 基本の語順 | 典型例と日本語訳 |
|---|---|---|
| 現在完了形 | have/has + 過去分詞 | I have eaten lunch.(昼食を食べた) |
| 現在完了受動態 | have/has been + 過去分詞 | The room has been cleaned.(部屋は掃除された) |
| 現在完了進行形 | have/has been + -ing | I have been waiting.(ずっと待っている) |
| 使役の現在完了 | have/has had + O + 過去分詞 | I have had my watch repaired.(時計を修理してもらった) |
現在完了受動態
- have / has been + 過去分詞
- 例: has been completed
現在完了進行形
- have / has been + -ing
- 例: has been raining
使役動詞の完了形
- have had + 目的語 + 過去分詞
- 例: have had my hair cut
have had 過去分詞 と混同しやすい3つの複合構文のパターン分けです。
受動態と組み合わさった表現の具体例は、完了形の受動態の作り方の例文集で詳しく確認できます。
次の疑問受動態との組み合わせで特に混乱しやすい形については、had ppとhad been ppの違いでより詳しく整理できます。
一瞬で見抜く時制判定フローチャートと確認問題
テストや英作文で「過去形・現在完了形・過去完了形のどれを使うべきか」を一瞬で判断するための実践的な判定手順です。
時制判定の3ステップ
- ステップ1: 文中に「過去の一点」を表す明確な語句があるか?
yesterday, last night, two days ago, when I was a child などがある場合 → 過去形 を選択します(現在完了形は絶対に不可)。 - ステップ2: 話の焦点が「今現在」にあるか?
「過去に起きたことが、今どうなっているか」「今までの経験」「今も続いている状態」を言いたい場合 → 現在完了形(have + 過去分詞) を選択します。 - ステップ3: 基準となる「過去の時点」より前に起きたことか?
文中に過去形(基準時)が存在し、それより前に起きたこと、あるいはその過去の基準時まで続いていたことを言いたい場合 → 過去完了形(had + 過去分詞) を選択します。
理解度チェック演習問題
空欄に入る適切な動詞の形を考えてみてください。
- 問題1: I (lose) my smartphone yesterday, but someone found it this morning.
- 問題2: Ken was not at the party. When I arrived, he (already / go) home.
- 問題3: I (have) a bad cold for three days, so I cannot go to school today.
解答と解説
- 解答1: lost
yesterday という明確な過去を表す語句があるため、現在完了形にはできず、単なる過去形 lost になります。 - 解答2: had already gone
「私が到着した(arrived)」という過去の基準点よりも前に、ケンがすでに帰宅していたという大過去の出来事であるため、過去完了形 had already gone になります。 - 解答3: have had
3日間風邪をひいていて「その結果、今現在も学校へ行けない」という現在につながる継続を表しています。動詞 have(病気にかかっている)を現在完了形にするため、助動詞 have + 過去分詞 had の have had が正解です。
yesterday等の明確な語句があれば「過去形」を選ぶ
今どうなっているか・今の経験なら「現在完了形」を選ぶ
過去の時点より前のことなら「過去完了形」を選ぶ
文中の語句や話の焦点から、使うべき時制を順番に絞り込みます。
続けて読む
理解度チェック
Q1. 「have had + 過去分詞」という形についての説明として正しいものはどれ?
- 完了形を強調するために日常会話でよく使われる
- 1つの述語動詞に完了の助動詞は2つ重ねられず誤り
- 大過去を表す際に単なる過去完了形の代わりに用いる
- 主語が3人称単数の場合のみ文法的に正しい形となる
答えを見る
正解: B. 1つの述語動詞に完了の助動詞は2つ重ねられず誤り
完了の助動詞は1つの述語動詞に1度しか使えないため、have had の直後に過去分詞を重ねる形は標準英語では文法誤りです。
Q2. 過去の2つの出来事の前後関係を表す「大過去」を省略できるケースは?
- 文中に「already」が含まれている場合
- 状態を表す動詞(liveやknowなど)を使う場合
- 「before」や「after」などの接続詞がある場合
- 話の焦点が「過去」ではなく「今現在」にある場合
答えを見る
正解: C. 「before」や「after」などの接続詞がある場合
beforeやafterなどの接続詞がある場合や、andで順番通りに並べる場合は前後関係が明白なため、大過去を使わず過去形で表せます。
Q3. 「今朝からずっと頭痛が続いている」を表す正しい英文はどれ?
- I have had a headache since this morning.
- I have had had a headache since this morning.
- I had been a headache since this morning.
- I have had have a headache since this morning.
答えを見る
正解: A. I have had a headache since this morning.
「have a headache」を現在完了形にする場合、助動詞haveに本動詞の過去分詞hadを組み合わせ、後ろに名詞を続けます。
よくある質問
- Q. have had 過去分詞という文法は存在しますか?
- 存在しません。助動詞の完了形を2つ重ねることはできず、have had の直後には通常名詞が続きます(I have had lunchなど)。受動態の have been + 過去分詞との混同が多く見られます。
- Q. have had と had had の違いは何ですか?
- have had は本動詞 have の現在完了形で「過去から今までの状態や経験」を表します。had had は本動詞 have の過去完了形で「過去のある時点までに持っていた・経験していた」ことを表します。
- Q. 大過去と過去完了形の違いは何ですか?
- 過去完了形(had+過去分詞)という文法形式の中に含まれる用法の1つが大過去です。過去の基準時点よりも「さらに前に起きた出来事」の順序を明示するために用います。
- Q. yesterday と have+過去分詞を一緒に使えない理由は?
- 現在完了形は「今現在」に視点を置く文法だからです。yesterday や ago など現在から完全に切り離された過去の一点を示す語句とは、視点が矛盾するため共起できません。
- Q. 会話で I've had enough はどういう意味ですか?
- 「もうたくさんだ」「もううんざりだ」「お腹がいっぱいです」という意味の定番フレーズです。直訳の「十分な量を経験した・食べた」から派生して、日常会話で頻出します。
2026年10月3日更新・モチタン辞典編集部