解説記事 — フレーズフレーズミー

動詞の形(時制)

過去完了形 had done の使いどころ|「過去よりさらに前」を表す形

30秒でわかる

過去完了(had+過去分詞)は「過去のある時点から、さらに前を振り返る」形です。使う条件はひとつ——文の中に基準になる過去の時点(尋ねた・帰った・会った、など)があること。「彼は私にどんなプレゼントをあげたのか尋ねた」なら、あげたのは尋ねたより前なので had given。基準の時点がない、ただの過去の話に had を使うと逆に減点されます。

×He asked me what present I have given her.
He asked me what present I had given her.

まず、実際の間違いを見てください

次の3つは、当サービスの人手添削で実際に繰り返し指摘された誤答です(回数は同じ間違いが添削された実測値)。

例文: あなたは私のためにそのような高い誕生日プレゼントを買う必要はなかったのに。

×You didn't have to buy such an expensive present for my birthday.92回
You should not have bought such an expensive present for my birthday.

「買う必要はなかったのに(実際は買ってしまった)」という過去への振り返りは、助動詞+have+過去分詞で表します。didn't have to buy だと「買わなくてよかった(だから買っていない)」という別の事実になります。

例文: 高校の時もっと英語を一生懸命勉強しておけばよかった。

×I wish I studied English harder in high school.51回
I wish I had studied English harder in high school.

「勉強しておけばよかった」=実際は勉強しなかった、という過去の事実の逆を願う文。過去の事実に反する願望は had+過去分詞で表します(過去形 studied だと「今」の願望になってしまいます)。

例文: 私が彼女にどんなプレゼントをあげたのか、彼は私に尋ねた。

×He asked me what present I have given her.39回
He asked me what present I had given her.

プレゼントをあげたのは「尋ねた」時点よりさらに前。基準(asked)が過去にあるので、そこから前を指すには have でなく had です。現在完了は「今」から振り返る形なので、ここでは使えません。

第44位

「過去完了形」のミスは、よくある誤り全222タイプの中で第44位。当サービスの人手添削12年分で2,401回指摘されました。使うべき場面で使わない誤りと、いらない場面で使ってしまう誤りの、両方向がある珍しいタイプです。

なぜ間違えるか——日本語のクセ

日本語では「彼は私にどんなプレゼントをあげたのか尋ねた」「会ったときにはもう大人になっていた」のように、「た」と「ていた」で前後関係をゆるく示すだけで通じます。どちらが先に起きたかは、聞き手が文脈から読み取ってくれるからです。

英語では、動詞の形そのものに前後関係を背負わせます。過去の話の中に「それより前」が出てきたら、前の側を had+過去分詞にして一段さげる——この「時間の二階建て」が日本語にない発想なので、全部を過去形で書いてしまう(have given/gave のまま)誤りと、逆に過去の話だからと何でも had にしてしまう誤りの両方が起きます。

now asked(基準の過去) had given 基準の過去へ届く矢印 → 過去完了 stayed(基準なし・過去の一点) 基準になる別の過去がない → ただの過去形
過去完了は「基準の過去(asked)」へ届く矢印(上)。基準になる別の過去時点がなければ、矢印の着地点がないので過去形のまま(下)。

図を言葉にすると——過去完了が使えるのは、文の中に着地点となる過去の時点があるときだけです。「私はアメリカで1年間ホームステイしていた」のように基準の時点がない文は、「していた」でも過去形 I stayed が正解で、had stayed は減点です。

こう考える——書くときの判断手順

  1. 文の中に基準になる過去の時点(尋ねた・会った・帰った・言った)があるか?——なければ「していた」でもただの過去形(I stayed with a family in America for a year.)
  2. 基準があるなら、その出来事は基準より前か?——前なら had+過去分詞(asked より前にあげた → had given。会ったときには大人になっていた → had become)
  3. said・heard など伝達の動詞の中身が、発言よりさらに前の話なら had+過去分詞(He said that his leg had hurt very much.)——ただし主節が過去だからと機械的に had にはしない。同時の内容なら過去形のままです
  4. 「〜しておけばよかった」「〜すべきでなかったのに」など過去の事実の逆は、I wish I had done/should not have done の形

ここまでは同じ、ここからは別

前後関係が when や before で明らかなときは、過去完了にしなくても正解です。He asked me what present I gave her. のように過去形で並べても通じるので、当サービスの採点でも両方を認めています(had を使うなら形は had given——had gave は形の誤りで減点です)。過去完了は「二つの時点に差があることを示したいとき」の道具であって、義務ではありません。

一方、基準の時点まで動作がずっと続いていた場合は、進行形と合体した過去完了進行形 had been doing になります(公園に着いたとき、マイケルはすでに2時間以上読んでいた → Michael had already been reading for more than two hours.)。この「ずっと」の現在版 have been doing は現在完了進行形の記事で扱っています。また「今」から振り返る現在完了そのものの使いどころは現在完了の記事を、過去形と現在完了の境目は過去形の記事を参照してください。

まとめ——書いたあとのチェック

この間違い、自分もやるか試してみる

この記事で見た「彼は足がとても痛かったと言った。」を、実際に英語で書いてみてください。「言った」より前の「痛かった」をどの形にするかが、そのまま試される問題です。書いた英文は AI がその場で採点します(登録は不要です)。

「彼は足がとても痛かったと言った。」を英語で書いてみる登録なしで、この1問をAIが採点します

データについて: 本文の回数・割合は、フレーズフレーズミーの人手添削データ12年分の集計値です(添削と誤りタグの照合 655,994回のうち、本記事のタグ「過去完了形 had done の意味と用法」への照合が 2,401回・0.4%。集計 2026-08-14)。誤答例の「◯回」は、同じ間違いが人手添削と照合された回数です。誤答例はいずれも実際の学習者の答案に現れた文で、個人が特定できる情報は含みません。

著者: 株式会社コンテンツアンドシステムズ(人手添削18.4万件・採点基準416問を運営する、ITと教育の融合をミッションとする会社です)。データの出どころと記事の作り方は運営者とデータについてをご覧ください。

← 解説記事の一覧フレーズフレーズミーをはじめる