← 文法解説一覧に戻る

現在完了形

過去に起きたことが、今の状態や気持ちにつながっていることを表す形です。「いつ」を表す言葉(yesterdayなど)とは一緒に使えません。

現在完了形は「過去のことが今につながっている」という感覚を表す形です。日本語には直接対応する時制がないため、感覚的に理解することが大切です。

継続用法

過去から今までずっと続いていることを表します(for/sinceとよく使われます)。

経験・完了用法

「〜したことがある」という経験や、「ちょうど〜したところ」という完了を表します。

S + have/has + 過去分詞

演習問題(ステップ解説)

例題: 過去形と現在完了形の使い分け

I lived in Tokyo for three years, but now I have lived in Osaka since 2020.

  1. livedは過去形です。「東京に3年間住んでいた」という、今は終わっている過去の状態を表します。
  2. have livedは現在完了形です。sinceがあることから、「2020年から今まで大阪に住み続けている」という継続を表しています。
  3. 過去形は「今とは切り離された過去」、現在完了形は「今につながっている」という違いに注目します。

文脈の中でsince/forの有無や、今も続いているかどうかを見れば、過去形と現在完了形を判別できます。

日本人が間違えやすいポイント

「〜した」という日本語につられて、過去形と現在完了形を混同しがちです。具体的な過去の1点を表すときは過去形、「今も続いている・今につながっている」ときは現在完了形、と使い分けましょう。

よく出るひっかけ問題

"ago"と現在完了は一緒に使えない

✕ I have visited Kyoto two years ago. agoは過去形専用です。現在完了で言うならI visited Kyoto two years ago.が正しくなります。

have been to と have gone to の違い

have been toは「行ったことがある(経験・今はここにいる)」、have gone toは「行ってしまった(今ここにいない)」という違いがあります。

アプリで演習問題を解く・保存する →