Grammar Note
← 一覧に戻る← Back to list
英文法Grammar · UNIT 17

過去完了形Past perfect

過去のある時点までの「〜していた」を表す“Had already done” by a certain point in the past

基本の説明Overview

過去完了形は〈had+過去分詞〉の形で、「過去のある時点(基準時)よりも前に起きたこと」を表します。2つの過去の出来事があるとき、どちらが先だったのかをはっきりさせたい場面で使います。The past perfect (“had + past participle”) describes something that happened before a certain point in the past (the reference point). Use it when two past events are involved and you want to make clear which came first.

考え方のコツは、まず過去の基準時を決めることです。基準時にあたる出来事は過去形(arrived, came など)で言い、それより一歩前の出来事を had+過去分詞で言います。たとえば「私が駅に着いたとき、電車はもう出ていた」なら、「着いた」が基準時(過去形)、「出ていた」がその前(過去完了)です。The trick is to decide on the past reference point first. Say the event at that point in the simple past (arrived, came…), and say the earlier event with had + past participle. In “The train had already left when I arrived,” arriving is the reference point (simple past) and leaving happened before it (past perfect).

過去完了は、現在完了形の3つの意味(完了・経験・継続)をそのまま「過去の基準時」までずらしたものと考えられます。さらに、現在完了にはない「過去の過去」(大過去)を表す使い方もあります。had はどんな主語でも同じ形で、主語によって変わりません。You can think of the past perfect as the three meanings of the present perfect (completion, experience, continuation) moved back to a past reference point. It also has one use the present perfect lacks: “the past before the past.” Had stays the same for every subject.

用法Use意味Meaningよく使われる語句Common words
完了・結果Completion / result(その時までに)〜してしまっていたhad already done by thenalready, just, yet
経験Experience(その時までに)〜したことがあったhad done it before thenever, never, before, once, twice
継続Continuation(その時まで)ずっと〜していたhad been in a state until thenfor, since, how long
過去の過去(大過去)The past before the past過去の出来事より前に〜していたdid something earlier than another past eventbefore, after, when, by the time
肯定文:主語 + had + 過去分詞 〜. 否定文:主語 + had not (hadn't) + 過去分詞 〜. 疑問文:Had + 主語 + 過去分詞 〜?Statement: Subject + had + past participle ~. Negative: Subject + had not (hadn't) + past participle ~. Question: Had + subject + past participle ~?疑問文・否定文は、現在完了の have/has を had に変えるだけ。I had は I'd と短縮できるが、I'd は I would の短縮にもなるので、あとに続く形(過去分詞なら had)で判断する。To make a question or negative, just use had in place of have/has. I had can be shortened to I'd, but I'd can also mean I would, so check what follows (a past participle means had).

なお、before や after で順序がはっきり分かる文では、過去完了のかわりに過去形を使うこともよくあります。過去完了は、「この出来事のほうが先だった」と強調したいときや、順序が文だけでは分かりにくいときに特に役立ちます。When before or after already makes the order clear, the simple past is often used instead of the past perfect. The past perfect is especially useful when you want to stress “this happened first,” or when the order would otherwise be unclear.

例文で確認Example sentences

① 完了・結果(すでに〜していた)1. Completion / result (had already done)

The train had already left when I arrived at the station.
私が駅に着いたとき、電車はすでに出発していました。
「着いた」が基準時(過去形)、「出発していた」がその前(過去完了)。Arriving is the reference point (simple past); leaving came before it (past perfect).
When Mika got home, her mother had already cooked dinner.
ミカが帰宅したとき、お母さんはすでに夕食を作り終えていました。
I had just finished my homework when Ken called me.
ケンが電話をくれたとき、私はちょうど宿題を終えたところでした。
just(ちょうど)は had と過去分詞の間に置く。just goes between had and the past participle.
The movie had already started when we got to the theater.
私たちが映画館に着いたとき、映画はもう始まっていました。

② 経験(それまでに〜したことがあった)2. Experience (had done it before)

I had never seen snow before I visited Canada.
カナダを訪れる前、私は雪を見たことが一度もありませんでした。
never は had と過去分詞の間に置く。never goes between had and the past participle.
Tom had played tennis only once before he joined the club.
トムはクラブに入る前に、テニスをしたのは一度だけでした。
Mika had read the book twice before she saw the movie.
ミカは映画を見る前に、その本を2回読んでいました。
Had you ever eaten sushi before you came to Japan?
あなたは日本に来る前に、すしを食べたことがありましたか。
Yes, I had. / No, I hadn't. で答える。Answer with Yes, I had. / No, I hadn't.

③ 継続(それまでずっと〜だった)3. Continuation (had been … until then)

Ken had lived in Osaka for ten years when he moved to Tokyo.
ケンは東京に引っ越したとき、大阪に10年間住んでいました。
for ten years(〜の間)が継続を表す目印。for ten years is the clue that this is continuation.
They had been friends since they were children.
彼らは子どものころからずっと友だちでした。
since のあとが過去形なら、主節は過去完了にする。When the since-clause is in the simple past, the main clause uses the past perfect.
Emi had been sick for three days before she went to the hospital.
エミは病院に行く前、3日間ずっと具合が悪かった。
We had waited for an hour when the bus finally came.
私たちは1時間待ったところで、ようやくバスが来ました。

④ 過去の過去(時の前後をはっきりさせる)4. The past before the past (making the order clear)

After he had eaten lunch, he went back to work.
昼食を食べ終えてから、彼は仕事にもどりました。
after のあとが先に起きたこと。The action after “after” happened first.
By the time we got there, the concert had started.
私たちがそこに着いたときには、コンサートはすでに始まっていました。
by the time(〜するときまでには)は過去完了とよく使われる。by the time often goes with the past perfect.
I lost the key that my father had given me.
私は父がくれたかぎをなくしました。
「くれた」のは「なくした」より前なので過去完了。Dad gave the key before I lost it, so the past perfect is used.
When I woke up, it had stopped raining.
目が覚めたとき、雨はやんでいました。

⑤ 疑問文・否定文5. Questions and negatives

Had the bus left when you arrived?
あなたが着いたとき、バスはもう出ていましたか。
Had を主語の前に出す。Had moves in front of the subject.
I hadn't finished my homework, so I couldn't go out.
私は宿題を終えていなかったので、外出できませんでした。
hadn't は had not の短縮形。hadn't is the short form of had not.
He had not eaten anything all day, so he was very hungry.
彼は一日じゅう何も食べていなかったので、とてもおなかがすいていました。

⑥ 過去形との使い分け6. Simple past or past perfect?

After he finished lunch, he went back to work.
昼食を終えてから、彼は仕事にもどりました。
after で順序が明らかなので、過去形でもよい(④の had eaten と意味は同じ)。After makes the order clear, so the simple past is fine too (same meaning as had eaten in group 4).
I was late for school because I had missed the first train.
私は始発の電車に乗りそこねたので、学校に遅れました。
遅れた(基準時)より前の原因なので過去完了。The missed train is the cause and came before being late, so the past perfect is used.

確認クイズQuick check

空所に適切な語を入れましょう(カッコ内の動詞は適切な形に直します)。Fill in each blank (put the verb in brackets into the right form).

  1. The movie ___ already started when we arrived at the theater.
    答えを見るShow the answer
    had — 「着いた」より前に始まっていたので had+過去分詞。主語に関係なく had を使う。The movie started before we arrived, so had + past participle. Had is used with every subject.
  2. When Ken arrived, I ___ ___ my homework. (finish)
    答えを見るShow the answer
    had finished — ケンが着いた(過去)より前に終えていたので、had finished。I finished before Ken arrived, so had finished.
  3. Mika was tired because she ___ ___ up late the night before. (stay)
    答えを見るShow the answer
    had stayed — 疲れていた時点より前の原因なので過去完了。stay の過去分詞は stayed。The cause came before the tired time, so the past perfect. The past participle of stay is stayed.
  4. We were hungry because we ___ ___ lunch. (not eat)
    答えを見るShow the answer
    hadn't eaten(had not eaten) — 否定文は had のあとに not を置く。eat の過去分詞は eaten。For a negative, put not after had. The past participle of eat is eaten.
  5. ___ you ever ___ a horse before that day? (ride)
    答えを見るShow the answer
    Had / ridden — 疑問文は Had を主語の前に出す。ride - rode - ridden。A question starts with Had before the subject. ride - rode - ridden.
  6. Tom had ___ sick for three days when he saw a doctor. (be)
    答えを見るShow the answer
    been — had のあとは過去分詞。be の過去分詞は been(継続の用法)。After had comes a past participle. The past participle of be is been (continuation).

おさえておきたいポイントKey points

  • 過去完了は〈had+過去分詞〉。主語が何であっても had の形は変わらないThe past perfect is had + past participle, and had never changes with the subject
  • 基準時(過去形で表す)より前の出来事を、had+過去分詞で表すThe event before the reference point (in the simple past) is expressed with had + past participle
  • 現在完了の3用法(完了・経験・継続)が過去の基準時にずれた形。加えて「過去の過去(大過去)」の用法があるIt is the three present-perfect meanings (completion, experience, continuation) moved back to a past point, plus the “past before the past” use
  • 疑問文は Had を主語の前に出し、否定文は had not(hadn't)にするFor a question, put Had before the subject; for a negative, use had not (hadn't)
  • before / after で順序が明らかな文では、過去形でもよい。過去完了は「先だった」ことを強調したいときに役立つWhen before / after already shows the order, the simple past is fine; the past perfect helps when you want to stress “this came first”
  • I'd は I had と I would のどちらの短縮にもなる。あとに続く語(過去分詞か動詞の原形か)で見分けるI'd can be short for I had or I would; tell them apart by what follows (a past participle or a base verb)
よくある間違いCommon mistake:"The train has already left when I arrived." ✗ → "The train had already left when I arrived." ✓ 過去の基準時(arrived)より前の出来事なので、have/has ではなく had を使います。"The train has already left when I arrived." ✗ → "The train had already left when I arrived." ✓ The event came before a past reference point (arrived), so use had, not have/has.
よくある間違いCommon mistake:"Tom had went home before I came." ✗ → "Tom had gone home before I came." ✓ had のあとは過去形ではなく過去分詞(go - went - gone)です。"Tom had went home before I came." ✗ → "Tom had gone home before I came." ✓ After had comes the past participle, not the simple past (go - went - gone).
よくある間違いCommon mistake:"Did you had finished it?" ✗ → "Had you finished it?" ✓ 過去完了の疑問文は did ではなく、Had を主語の前に出して作ります。"Did you had finished it?" ✗ → "Had you finished it?" ✓ Make a past perfect question by putting Had before the subject, not by using did.