have done(現在完了形)とhad done(過去完了形)の違いがはっきり分からないと感じている英語学習者の方は多いので、今日はこれらを使い分けるための整理をします。学習の優先順位としては、have doneの方がhad doneよりも使う機会が圧倒的に多いので、初心者の方だったらまずはhave doneをマスターすることに時間を費やすことをおすすめします。
have done (現在完了形)
まずI didのような過去形は、過去の出来事そのものに焦点を当てるのに対して、I have doneのような現在完了形は、過去の出来事による現在の結果に焦点を当てます。後者は、最近終わったことや起きた変化、これまでの経験や状態などを表したい時に使います。会話ではI’ve doneのように短縮形を使うことが多いです。
例えば、「今朝洗濯をした」と言いたい時は、I did the laundry this morning.と過去形で表現しますが、「もう洗濯を終わらせてある(=今は洋服が綺麗)」のように現在に焦点を当てたい時は現在完了形が役立ちます。
I’ve already done the laundry.
洗濯はもう終わらせてある。
他にも、「先週、鍵を無くしたけど、見つかった」のように、ある出来事がいつ起きたかを述べたい時や現在は状況が変わっている場合はI lost my keys last week but found them a few days later.のように過去形を使いますが、鍵を無くして、現在も手元にない場合は、過去の出来事による現在の結果(=今、鍵が手元にない)に焦点を当てる現在完了形が役立ちます。
I’ve lost my keys.
鍵をなくしちゃった(今現在も手元にない)。
これまでの経験について話す場合、その出来事に焦点を当てていつ行ったかなど詳細を述べる時はI went to Paris last year.などと過去形を使いますが、今までどこかへ行ったことがあると言いたい場合は、以下のように現在完了形を使います。
Have you ever been to Paris?
今までパリに行ったことはありますか?
Yes, I’ve been to Paris before.
はい、パリに行ったことがあります。
過去の状態を表す時、例えば「2008年から2010年までアメリカに住んでいた」というような状態を表す場合は、I lived in the US from 2008 to 2010.のように過去形を使えばいいですが、「2010年から(現在まで)東京に住んでいる」のように過去から現在につながる状態を表す時は現在完了形を使います。
I’ve lived in Tokyo since 2010.
2010年から東京に住んでいます。
had done(過去完了形)
これまで紹介したI have doneのような現在完了形は、過去の出来事による現在の結果に焦点を当てるのに対して、I had doneのような過去完了形は、過去のある時に焦点を当て、それよりも前に終わっていたことや起きていた変化、その当時の経験やそれまで続いていた状態を表します。会話ではI’d doneのように短縮形を使うことが多いです。
例えば、「会議がすでに始まっている」と言いたい時は、会議が始まったという過去の出来事による現在の状況を表しているので、The meeting has already started.のように現在完了形を使いますが、「自分が会社に着いた時、会議がすでに始まっていた」のように過去のある時(自分が会社に着いた時)に焦点を当て、それよりも前に起きたこと(会議が始まった)を表したい時は過去完了形が役立ちます。
When I arrived at the office, the meeting had already started.
会社に着いた時、会議がすでに始まっていた。
他にも「パリに行ったことがあります」のようにこれまでの経験を表す時は、先ほどI’ve been to Paris before.という現在完了形の例文を紹介しましたが、「パリに行ったことがあったので・・・」のように過去のある時点に焦点を当て、その当時にすでにあった経験について話す時は、過去完了形を使います。
I went to France last month. I’d been to Paris before so I went to Nice this time.
先月フランスに行きました。パリには行ったことがあったので、今回はニースに行きました。
過去から現在につながる状態を表す時、例えば「友達と10年間ずっと会っていない」と言いたい時はI haven’t seen my friend for ten years.のように現在完了形を使いますが、10年間ずっと会っていなかった友達と昨日再開して、「彼女と10年間も会っていなかった」のように過去から過去につながる状態を表したい場合は、過去完了形を使います。
I bumped into an old friend yesterday. I hadn’t seen her for 10 years but I immediately recognised her.
昨日、昔の友達とばったり会った。彼女と10年も会っていなかったけど、すぐに分かった。
これらの例から分かるように、had doneのような過去完了形は、過去のある時について話す際、それとつながりのあるもっと前の出来事や状態を表す時に役立ちます。
ただ、そういった状況でよりシンプルな表現が使える場合、必ずしも過去完了形を使う必要はありません。
ネイティブの人がhad doneなどの過去完了形を使うのは、多くの場合、「〜だったのに〜と言う結果になった」という予期せぬオチや不満を表す時や「〜していれば〜だった」というような後悔を表す時です。
If I had studied harder, I might have passed my exam.
もしもっと熱心に勉強していたら、試験に合格していたかもしれない。
最後に
have done(現在完了形)は、現在に焦点を当て、これまでに終わったことや起きた変化、これまでの経験やこれまで続いてきた状態などを表すのに対してhad done(過去完了形)は、過去のある時に焦点を当て、それよりも前に終わっていたことや起きていた変化、その当時の経験やそれまで続いていた状態を表します。最初にも書いた通り、have doneの方がhad doneよりも使用頻度が高いので、前者をマスターすることの方が重要です。注意点として、I hadの短縮形として使われるI’dは、I wouldの短縮形としても使われるので、混乱しないように気をつける必要があります。