モチタン辞典 › 読みもの › 英文法 › 中学英語の現在完了形have過去分詞

中学英語のhave+過去分詞をマスター!現在完了の3用法
中学英語の「have+過去分詞」は現在完了形と呼ばれ、「過去の出来事が今にどうつながっているか」を表す文法です。「持っている」という意味はなく、助動詞のように働きます。
日本語訳は文脈や一緒に使われる単語によって「ずっと〜している(継続)」「〜したことがある(経験)」「〜したところだ(完了)」の3つに分かれます。
have+過去分詞のコアイメージと基本公式
中学3年生で学習する「have+過去分詞」という形は、文法用語で現在完了形(present perfect)と呼ばれます。ここで使われる have や has は、「〜を持っている」という一般動詞の意味ではありません。can や will のように、後ろの動詞を助ける役割を持っています。
現在完了形のコアイメージは「過去に起きた出来事が、今この瞬間まで一本の線でつながっている」という感覚です。単なる過去形は「過去のある一時点で起きて終わったこと」を述べますが、現在完了形は「過去の出来事の結果や影響が、現在の状態に直接結びついている」ことを示します。
主語によって have と has を使い分ける点に注意が必要です。
- 主語が I, you, 複数(they, we, Ken and Yumi など)のとき:have + 過去分詞
- 主語が三人称単数(he, she, Ken, my father など)のとき:has + 過去分詞
過去形
- 過去のある一時点で起きて終わったこと
- 現在の状態とは直接つながっていない
現在完了形
- 過去の出来事が今この瞬間まで線でつながる
- 過去の結果や影響が現在の状態に結びつく
過去の一点で完結するか、現在まで結びついているかというイメージの違いを整理しました。
次の疑問同じ過去分詞を使う文法として受動態と混同しやすい方は、受動態と完了形の違いと見分け方を整理しておくと迷いません。
3大用法と目印キーワード一覧表
中学校で習う現在完了形には、「継続」「経験」「完了・結果」という3つの用法があります。文中のどの用法にあたるかは、文末や動詞の前後にある「目印キーワード」を見れば一目で判別できます。
表は横にスクロールできます →
| 用法 | 日本語の基本訳 | 目印となるキーワード | 代表例文 |
|---|---|---|---|
| 継続 | (過去から今まで)ずっと〜している | for(〜の間) since(〜以来) How long(どのくらいの間) | I have lived in Tokyo for three years. (私は東京に3年間ずっと住んでいます。) |
| 経験 | (今までに)〜したことがある | ever(今までに) never(一度も〜ない) before(以前に) once(1回)/ twice(2回) | Have you ever seen a panda? (あなたは今までにパンダを見たことがありますか。) |
| 完了・結果 | (ちょうど)〜したところだ もう〜してしまった | already(すでに、もう) just(ちょうど今) yet(もう/まだ) | He has just finished his homework. (彼はちょうど宿題を終えたところです。) |
3大用法の詳しい意味と見分け方のコツ
1. 継続用法「ずっと〜している」
過去のある時点から現在まで、ある状態や動作が途切れずに続いていることを表します。状態を表す動詞(live, know, like, be動詞 など)と一緒によく使われます。
継続用法を見分ける最大のポイントは for と since の使い分けです。
- for + 期間(数字など):for two days(2日間)、for ten years(10年間)
- since + 起点(過去の日時や過去の文):since yesterday(昨日から)、since last year(去年から)、since I was a child(私が子供だった頃から)
例文:My mother has been sick since last Sunday.(私の母は先週の日曜日からずっと体調を崩しています。)
2. 経験用法「〜したことがある」
過去から現在までの人生の中で、ある行動を体験したことがあるかどうかを表します。回数を表す語句(once, twice, three times)や、before(以前に)と一緒に使われます。
否定文では not の代わりに「一度も〜ない」を意味する never が頻出します。疑問文では「今までに」を意味する ever を動詞の前に置きます。
例文:I have never eaten natto before.(私は以前に一度も納豆を食べたことがありません。)
3. 完了・結果用法「〜したところだ/〜してしまった」
過去に始まった動作が「ちょうど今終わったこと(完了)」や、「動作が終わった結果、現在の状態がどうなっているか(結果)」を表します。
肯定文では just(ちょうど)や already(すでに)を have と過去分詞の間に置きます。否定文や疑問文では yet を文末に置くのが鉄則です。
例文:They have already eaten lunch.(彼らはすでに昼食を食べてしまいました。)
状態動詞と共起。for+期間やsince+起点で見分ける。
回数表現やbefore、否定のnever、疑問のeverが目印。
肯定文はjust/already、否定・疑問文は文末yetが目印。
文中に置かれる語句や動詞の種類から、3つの用法のどれにあたるかを見分けます。
用法の使い分けに慣れるには、現在完了形の使い方の例文集で実際の文を声に出して練習するのがおすすめです。
have been to と have gone to の違い
テストで非常によく狙われるのが、have been to と have gone to の意味の識別です。どちらも「行く」に関連する表現ですが、主語の居場所に明確な違いがあります。
表は横にスクロールできます →
| 表現 | 用法の分類 | 主な意味 | 現在の居場所 |
|---|---|---|---|
| have been to 〜 | 経験 または 完了 | 〜へ行ったことがある 〜へ行ってきたところだ | ここ(元の場所)にいる |
| have gone to 〜 | 完了・結果 | 〜へ行ってしまった | そこへ行っていて、ここにはいない |
例文で違いを確認しましょう。
- Ken has been to Canada twice.(ケンはカナダに2回行ったことがある=経験:ケンは今ここにいる)
- I have just been to the station.(私はちょうど駅へ行ってきたところだ=完了:今戻ってきた)
- Ken has gone to Canada.(ケンはカナダへ行ってしまった=結果:ケンはカナダにいて、ここにはいない)
have gone to は「行ってしまってここにはいない」という意味になるため、話している本人である I や聞き手の you を主語にすることは基本的にできません。

否定文・疑問文の作り方と答え方
現在完了形の文を否定文や疑問文にするときは、have / has を can などの助動詞と同じように扱います。一般動詞のように don't, doesn't, didn't を使ってはいけません。
否定文の作り方
have / has のすぐ後ろに not を置きます。過去分詞の形は原形に戻さず、過去分詞のまま残します。
否定文の文末にある yet は「まだ〜ない」という意味になります。
疑問文の作り方と答え方
Have または Has を文の先頭に出し、文末にクエスチョンマークを付けます。答えるときも have / has を使います。
- 疑問文:Have you finished your dinner yet?(あなたはもう夕食を終えましたか。)
- 答える文:Yes, I have.(はい、終えました。) / No, I haven't.(いいえ、まだです。)
主語が三人称単数の場合も同様です。
- 疑問文:Has she lived here for a long time?(彼女は長い間ここに住んでいますか。)
- 答える文:Yes, she has. / No, she hasn't.
I haven't read this book yet.私はまだこの本を読んでいません。
have/hasの直後にnotを置き、過去分詞は原形に戻さずそのまま使います。
より詳しい手順を確認したいときは、現在完了の疑問文・否定文の作り方を参考にしてください。
疑問文や否定文のパターン練習には、現在完了の疑問文・否定文の作り方の例文集が役立ちます。
次の疑問一般動詞としてのhaveの活用や過去形のルールを振り返りたいときは、haveの過去形・活用と意味を確認してみてください。
過去形との違いと「一緒に使えない語句」
定期テストや高校入試で最も誤答が多いルールが、「現在完了形と一緒に使えない語句」です。
現在完了形は「今とつながっていること」を表す文法です。そのため、「過去の一点」をはっきりと示す語句とは絶対に一緒に使えません。明確な過去を表す語句がある場合は、現在完了形ではなく通常の過去形を使います。
| 一緒に使えない語句(明確な過去) | 正しい文(過去形) | 誤りの文(現在完了形:不可) |
|---|---|---|
| yesterday(昨日) | I bought this watch yesterday. | × I have bought this watch yesterday. |
| 〜 ago(〜前) | He visited Kyoto two days ago. | × He has visited Kyoto two days ago. |
| last 〜(先週、去年など) | We saw him last night. | × We have seen him last night. |
| when 〜(〜したとき) | I met her when I was a child. | × I have met her when I was a child. |
| When 〜?(いつ〜したか) | When did you arrive here? | × When have you arrived here? |
特に When have you 〜? という疑問文はテストで狙われやすい誤文訂正パターンです。「いつ」という過去の一点を尋ねる文では、必ず When did you + 原形? を使います。
テスト頻出の不規則変化動詞の過去分詞15選
現在完了形を作るには、動詞を「過去分詞」に変化させる必要があります。規則動詞は語尾に -ed を付けるだけですが、不規則動詞は形を覚える必要があります。中学英語で必ず押さえておきたい頻出動詞15選です。
表は横にスクロールできます →
| 原形 | 過去形 | 過去分詞 | 意味 |
|---|---|---|---|
| be (am / is / are) | was / were | been | 〜である、いる |
| go | went | gone | 行く |
| see | saw | seen | 見る、会う |
| come | came | come | 来る |
| make | made | made | 作る |
| have | had | had | 持つ、食べる |
| do | did | done | する |
| eat | ate | eaten | 食べる |
| know | knew | known | 知っている |
| write | wrote | written | 書く |
| read | read | read | 読む |
| take | took | taken | 取る、連れて行く |
| buy | bought | bought | 買う |
| give | gave | given | 与える |
| speak | spoke | spoken | 話す |
read はスペルがすべて同じですが、過去形・過去分詞の発音は「レッド」になります。
次の疑問過去分詞が持つ形容詞のような働きなども幅広く知りたいなら、過去分詞の基本的な使い方まとめが役に立ちます。
定期テスト頻出パターンと間違い添削
パターン1:「期間をたずねる疑問文」と答え方
「どのくらいの間〜していますか」と継続期間を尋ねる疑問文には How long have you + 過去分詞 〜? を使います。
- 質問:How long have you lived in this town?(あなたはこの町にどのくらい住んでいますか。)
- 答え方1(期間):For five years. / I have lived here for five years.(5年間です。)
- 答え方2(起点):Since 2020. / I have lived here since 2020.(2020年からです。)
答えの文で for と since を混同しないように整理しておきましょう。
パターン2:よくある間違いと添削
間違い例1:明確な過去の語句を混ぜてしまう
- × I have lived here three years ago.
- ○ I have lived here for three years.(私はここに3年間住んでいます。)
- ○ I moved here three years ago.(私は3年前にここへ引っ越してきました。)
解説:ago(〜前)は過去の一点を表す語なので、現在完了形では使えません。期間を表す for に変えるか、動詞を過去形にします。
間違い例2:否定文で一般動詞の否定を使ってしまう
- × I didn't finish my homework yet.(口語では使われることもありますが、中学校のテストでは不正解になります)
- ○ I haven't finished my homework yet.(私はまだ宿題を終えていません。)
解説:中学の文法テストでは、文末に yet があれば「完了用法の否定文(haven't + 過去分詞)」で書くのが標準です。
How long have you lived in this town?
For five years.(5年間です)
Since 2020.(2020年からです)
How longで質問されたら、期間のforか起点のsinceを選んで回答します。
続けて読む
理解度チェック
Q1. 現在完了形の文と一緒に使うことができない語句はどれ?
- since last year
- already
- two days ago
- never
答えを見る
正解: C. two days ago
明確な過去の一点を表すagoなどの語句は、現在完了形と一緒に使うことができません。
Q2. 「ケンはカナダへ行ってしまい、今ここにいない」を表す文は?
答えを見る
正解: B. Ken has gone to Canada.
「行ってしまってここにはいない」という結果を表すにはhave gone toを使います。
Q3. 継続用法で期間を表す語句と一緒に使う前置詞はどれ?
- for
- since
- yet
- ago
答えを見る
正解: A. for
継続用法において、forは期間(数字など)と一緒に使い、sinceは起点を表す語句と使います。
英語の文法は、話して身につけよう。会話アプリ「モチスピ」英語を話して練習できる会話アプリ。話すたびに、発音・文法・自然さをその場で直してもらえます。無料で試す
よくある質問
- Q. have 過去分詞はいつ習う文法ですか?
- 全国の中学校の教科書では、基本的に中学3年生の1学期または2学期前半に学習します。高校入試でも毎年出題される最重要文法のひとつです。
- Q. 現在完了形の3つの用法はどう見分けますか?
- 文中のキーワードで見分けます。for/sinceがあれば「継続」、ever/never/once/beforeがあれば「経験」、just/already/yetがあれば「完了」と判断できます。
- Q. なぜyesterdayと一緒に使えないのですか?
- 現在完了形は「今」につながっていることを表すためです。yesterdayのような「今と切り離された過去の特定の一点」を示す語句を置くと、今の状態と矛盾してしまいます。
- Q. have gone to を「私」に使えない理由は?
- have gone to は「行ってしまってここにはいない」という意味です。話し手である「私(I)」が目の前の相手に話している時点で「ここにいる」ため、意味が成り立たないからです。
- Q. 過去分詞が覚えられないときはどうすればいい?
- 動詞の「原形・過去形・過去分詞」を3点セットで声に出して覚えるのが近道です。go - went - gone のようにリズムをつけて音読すると定着しやすくなります。
2026年10月12日更新・モチタン辞典編集部
have been to
since
for
already