当サイトはアフィリエイト広告を利用しています。

英語の時制の中でも、特に混乱しやすいのが「過去形」と「過去完了形」 の使い分けです。どちらも「過去の出来事」を表すのに、どう違うのか?
この記事では、過去形との違い・過去完了形を使う場面を、分かりやすく整理します。
ポイントさえ押さえれば、過去完了形は「理屈で理解できる時制」です。5分で読めて、初心者の方でも「どちらを使えばいい?」がクリアになりますよ。
- 過去形 vs 過去完了形|基本の違い
- 過去完了形の3つの用法
- 過去形を使う3つの場面
- 過去完了形のよくある間違い
- ネイティブの日常会話での使い方
- 現在完了形の用法
- 過去・現在完了・過去完了の比較
- よくある質問(FAQ)
- まとめ
過去形 vs 過去完了形|基本の違い
過去完了形は、「had+過去分詞」の形です。
「ある時点の過去(A)よりさらなる過去(B)から、ある時点の過去(A)まで」という2つの点を線でつないだものを示します。
対して、過去形は「ある時点の過去」という1つのみです。
イメージとして、過去形は「過去のある時点」という「点」、過去完了形は「大過去」から「過去のある時点」までの「線」。

使い分けの3つのポイント
過去完了形か過去形か、使い分けるためのポイントは3つ。3つとも当てはまれば、過去完了形を使います。
- .2つの過去 (A) (B) がある時
- .2つの過去 (A) (B) に時間差がある時
- .2つの過去 (A) (B) で前後関係を示したい時
過去の出来事が1つだけなら、過去形でOKです。
過去完了形 vs 過去形の早見表
| 文法 | 使う場面 | よく使う単語 | |
|---|---|---|---|
| 過去完了形 | had 過去分詞 | さらなる過去 過去 | already, before, when |
| 過去形 | 動詞の過去形 | 過去の1時点 | yesterday, ago など |
過去完了形の3つの用法



こちらでは、『Fundamentals of English Grammar』 にならって、3つの用法に分けて見ていきます。
「完了・結果」の用法
過去完了形は、その状態や行為が、「ある時点の過去(A)」で完了している場合に使われます。
- よく使われる語:
when(~の時)、by the time(~までに)、before(~の前に)
already(すでに)、just(ちょうど)

- 【完了・結果】:「~してしまっていた」
- 「ある時点の過去 (A)」で、その行為や状態が完了している
- By the time class was over in this morning, the rain had stopped.
(今朝授業が授業が終わる頃には雨は止んでいた) - I had eaten when Bob came.
(ボブが来た時、食事を終えていた) - Last night I went to bed at ten o'clock. I had already finished my homework.
(昨晩は10時に寝た。宿題はすでに終えていた) - I had finished the report before the meeting started.
(会議が始まる前に報告書を終えていた) - The ground was wet because it had rained earlier.
(先ほど雨が降ったため地面は濡れていた) - She was exhausted because she had worked all night.
(彼女は一晩中働いていたので疲れ果てていた)
「経験」の用法
「ある時点の過去(A)」までの間、その行為を1回、もしくは複数回「行った経験がある」場合です。
- よく使われる語:
twice(2回)、never(1度もない)、ever(これまでに)など
- 【経験】:「したことがあった」
- 「ある時点の過去 (A)」までに、その行為を行ったことがある
- She had never seen snow until she went to Canada.
(彼女はカナダに行くまで雪を見たことがなかった) - He had flown in a helicopter once before the accident.
(彼は事故の前に一度ヘリコプターに乗ったことがあった) - We had tried that dish before, so we knew what to expect.
(以前にその料理を食べたことがあるので、どんな味か分かっていた) - I’d seen all of Elvis Presley’s movies by the time I was 20!
(20歳になるまでにエルヴィス・プレスリーの映画を全部見ていた!) - I’d been to five countries in Europe by 2001.
(2001年までにヨーロッパの5カ国を訪れた)
「継続」の用法
「ある時点の過去(A)」まで、その行為や状態が「ずっと継続していた」ことを示します。
- よく使われる語:
since(~以来)、for(~の間)
- 【継続】:「~していた」
- 「ある時点の過去 (A)」まで、その行為や状態がずっと続いていた
- She had lived in Kyoto for ten years before she moved to Tokyo.
(彼女は東京に引っ越す前、10年間京都に住んでいた) - We had been friends since childhood until that argument ended it all.
(あの口論が全てを終わらせるまで、私たちは幼なじみの友達だった) - He had worked at the same company for 25 years before retiring.
(彼は同じ会社に25年間勤めた後、退職した) - They had stayed at the hotel for a week before checking out.
(彼らはチェックアウトする前にホテルに1週間滞在した) - I had studied French for three years before switching to Spanish.
(スペイン語に転向する前に、3年間フランス語を勉強していた)
過去完了進行形 の使いどころ


| 文法 | ニュアンス | |
|---|---|---|
| 過去進行形 | was/were 過去分詞 | 過去のある時点で、その動作が進行中だった |
| 過去完了進行形 | had been 過去分詞 | 直前またはその時点まで、動作が継続していた |
過去進行形
「ある時点の過去」で、まだ行為が継続・進行中であれば、過去進行形になります。「行為が進行中だった」ことを示す、最も一般的な表現。
あくまでその時点でのことを言っているだけで、それより前のことは分かりません。
過去完了進行形
一方、過去完了進行形は、「ある時点の過去」までの継続を強調します。すなわち「ある時点の過去」より前から、その行為や状態が始まっていたわけです。
単に「最中だった」というより、「(ある程度の時間)続いていた」という時間の経過や継続状況に焦点が当たっています。
- I was eating when Bob came.
(食べている時に、ボブが来た) - I had been eating when Bob came.
(食べ続けていたところに、ボブが来た)
- When I left for school this morning, it was raining.
(今朝学校に行く時、雨が降っていた) - When I left for school this morning, it had been raining.
(今朝学校に行く時、ずっと雨が降り続いていた)
状態動詞は進行形がNG
know や live や have などは、基本的には「状態」を表す動詞のため、進行形になりません。
- He had been living in this city since 2000.
- He lived in this city in 2000.
(彼は2000年にこの市に住んでいた) - He had lived in this city since 2000 before he moved abroad in 2020.
(2020年に海外に引っ越す前は、2000年からこの市に住んでいた)

過去形を使う3つの場面
過去形は、「ある時点の過去」の行為や状態について言っています。具体的に「いつ」か示されていれば、過去完了形でなく過去形です。
- 過去形を使う場合:
- .過去の「いつ」か明示されている時
- .過去の習慣を表す時
- .過去の2つの出来事の時間差がない時
過去の「いつ」か明示
yesterday, last week, in 2020 など、特定の時点が明確な場合です。
- I am not hungry now. I ate before noon.
(今はお腹はすいていない。昼前に食べた) - I met Ann's husband at a party last week.
(先週パーティーでアンのご主人に会った) - Mary walked downtown yesterday.
(メアリーは昨日ダウンタウンを歩いた) - Bob stayed home yesterday morning.
(ボブは昨日の朝は家にいた)
過去の習慣を表す
used to(よく~したものだ、昔は~していた), would(~したものだった)を伴って、過去の習慣や反復行動を表します。
- She used to live in Glasgow.
(彼女はかつてグラスゴーに住んでいた) - She used to love dancing, but she doesn't do it any more.
(彼女はかつてはダンスが大好きだったが、今は踊らない) - Every morning we would walk in the garden.
(毎朝庭を散歩した) - We would visit Grandma every morning up at the farm.
(毎朝農場にいる祖母を訪ねていた)
過去の出来事が同時発生
when でつながって、2つの出来事があれば「完了形」…というわけではありません。その2つが、時間差がなく同時であれば、「過去形」です。
- I loved history when I was at school.
(学生の頃、歴史が大好きだった) - He was shocked when I told him.
(彼にそれを話すと彼はショックを受けた) - I was just getting into the bath when the phone rang.
(ちょうどお風呂に入っている時に電話が鳴った)
過去完了形のよくある間違い
just now を過去完了形で使う
- I had finished my homework just now.
- I finished my homework just now.
(ちょうど今宿題を終えた)
- just now は「現在に近い直前」という特定の時点を表すため、完了形(現在完了・過去完了とも)は不自然
過去の特定時期に過去完了形を使う
- He had graduated in 2010.
- He graduated in 2010.
(彼は2010年に卒業した)
- When I was a child, I had visited Japan.
- When I was a child, I visited Japan.
(子供の頃、日本を訪れた)
- in 2010 は明確な過去の時点、when I was a child も過去の特定の時期なので、単純過去で十分
before があれば過去完了形という思い込み
- I had met her before lunch yesterday.
- I met her before lunch yesterday.
(昨日昼食前に彼女に会った) - I had met her before I joined the meeting.
(会議に参加する前に彼女に会っていた)
- 過去の出来事同士で、時間差がない場合は過去形が自然。時間差があれば、過去完了
時間差のない動作に過去完了形を使う
- He had opened the door and walked in.
- He opened the door and walked in.
(彼はドアを開けて中に入った)
- opened と walked は連続した動作で、時間差がない
過去進行形と混同
- She was cooking dinner when I arrived.
(到着した時、彼女は夕食を作っていた) - She had been cooking dinner when I arrived.
(到着した時までずっと、彼女は夕食を作っていた)
- どちらも正しいが、過去完了進行形は「その時点まで継続していた」ニュアンス
ネイティブの日常会話での使い方
ネイティブは、過去完了が使える場面でも、過去形で代用することがよくあります。これは、「意味が通じる」「文脈が明確」「口語で簡潔にしたい」などの理由から。
もちろん、過去完了形を使うほうがより正確なものの、日常会話では過去形で言うことが多いです。
過去形で代用する主な傾向
.文脈で時間関係が明らかな場合
2つの過去の出来事の順序が明白で、過去完了を使わなくても誤解されない時は、過去形で済ませたりします。
- I got home and realized I left my phone at the café.
(家に帰ってから、携帯電話をカフェに置き忘れたことに気付いた) - I got home and realized I had left my phone at the café.
(家に帰ってから、携帯電話をカフェに置き忘れたことに気付いた)
.接続詞が順序を補っている場合
before, when などの接続詞で前後関係が分かるため、過去形でも十分OK。ただ少しニュアンスが変わります。
- She finished dinner before he arrived.
(彼が到着する前に彼女は夕食を終えた) - She had finished dinner before he arrived.
(彼が到着する前に彼女は夕食を終えていた)
.口語・会話で簡潔にしたい場合
過去完了は、やや書き言葉寄りなので、話し言葉では過去形で済ませるのが普通。
以下の例文は、2つの出来事に時間差があるかどうか、はっきりしません。また last week(先週)という特定時期があり。この場合は、過去形のほうが自然です。
- I met her last week. We talked like old friends.
(先週彼女に会った。まるで昔からの友達のように話した)
ただし、時間関係が曖昧になったり、因果関係・継続・経験を強調したい場合は、過去完了が必要です。 ネイティブもそのような場面ではしっかり使い分けます。
現在完了形の用法
現在完了形は、「過去のある時点」から「現在」までの「線」のイメージです。過去完了形とパターンは大体同じ。

質問です。以下の会話では、Bob は現在完了形なのに、Mike は過去形を使ってます。なぜでしょう?
- Bob: I haven't seen you in a long time. Where have you been?
(しばらく見なかったな。どこへ行ってたんだ?) - Mike: I went to California last week to visit my brother.
(先週、兄貴に会いにカリフォルニアへ行ったんだ)
答えは簡単。Mike のほうは last week という「過去の特定の時点」を示す語句があるから。「過去の時点」を表す語句を伴えば、現在完了形にはなりません。
- I didn't see Mike last week.
(先週マイクを見なかった) - I haven't seen Mike last week.
現在完了形は、「過去の時点」が示されていない場合にのみ使える
「完了・結果」の用法
現在完了形も、過去完了形の時と同様に、3つの用法に分けられます。
ひとつは、過去にした行為が、現在は「完了している」場合。しばしば already(すでに)や just(ちょぅど)と一緒に使われます。

- He has already eaten lunch.
(彼はすでに昼食を食べた) - My friends have moved into a new apartment.
(友達が新しいアパートに引っ越した) - I've just finished my homework.
(ちょうど宿題を終えたところだ)
完了形では just now はNG
注意点として、just ではなく、just now(ちょうど今)だと、「今」と特定してしまっているため、現在完了は使えません。その場合は過去形です。
- I finished my homework just now.
(ちょうど今宿題を終えた) - I've finished my homework just now.


「経験」の用法
その行為を「現在まで何度か繰り返している」「したことがある」場合です。
よく so far(今までのところ)や、several times(数回)、many times(何度も)など、回数を表す語句が付いたりします。

- He has eaten at the restaurant five or six times.
(彼はあのレストランで5~6回食事した) - I've had three tests so far.
(今までのところテストが3つあった) - Have you ever eaten at that restaurant?
(今までにそのレストランで食事した?)
「継続」の用法
過去のある時点から「行為・状況」が現在まで続いていて、よく for や since を伴います。

- I have known him for ten years.
(彼と知り合って10年経つ) - He has lived in this city since 2000.
(彼は2000年からこの市に住んでいる)
現在も「継続中」の場合
現在進行形か、現在完了進行形か、どちらかを使えばOKです。
現在進行形
現在進行形は、単に「現時点で継続・進行している」ことを示します。今現在は継続していると言うだけで、過去については一切触れていません。
- Adam is sleeping right now.
(アダムはちょうど今眠っている) - Rita is talking to Josh on the phone.
(リタはジョシュと電話で話している)
現在完了進行形
こちらは「過去のある時点から現在まで、ずっと継続中」の状況です。
- Adam has been sleeping for two hours.
(アダムは2時間ずっと眠っている) - Rita has been talking to Josh on the phone for twenty minutes.
(リタはジョシュと20分ずっと電話で話している)

過去・現在完了・過去完了の比較
| 形(例:live) | 用法のポイント | |
|---|---|---|
| 過去形 | I lived | 過去のある時点での事実・出来事。現在とは関係しない |
| 現在完了形 | I have lived | 過去から現在までの経験・継続・結果。現在と関係する |
| 過去完了形 | I had lived | 過去の時点(A)より前の出来事や状態。過去の時点(A)と関係する |
live(住む)の場合
- I lived in New York in 2015.
(2015年にニューヨークに住んでいた) - I have lived in New York for three years.
(ニューヨークに3年間住んでいる) - I had lived in New York before I got married.
(結婚する前はニューヨークに住んでいた)
read(読む)の場合
- I read that book last summer.
(去年の夏にその本を読んだ) - I have read that book twice.
(その本を2回読んだことがある) - I had read that book before the exam.
(試験の前にその本を読んでいた)
see(見る)の場合
- I saw that movie last night.
(昨夜その映画を見た) - I have seen that movie three times.
(その映画を3回見たことがある) - I had seen that movie before it was released on DVD.
(その映画をDVD発売前にすでに見ていた)
「2つの別々の過去の出来事」がある場合に限り、過去完了形を使う
よくある質問(FAQ)
過去完了形と過去形の一番の違いは何?

一番の違いは「時間軸の扱い方」です。過去形:過去の1つの時点だけを表す、過去完了形:過去のある時点より前からその時点までを表す
文中に「2つの過去の出来事」があり、前後関係を示したい時は過去完了形を使います。過去の出来事が1つだけなら過去形でOKです
before や when があれば、必ず過去完了形を使う?

いいえ、必ずしもそうではありません。文の順序や意味がはっきりしていれば、過去形でも問題ない場合があります。完了・結果を強調したい時や、2つの過去の時間差を明確にしたい時に過去完了形を使います
「昨日」や「先週」など過去の特定時期があると、過去完了形は使えない?

原則として使えません。過去完了形は「いつの過去か明記しない」のが基本です。yesterday や last week など、具体的な過去の時点を示す語句がある場合は、過去形を使います
過去完了形と過去完了進行形はどう違う?

過去完了形は「過去のある時点までに終わっている」ことを示し、過去完了進行形は「過去のある時点までずっと続いていた『行為』」を表します。『行為』が継続していたか、終わっていたかで使い分けます
ネイティブスピーカーは過去完了形を必ず使う?

カジュアルな会話では、過去形で代用することが多いです。ただし、日常会話では過去形でも通じますが、正確に伝えたい時・試験・フォーマルな場面では過去完了形を使うのがベストです
まとめ
完了形は、日常でも結構使う機会が多いです。会話でパッと口から出せたら、学習を続ける自信にもなりますよ。
言葉を身につけるには、実際に言葉を話す環境を作るのが一番の近道です。
AIと英語で英会話
『スピークバディ』はスピーキング練習として、使いやすく続けやすいです。
ストーリー仕立てになっていて、AIキャラと会話していく形式。スキットが800以上あってレベル判定もできるので、自分の英語力が客観的に測れます。
「話すのが苦手」という方は、試してみてください。
スマホで話せるAI英会話【スピークバディ】 ![]()
開発元:SpeakBUDDY Ltd.
Apple 評価: 4.5
Google 評価: 4.3
少しでも理解の助けになれたら幸いです。お読みいただき、ありがとうございました。
(引用・参照元: Fundamentals of English Grammar, Cambridge Dictionary, The Free Dictionary)