過去形と現在完了形の違いとは?使い分け・見分け方を例文で解説

「I wentとI have beenは何が違う?」「Did youとHave youはどう使い分ける?」と迷ったことはありませんか。
過去形は過去の出来事を述べ、現在完了形は現在までの経験・結果・継続を表します。
この記事では、2つの時制の違いを例文で比較し、見分け方や時間表現、練習問題を解説します。
過去形と現在完了形の違いとは?意味・使い方を比較
過去形と現在完了形の大きな違いは、出来事をどの時間的な視点から捉えるかという点です。
過去形は過去の出来事や状態を表し、現在完了形は過去から現在までのつながりを表します。
①過去形は過去の出来事や状態を表す
過去形は、過去に起きた出来事や、過去のある時点での状態を伝えるときに使います。
I watched a movie yesterday.
(私は昨日、映画を見ました。)
この英文では、昨日という過去の時点に起きた出来事を説明しています。
過去形は、動詞を過去形に変えることで作ります。規則動詞は基本的に語尾に-edを付け、不規則動詞は個別の変化を覚える必要があります。
②現在完了形は過去と現在のつながりを表す
現在完了形は「have/has+過去分詞」で作ります。
I have watched that movie three times.
(私はその映画を3回見たことがあります。)
この英文では、過去の特定の日時ではなく、現在までに3回見たという経験を表しています。
現在完了形には、経験・完了・結果・継続などの用法があります。
③違いは出来事をどの時間的な視点から捉えるか
過去形と現在完了形を使い分ける際は、過去の特定の出来事を伝えたいのか、現在までの経験や状況を伝えたいのかを考えましょう。
過去形を使ったからといって、現在への影響がないとは限りません。
重要なのは、話し手がどの時間的な視点から出来事を説明しているかという点です。
【比較表】過去形と現在完了形の違い
| 比較項目 | 過去形 | 現在完了形 |
|---|---|---|
| 基本形 | 動詞の過去形 | have/has+過去分詞 |
| 視点 | 過去の時点・期間 | 過去から現在まで |
| 主な役割 | 出来事・習慣・状態 | 経験・完了・結果・継続 |
| yesterday | 一般的に使う | 通常は直接使わない |
| since+起点 | 文脈による | 継続でよく使う |
過去形の基本的な使い方3つ
過去形は、過去の出来事だけでなく、以前の習慣や状態を説明する場合にも使います。
①過去に起きた出来事を伝える
過去のある時点で起きた出来事を説明するときは、過去形を使います。
I met my friend at the station.
(私は駅で友人に会いました。)
metはmeetの過去形です。
この英文では、友人に会ったという過去の出来事を伝えています。
②過去の習慣や状態を説明する
過去に繰り返していた行動や、以前の状態を説明する場合にも使います。
I played tennis every Sunday when I was a child.
(子どもの頃は毎週日曜日にテニスをしていました。)
She was busy last week.
(彼女は先週忙しかったです。)
1文目は過去の習慣、2文目は過去の状態を表しています。
③過去の日時を明確にする
過去形は、出来事が起きた日時を具体的に伝える場合に適しています。
We moved to Osaka in 2021.
(私たちは2021年に大阪へ引っ越しました。)
in 2021のように終了した過去の期間を指定するときは、過去形が基本です。
なお、現在も大阪に住んでいるかどうかは、この英文だけではわかりません。
現在完了形の基本的な使い方3つ
現在完了形には、主に経験・完了と結果・継続という3つの使い方があります。
①経験|これまでに〜したことがある
現在までに経験したことを伝える場合は、現在完了形を使います。
I have visited Kyoto twice.
(私は京都を2回訪れたことがあります。)
この英文では、これまでに京都を2回訪れたという経験を表しています。
具体的な訪問日時は示していません。
②完了・結果|すでに〜した
ある動作が完了し、その結果が現在に関係している場合にも使います。
She has finished her homework.
(彼女は宿題を終えました。)
宿題が終わったという現在の状況に注目しています。
完了を表す現在完了形では、already・just・yetなどの副詞が使われることもあります。
③継続|ずっと〜している
過去に始まった状態が現在まで続いている場合にも、現在完了形を使います。
I have known him for ten years.
(私は彼と10年来の知り合いです。)
この英文では、彼を知っている状態が10年間続いていることを表しています。
knowのような状態動詞は、継続を表す現在完了形でよく使われます。
【例文比較】過去形と現在完了形の使い分け6選
ここからは、過去形と現在完了形の違いを具体的な例文で比較します。
同じ動詞でも、時制によって伝わる内容が変わることがあります。
①wentとhave beenの違い
I went to London last summer.
(私は昨年の夏、ロンドンへ行きました。)
I have been to London twice.
(私はロンドンへ2回行ったことがあります。)
wentは昨年の夏の旅行という出来事を述べています。
一方、have been toは「行ったことがある」という訪問経験を表す定番表現です。
なお、have gone toは「行ってしまい、今ここにいない」という意味になる場合があるため、have been toと区別しましょう。
②sawとhave seenの違い
I saw that film on Saturday.
(私は土曜日にその映画を見ました。)
I have seen that film before.
(私は以前、その映画を見たことがあります。)
sawはseeの過去形、seenは過去分詞です。
1文目では土曜日に映画を見たという出来事を説明しています。
2文目では、現在までにその映画を見た経験があることを伝えています。
③finishedとhave finishedの違い
I finished the report at five.
(私は5時に報告書を仕上げました。)
I have finished the report.
(私は報告書を仕上げました。)
過去形は、5時に報告書を仕上げたという過去の出来事を表しています。
現在完了形は、報告書が完成しているという現在の状況に注目しています。
仕事で作業の完了を報告するときにも便利な表現です。
④lostとhave lostの違い
I lost my wallet yesterday.
(私は昨日、財布をなくしました。)
I have lost my wallet.
(私は財布をなくしてしまいました。)
1文目は、財布をなくした日時に注目しています。
2文目は、財布をなくした結果、現在も困っている状況を表す場合によく使います。
ただし、過去形を使ったからといって、財布が見つかっているとは限りません。
⑤livedとhave livedの違い
I lived in Fukuoka for three years.
(私は福岡に3年間住んでいました。)
I have lived in Fukuoka for three years.
(私は福岡に3年間住んでいます。)
過去形は、過去の3年間に住んでいたことを表しています。
現在完了形は、3年前から現在まで住んでいることを意味します。
このように、継続している状態かどうかによって時制が変わります。
⑥ateとhave eatenの違い
I ate breakfast at seven.
(私は7時に朝食を食べました。)
I have already eaten breakfast.
(私はもう朝食を食べました。)
ateはeatの過去形、eatenは過去分詞です。
1文目では朝食を食べた時刻、2文目では朝食をすでに済ませたことに注目しています。
【3ステップ】過去形と現在完了形の見分け方
過去形と現在完了形で迷ったときは、次の3ステップで判断しましょう。
ステップ①過去の特定の日時について話しているか確認する
「昨日」「先週」「2022年に」など、終わった過去の時点を明示するなら、まず過去形を考えます。
I bought this bag last month.
(私は先月、このバッグを買いました。)
「いつ買ったか」が話題なので、過去形が自然です。
ステップ②現在までの経験・結果・継続を伝えたいか考える
これまでの経験や現在の完了状況、今も続く状態を伝えるなら、現在完了形を検討します。
I have used this bag for two years.
(私はこのバッグを2年間使っています。)
この英文では、2年前から現在までバッグを使い続けていることを表しています。
ステップ③時間表現と文脈を確認する
最後に、時間表現と前後の文脈を確認しましょう。
例えば、「もう終わった?」なら現在完了形、「昨日終えた?」なら過去形が自然です。
ただし、alreadyなどの副詞があっても過去形を使う場合があるため、単語だけで判断しないことが重要です。
【判断表】過去形と現在完了形のどちらを使う?
| 伝えたい内容 | 基本の選択 |
|---|---|
| 昨日の出来事 | 過去形 |
| 子どもの頃の習慣 | 過去形 |
| これまでの旅行経験 | 現在完了形 |
| 今、作業が完了していること | 現在完了形 |
| 現在まで続く状態 | 現在完了形 |
| 過去の終了時刻 | 過去形 |
過去形・現在完了形と一緒に使う時間表現一覧
時制を判断するときは、英文に含まれる時間表現も重要な手がかりになります。
ただし、特定の単語があれば必ず時制が決まるわけではありません。
①yesterday・last week・agoは過去形で使う
過去の特定時点を示すyesterday、last week、two days agoなどは、通常、過去形と組み合わせます。
He called me two days ago.
(彼は2日前に私に電話をくれました。)
agoは「〜前に」という意味で、過去の時点を示します。
②ever・never・beforeは経験を表す現在完了形で使う
Have you ever tried sushi?
(これまでに寿司を食べたことがありますか?)
I have never tried it.
(私は一度も食べたことがありません。)
everやneverは、現在までの経験を表す現在完了形と相性がよい語です。
ただし、これらの語だけで時制が必ず決まるわけではありません。
③already・yet・justは完了を表す場合によく使う
Have you finished yet?
(もう終わりましたか?)
I have just finished.
(ちょうど終わったところです。)
yetは疑問文や否定文で「もう・まだ」、justは「ちょうど」、alreadyは「すでに」を表します。
特にアメリカ英語では、alreadyやjustを過去形と使うこともあります。
④for・sinceは継続を表す場合に使う
I have worked here for five years.
(私はここで5年間働いています。)
I have worked here since 2021.
(私は2021年からここで働いています。)
forは期間の長さ、sinceは始まった時点を示します。
for自体は過去形でも使えるため、「forがあるから現在完了形」と決めつけないことが大切です。
⑤today・this weekは文脈によって時制が変わる
todayやthis weekなど、現在を含む可能性がある期間では、文脈によって過去形と現在完了形を使い分けます。
I sent two emails this morning.
(私は今朝、メールを2通送りました。)
I have sent two emails this morning.
(私は今朝、メールを2通送っています。)
1文目は今朝の出来事を述べています。
2文目は、まだ午前中である場合などに、現在までの実績として述べる表現です。
【比較表】時間表現と時制の組み合わせ
| 時間表現 | よく使う時制 | 判断のポイント |
|---|---|---|
| yesterday / ago | 過去形 | 終了した過去の時点 |
| last year / in 2020 | 過去形 | 過去の特定期間 |
| ever / never | 現在完了形 | 現在までの経験 |
| already / just / yet | 現在完了形など | 完了の文脈・英語の種類 |
| for / since | 現在完了形など | 期間と起点を区別 |
| today / this week | 両方あり得る | 期間が続いているか |
Did you〜?とHave you〜?の違いを英会話で理解しよう
英会話では、過去形と現在完了形の疑問文を使い分けることも大切です。
①Did you〜?は過去の出来事を尋ねる
Did you call her yesterday?
(昨日、彼女に電話しましたか?)
Did you〜?は、過去の特定の出来事について尋ねる場合によく使います。
Didの後ろには、動詞の原形を置きます。
②Have you〜?は経験や現在までの完了を尋ねる
Have you called her yet?
(もう彼女に電話しましたか?)
Have you〜?は、現在までの経験や完了状況を尋ねる場合に使います。
haveの後ろには過去分詞を置きます。
③Yes, I did.とYes, I have.の使い分け
質問の時制に合わせて、返答も使い分けます。
Did you finish the report yesterday?
(昨日、報告書を完成させましたか?)
Yes, I did.
(はい、完成させました。)
Have you finished the report yet?
(もう報告書を完成させましたか?)
Yes, I have.
(はい、完成させました。)
どちらも正しい返答です。
④質問と返答の時制をそろえる
会話では、現在完了形で経験を尋ねた後、過去形で詳しい日時を尋ねることがあります。
Have you ever been to Singapore?
(シンガポールに行ったことがありますか?)
When did you go there?
(いつ行きましたか?)
最初の質問では経験を尋ね、次の質問では具体的な過去の日時を尋ねています。
過去形と現在完了形で間違えやすいポイント5つ
過去形と現在完了形では、時間表現や動詞の形に注意が必要です。
①現在完了形にyesterdayを直接付ける
誤:I have met him yesterday.
正:I met him yesterday.
(私は昨日、彼に会いました。)
yesterdayは終了した過去の時点を示すため、通常は過去形を使います。
②過去分詞と過去形を混同する
誤:I have went to Kyoto.
正:I have been to Kyoto.
(私は京都に行ったことがあります。)
goの活用はgo–went–goneです。
現在完了形では過去分詞を使います。訪問経験を伝える場合はhave been toが自然です。
③過去形は現在と無関係だと思う
I broke my phone yesterday.
(私は昨日、スマートフォンを壊しました。)
この英文は過去形ですが、スマートフォンが現在も壊れている可能性があります。
過去形だから現在への影響がないとは限りません。
④alreadyがあれば必ず現在完了形だと思う
I already ate lunch.
(私はもう昼食を食べました。)
アメリカ英語では、このようにalreadyを過去形と組み合わせることがあります。
時間表現だけでなく、文脈も確認しましょう。
⑤経験を尋ねる質問をすべて過去形にする
Have you ever seen snow?
(雪を見たことがありますか?)
これまでの人生経験を尋ねる場合は、現在完了形が一般的です。
一方、特定の過去の出来事について尋ねる場合は過去形を使います。
【練習問題】過去形と現在完了形を使い分けよう
ここまでの内容を理解できたら、練習問題に挑戦しましょう。
問題①〜⑤|正しい時制を選ぶ
問題①
I ( ) her at the cafe yesterday.
(私は昨日、カフェで彼女に会いました。)
選択肢:met / have met
問題②
I ( ) that book three times.
(私はその本を3回読んだことがあります。)
選択肢:read(過去形) / have read
問題③
She ( ) in this town since 2019.
(彼女は2019年からこの町に住んでいます。)
選択肢:lived / has lived
問題④
( ) you finish the test last Friday?
(先週の金曜日、テストを終えましたか?)
選択肢:Did / Have
問題⑤
We ( ) already finished the project.
(私たちはもうプロジェクトを終えました。)
選択肢:have / did
解答と解説|選び方の理由を確認する
①met
yesterdayが過去の特定時点を示すため、過去形を選びます。
②have read
何度読んだことがあるかという、現在までの経験を表します。
readは原形・過去形・過去分詞のつづりが同じですが、発音は異なります。
③has lived
since 2019が示す時点から現在まで、居住が続いています。
主語がsheなのでhasを使います。
④Did
last Fridayという過去の日時が指定されています。
Didの後ろは動詞の原形finishです。
⑤have
空欄の後ろにalready finishedが続き、現在完了形を作る問題です。
have+過去分詞の形を確認しましょう。
過去形と現在完了形の違いについてよくある質問
過去形と現在完了形の一番の違いは何ですか?
過去形は過去の出来事や状態を表します。
現在完了形は、過去の出来事と現在のつながりに注目する表現です。
現在完了形は過去形と同じ意味になることがありますか?
はい。文脈によって、どちらも似た状況を伝える場合があります。
ただし、過去形は過去の出来事、現在完了形は現在までの経験や結果などに注目するという違いがあります。
現在完了形でyesterdayを使えないのはなぜですか?
yesterdayは終了した過去の時点を指すため、現在までを含む現在完了形と通常は直接組み合わせません。
since yesterdayなら「昨日から現在まで」を表せます。
I wentとI have beenはどう違いますか?
I went to Parisは過去のパリ旅行を述べます。
I have been to Parisは「パリに行ったことがある」という訪問経験を表します。
後者は具体的な訪問日時を示しません。
Did youとHave youはどう使い分けますか?
Did youは特定の過去の行動、Have youは経験や現在までの完了を尋ねる場合によく使います。
返答もYes, I did.とYes, I have.を質問に合わせて選びます。
現在完了形でも過去の出来事を表せますか?
はい。現在完了形は、過去に起きた出来事を現在とのつながりから表すことができます。
例えば、過去に鍵をなくした結果、現在も見つかっていない状況などです。
現在完了形でalreadyを使わなくてもよいですか?
はい。文脈だけで完了が伝わる場合は省略できます。
alreadyを使うと「すでに」という意味を明確にできます。
forとsinceの違いは何ですか?
forは「5年間」のような期間、sinceは「2021年から」のような起点を表します。
現在まで続く状態を表す場合、現在完了形とよく組み合わせます。
現在完了形の疑問文はどう作りますか?
have/hasを主語の前に置き、「Have/Has+主語+過去分詞〜?」の順にします。
否定文はhave not・has notを使い、haven’t・hasn’tと短縮できます。
過去形と現在完了形はどう覚えればよいですか?
「昨日何をしたか」は過去形、「これまでに何をしたか」「もう終わったか」「ずっと続いているか」は現在完了形、と場面ごとに例文を覚えるのがおすすめです。
オンライン英会話で過去形と現在完了形を使ってみよう
過去形と現在完了形の違いを理解したら、実際の英会話で使ってみましょう。
例えば、昨日の出来事を過去形で説明したり、これまでの旅行経験を現在完了形で話したりする練習がおすすめです。
QQEnglishのオンライン英会話では、教師との会話を通じて、学んだ英文法を実際に使う練習ができます。
まとめ|過去形と現在完了形は時間の視点で使い分けよう
過去形と現在完了形は、どちらも過去の出来事を表せますが、時間の捉え方が異なります。
使い分けるときは、次の3点を意識しましょう。
- 過去形は過去の出来事や状態を表す
- 現在完了形は過去と現在のつながりを表す
- 時間表現と文脈を確認すると使い分けやすい
例文を比較しながら、伝えたい内容に合った時制を選ぶ練習を続けましょう。

















