現在完了形
Present Perfect Tense
現在完了形は、過去に起きたことが今に関係しているときに使います。「日本に行ったことがある」(経験)や「宿題が終わった」(完了)と言うとき、英語では Present Perfect を使います。have/has + 過去分詞(V3)を使います。過去形と似ていますが、「今とのつながり」があるのが現在完了形のポイントです。日本語にはぴったり同じ時制がないので、中学英語でいちばん難しいと言われています。
肯定文(Affirmative)
現在完了形では have または has + 過去分詞(V3)を使います。he/she/it なら has、それ以外は have を使います。V3(過去分詞)は、規則動詞なら -ed の形で過去形と同じです。
S + have/has + V3(過去分詞) + O
I have visited Japan twice.
私は日本に2回行ったことがあります。
She has finished her homework.
彼女は宿題が終わりました。
We have eaten lunch already.
私たちはもう昼ごはんを食べました。
They have lived here for five years.
彼らはここに5年間住んでいます。
He has read this book three times.
彼はこの本を3回読みました。
I have learned a lot of new words.
私はたくさんの新しい単語を覚えました。
She has been to Kyoto before.
彼女は前に京都に行ったことがあります。
We have known each other since childhood.
私たちは子どものころからお互いを知っています。
| 主語 | have/has | 例 | 短縮形 |
|---|---|---|---|
| I / You / We / They | have | I have seen it. | I've seen it. |
| He / She / It | has | She has gone home. | She's gone home. |
have/has は 've / 's と短縮できます。I've visited = I have visited、She's finished = She has finished。ただし She's = She has(現在完了形)か She is か、文脈で判断しよう!
過去分詞(V3)の形
規則動詞の V3 は V2(過去形)と同じ -ed の形です。不規則動詞の V3 は形が違うものがあります。V1(原形)、V2(過去形)、V3(過去分詞)の3つを覚えましょう。
play → played → played(規則動詞)
規則動詞:V2 と V3 は同じ形
go → went → gone(不規則動詞)
不規則動詞:V1, V2, V3 が全部違う
eat → ate → eaten(不規則動詞)
不規則動詞:V2 (ate) と V3 (eaten) が違う
put → put → put(不規則動詞)
V1=V2=V3 全部同じ ── 形が変わらない
buy → bought → bought(不規則動詞)
V2=V3 が同じ ── V1 とは違う
begin → began → begun(不規則動詞)
V1, V2, V3 が全部違う
| V1(原形) | V2(過去形) | V3(過去分詞) | 日本語 |
|---|---|---|---|
| play | played | played | する |
| visit | visited | visited | 訪ねる |
| study | studied | studied | 勉強する |
| cook | cooked | cooked | 料理する |
| go | went | gone | 行く |
| eat | ate | eaten | 食べる |
| see | saw | seen | 見る |
| take | took | taken | 取る |
| write | wrote | written | 書く |
| give | gave | given | あげる |
| read | read | read | 読む |
| come | came | come | 来る |
| make | made | made | 作る |
| buy | bought | bought | 買う |
| think | thought | thought | 思う |
| know | knew | known | 知る |
| speak | spoke | spoken | 話す |
| begin | began | begun | 始める |
| drink | drank | drunk | 飲む |
| swim | swam | swum | 泳ぐ |
| fly | flew | flown | 飛ぶ |
| break | broke | broken | 壊す |
| choose | chose | chosen | 選ぶ |
| forget | forgot | forgotten | 忘れる |
| put | put | put | 置く |
| cut | cut | cut | 切る |
V3 を覚えやすくするために、V1 → V2 → V3 をリズムよく声に出そう! go-went-gone, eat-ate-eaten, see-saw-seen! 規則動詞は V2=V3 だからラクです。
否定文(Negative)
否定文では have not (haven't) または has not (hasn't) を使います。not は have/has と V3 の間に入れます。
S + have/has + not + V3 + O
I have not seen that movie.
私はその映画を見たことがありません。
She hasn't eaten breakfast yet.
彼女はまだ朝ごはんを食べていません。
We haven't finished the project yet.
私たちはまだプロジェクトを終えていません。
He hasn't called me back.
彼はまだ折り返し電話をくれていません。
They haven't visited Japan before.
彼らは日本に行ったことがありません。
I haven't decided yet.
まだ決めていません。
She hasn't read that book yet.
彼女はまだその本を読んでいません。
We haven't met the new teacher.
私たちはまだ新しい先生に会っていません。
| 主語 | 否定の形 | 短縮形 |
|---|---|---|
| I / You / We / They | have not + V3 | haven't + V3 |
| He / She / It | has not + V3 | hasn't + V3 |
yet は否定文と疑問文の文末につけます:I haven't finished yet. / Have you finished yet?
疑問文(Questions)
疑問文を作るには Have または Has を主語の前に出します。ever(今までに)は経験をたずねる疑問文でよく使います。
Have/Has + S + V3 + O?
Have you ever been to Tokyo?
あなたは東京に行ったことがありますか?
Has she read this book?
彼女はこの本を読んだことがありますか?
Have they arrived yet?
彼らはもう着きましたか?
Have you ever eaten sushi?
あなたはお寿司を食べたことがありますか?
Has he finished his homework?
彼は宿題が終わりましたか?
Have you ever played the guitar?
あなたはギターを弾いたことがありますか?
How many countries have you visited?
あなたは何カ国に行ったことがありますか?
How long have you lived here?
あなたはここにどれくらい住んでいますか?
Have you ever...? = 今までに〜したことがありますか? 経験をたずねるときにとてもよく使います!
よく使うキーワード
現在完了形といっしょによく使うキーワードがあります。これらの言葉が出てきたら、現在完了形の可能性が高いです。already, yet, just, ever, never, for, since がキーワードです。
I have already done my homework.
私はもう宿題をやりました。(already = もう)
She hasn't called me yet.
彼女はまだ私に電話していません。(yet = まだ)
I have never eaten sushi.
私は一度もお寿司を食べたことがありません。(never = 一度も〜ない)
Have you ever played the guitar?
あなたは今までにギターを弾いたことがありますか?(ever = 今までに)
He has just left the house.
彼はたった今、家を出ました。(just = たった今)
I have lived here for ten years.
私はここに10年間住んでいます。(for = 〜間)
She has known him since 2020.
彼女は2020年から彼を知っています。(since = 〜から)
We have been friends since primary school.
私たちは小学校からずっと友だちです。
| キーワード | 日本語 | 文中の位置 | 例 |
|---|---|---|---|
| already | もう | have/has と V3 の間 | I have already eaten. |
| yet | まだ(否定/疑問) | 文末 | I haven't finished yet. |
| just | たった今 | have/has と V3 の間 | She has just arrived. |
| ever | 今までに(疑問) | have/has と V3 の間 | Have you ever tried? |
| never | 一度も〜ない | have/has と V3 の間 | I have never been there. |
| for + 期間 | 〜間 | 文末 | for 3 years / for 2 hours |
| since + 起点 | 〜から | 文末 | since 2020 / since Monday |
already/just/ever/never は have/has と V3 の間に置く:I have already finished. yet は文末に置く:I haven't finished yet. for = 期間(for 3 years)、since = 起点(since 2020)
過去形 vs 現在完了形
過去形と現在完了形をどう使い分けるかは、中学生がいちばん迷うポイントです。この2つの違いをしっかり理解しましょう。
I ate sushi yesterday. (Simple Past — いつか明確)
私は昨日お寿司を食べました。(具体的な時間を示す)
I have eaten sushi before. (Present Perfect — 経験)
私はお寿司を食べたことがあります。(いつかは言わない)
She went to Kyoto last year. (Simple Past)
彼女は去年京都に行きました。(いつか明確)
She has been to Kyoto twice. (Present Perfect)
彼女は京都に2回行ったことがあります。(経験 ── いつかは言わない)
He lost his key this morning. (Simple Past — もう終わった)
彼は今朝かぎをなくしました。(終わったできごと)
He has lost his key. (Present Perfect — 今も影響あり)
彼はかぎをなくしました。(今もまだ見つかっていない)
I lived in Osaka for two years. (Simple Past — 今は住んでいない)
私は大阪に2年間住んでいました。(今は引っ越した)
I have lived in Tokyo for three years. (Present Perfect — 今も住んでいる)
私は東京に3年間住んでいます。(今も住み続けている)
| 過去形 (Simple Past) | 現在完了形 (Present Perfect) | 違い |
|---|---|---|
| I ate sushi yesterday. | I have eaten sushi before. | 具体的な時間 vs 経験 |
| She went to Japan in 2023. | She has been to Japan. | 何年か示す vs 経験 |
| He lost his key. | He has lost his key. | 終わった vs 今も影響あり |
| I lived there for 2 years. | I have lived here for 3 years. | 終了 vs 今も継続中 |
| yesterday / last week / in 2020 | already / yet / ever / never / for / since | 時間の言葉が違う |
過去形 = いつか明確(yesterday, last week, in 2020)。現在完了形 = 経験 / 今とのつながり(ever, never, already, yet, for, since)。yesterday + have/has ❌ = いっしょに使えません!
日本語との比較
- ●日本語には現在完了形にぴったり合う時制がありません。「〜したことがある」(経験)と「〜し終えた」(完了)が最も近い表現ですが、英語ではどちらも Present Perfect です。
- ●過去形と現在完了形の違い:「昨日食べた」(過去形 ── いつか明確)vs「食べたことがある」(現在完了形 ── 経験)。日本語ではこの区別がはっきりしているので、日本語の感覚で「〜たことがある」と言いたいときは have/has + V3 を使えば大丈夫です。
- ●for(期間)と since(起点)を使い分けましょう。「3年間」= for three years、「2020年から」= since 2020。日本語では「〜間」と「〜から」の違いに対応します。
- ●日本語では動詞の特別な形(V3 = 過去分詞)が不要です。英語では have/has + V3 と特別な形が必要で、V3 を覚える必要があります。
- ●日本語の「もう(〜した)」= already、「まだ(〜していない)」= yet、「一度も〜ない」= never、「今までに」= ever。これらのキーワードと現在完了形をセットで覚えましょう。
- ●日本語では「〜ている」が「結果の継続」を表すことがあります(例:「東京に住んでいる」)。英語の現在完了形 I have lived in Tokyo for 3 years は、この「〜ている」に近い使い方です。
穴埋め問題
She ___ already eaten lunch.
I have ___ to Kyoto twice.
___ you ever tried Korean food?
We have lived here ___ 2018.
She hasn't finished her project ___.
クイズ
現在完了形は have/has + 過去分詞 で作る。
I have never eaten sushi before. は自然な現在完了の文である。
since は起点、for は期間を表す。
関連トピック

アプリで英語を話してみよう
AIと英会話の練習ができます。無料でダウンロード!
無料ダウンロード