【完了形マスター】現在完了形と過去完了形の違い・使い分けを例文で徹底解説!

この記事では、混乱しがちな現在完了形と過去完了形の違いを例文を使って解説します。
また、現在完了形と現在形の違い過去完了形と過去形の違いも合わせて整理していきます。

現在完了形(have/has + 過去分詞)

過去 ----------------→ 現在
↑(過去から現在までの状態・行為)

現在完了形は、「過去に起こっていて、今に何らかの関係がある」ことを意味し、経験・継続・完了の3つの用法があります。

1. 経験(今までに〜したことがある)

<例文>
I have been to Paris twice.
私はパリに2回行ったことがある。

She has never seen snow.
彼女は雪を見たことがない。

Have you ever tried sushi?
お寿司を食べたことある?

※“ever” (今までに)“never”(〜したことない) がよく一緒に使われます。

2. 継続(ずっと〜している)

<例文>
I have lived in Tokyo for ten years.
私は10年間東京に住んでいる。

She has known him since high school.
彼女は高校のときから彼のことを知っている。

We have studied English for three hours.
私たちは3時間英語を勉強している。

※"for(〜の間)"since(〜から)"がよく一緒に使われます。

3. 完了(すでに〜したところ/もう〜してしまった)

<例文>
I have just finished my homework.
ちょうど宿題を終えたところだ。

He has already left the office.
彼はすでに会社を出た。

Have you done the dishes yet?
もう皿洗いした?

※「終わった事実」+「今の状態」
※“already(すでに)”, “just(ちょうど)”, “yet(もう・まだ)” がよく一緒に使われます。

過去完了形(had + 過去分詞)

さらに前の過去 ----------------→ 過去----------------→ 現在
(さらに前の過去から過去までの状態・行為)

過去完了形は、「ある過去の時点よりもさらに前に完了していた出来事」を表します(過去の過去)。
現在完了形と同じく経験・継続・完了の3つの用法があります。

1. 経験(過去のある時点までに~した経験がある)

<例文>
The train had already left when we arrived at the station.
私たちが駅に着いた時、電車はすでに出発してしまっていた。

She said she had never seen a panda before that day.
彼女はその日までに、パンダを見たことが一度もなかったと言いました。

He had traveled abroad many times by the time he turned twenty.
彼は20歳になるまでに、何度も海外旅行をしたことがありました。

※once (一度)、twice (二度)、many times (何度も)、またはnever (一度も〜ない) 等がよく一緒に使われます。
※経験を意味する「〜に行ったことがある」は、had been to で表されます。

2. 継続(過去のある時点まで動作や状態が継続していた)

<例文>
He told me that he had been to France twice.
彼は、私に話した時までにフランスに2度行ったことがある、と私に話した。

It had been raining heavily since morning when I woke up.
私が目を覚ました時、朝から雨が激しく降り続いていました。

They had known each other since childhood before they started dating.
彼らは付き合い始めるまで、子供の頃からお互いを知っていました。

※for three years (3年間)、since 2010 (2010年から) など、期間の長さを表す語句が伴うことが多いです。
※過去完了進行形 (had been doing) も継続を表しますが、状態動詞(live, knowなど)は過去完了形を使います。

3. 完了(過去のある時点までに動作が完了した、その結果が残っている)

<例文>
They had known each other for seven years when they got married.
彼らが結婚した時、知り合って7年目だった。

The movie had already finished when we arrived at the theater.
私たちが劇場に着いた時には、映画はすでに終わっていました。

I realized I had left my wallet at home after I got on the bus.
私はバスに乗った後で、家に財布を置いてきたことに気がつきました。

※already (すでに)、just (ちょうど)、yet (まだ) などの副詞が、動作の完了のタイミングを明確にするためによく使われます。

現在形・過去形との違い

現在形

過去----------------→現在----------------→未来
(現在の状態/習慣/一般的な事実や心理)

現在の「一点」の事実や、恒常的な状態を表します。

過去形

過去--------------→現在----------------→未来
(過去の時間軸上の特定の場所(点)で起こった動作や状態)

過去のある一時点での出来事を示します。(現在のことは分からない)

現在形・過去形と、現在完了形・過去完了形の違い

現在形・過去形
(点のイメージ)
現在完了形
(線のイメージ)
過去完了形
(線のイメージ)
<現在形>
He goes to the gym everyday.
彼は毎日ジムに通っている。
(現在の習慣)<過去形>
He went to the gym everyday last year.
彼は去年毎日ジムに通っていた。
(過去の習慣)
He has gone to the gym.
彼はジムに行ってしまった (今ここにいない)。
He had gone to the gym when I finally called him.
私がようやく彼に電話をした時、彼はすでにジムへ行ってしまっていた。
<現在形>
I live in London.
私はロンドンに住んでいる。
(現在の状態)<過去形>
I lived in London when I was a kid.
私は子供の頃ロンドンに住んでいた。
(過去のある一時点の状態)
I have lived in London for 3 years.
私はロンドンに3年間住み続けている。
I had lived in London for 3 years when she got married.
私は結婚した時ロンドンに3年間住み続けていた。

英語学習オススメ本

英語単語の使い分けやニュアンスの違いを一目でわかるイラストで表現していて分かり易い。

中学英語が全ての基本。文法の学び直しに最適な一冊。

「中田敦彦のYouTube大学」でも話題!

関連キーワード

Xでフォローしよう