ENGLIX / 英文法
英文法

現在完了形と過去形の違い
― 例文でわかる使い分け

英文法の基本 | 読了 約6分

「現在完了形(have/has + 過去分詞)」と「過去形」は、どちらも"過去のこと"を表すので混乱しがちです。でも、たった一つの考え方を押さえれば、迷いはほとんど消えます。この記事では、結論 → 例文比較 → 見分け方 → よくある間違い、の順でスッキリ整理します。

まず結論:たった一言の違い

過去形は「過去の一点」を表し、今とは切り離されています。一方、現在完了形は「過去の出来事が"今"につながっている」ことを表します。過去形は過去を指さすだけ、現在完了形は過去から今へ線を引くイメージです。

I lost my wallet.
I have lost my wallet.

過去形の使い方

過去形は、すでに終わった、過去の出来事を表します。「いつ」起きたかがはっきりしている文と相性が良いのが特徴です。yesterday(昨日)、last week(先週)、〜 ago(〜前)、in 2020(2020年に)などの言葉とよく一緒に使われます。

I watched a movie yesterday.
She lived in Osaka three years ago.

現在完了形の使い方

現在完了形は have / has + 過去分詞 の形で、過去の出来事を「今」と結びつけます。主に次の3つの意味で使われます。

① 経験「〜したことがある」

I have visited Kyoto twice.

② 継続「ずっと〜している」

I have lived in Tokyo for five years.

③ 完了・結果「ちょうど〜した/〜してしまった」

I have just finished my homework.

並べて比べると違いがハッキリする

同じような文でも、過去形か現在完了形かでニュアンスが変わります。

過去形現在完了形
I went to America.
アメリカに行った(過去の事実)
I have been to America.
アメリカに行ったことがある(経験)
Did you eat lunch?
昼ごはん食べた?(過去)
Have you eaten lunch yet?
もう昼ごはん食べた?(今の状態)
He was sick last week.
先週は具合が悪かった(今は不明)
He has been sick since Monday.
月曜からずっと具合が悪い(今も)

特に have been to(行ったことがある=今は戻っている)と have gone to(行ってしまった=今ここにいない)の違いは試験でもよく問われます。

見分けるカギは「一緒に使う言葉」

どちらを使うか迷ったら、文に出てくる"時間の言葉"で判断できます。

過去形と相性が良い現在完了形と相性が良い
yesterday, last week, 〜 ago,
in 2020, when 〜, then
just, already, yet, ever, never,
since 〜, for 〜, recently, so far
重要ルール:yesterday や 〜 ago のように「過去のいつか」がハッキリ決まっている言葉があるときは、現在完了形は使えません。この一点を覚えるだけで、間違いの多くを防げます。

よくある間違い

I have seen him yesterday.
I saw him yesterday.
When have you finished?
When did you finish?

なお、現在完了形でセットになりやすい sincefor は、since が「起点(〜以来)」、for が「期間の長さ(〜の間)」です。例:since 2020 / for five years。

よくある質問(FAQ)

現在完了形に「yesterday」は使えますか?

使えません。yesterday のように「いつ」が具体的に決まっている言葉は過去形と組み合わせます(I saw him yesterday)。現在完了形は just / already / yet / since / for などと使います。

have been to と have gone to の違いは?

have been to は「〜へ行ったことがある(今は戻っている)」という経験、have gone to は「〜へ行ってしまった(今ここにいない)」という結果を表します。

「経験」を表すのはどちらですか?

現在完了形です。ever(今までに)、never(一度も〜ない)、回数(twice, three times)などと一緒に使うと「〜したことがある」という経験の意味になります。

since と for はどう使い分けますか?

since は起点(since Monday=月曜から)、for は期間の長さ(for two years=2年間)を表します。どちらも現在完了形の「継続」でよく使います。

理解できたら、クイズで確かめよう

ENGLIXの文法クイズには、現在完了形の問題が入っています。読んで終わりにせず、実際に解いて定着させましょう。

無料クイズに挑戦する →

まとめ

過去形は「過去の一点」、現在完了形は「過去と今のつながり」。この一言と、「具体的な過去の時点があるときは現在完了形は使わない」というルールを押さえれば、ほとんどの場面で正しく選べます。あとは例文を声に出して、体に染み込ませていきましょう。