現在完了形①
have +過去分詞で現在までの動作の「完了」「結果」「経験」「継続」を表す。
《完了》
I have just read this magazine.
この雑誌を読み終わりました。(読み終わったところです、今しがた読み終わりました)
※ just(副)ちょうど今、今しがた
※ read = readの過去・過去分詞(発音[réd])
※ magazine [mæ`gəzí:n](名)雑誌
《結果》
I have read this magazine.
この雑誌は読みました。(もう読んでしまいました)
《経験》
I have read this magazine.
この雑誌は読みました。(読んだことがあります)
《継続》
I have read this magazine for a year.
この雑誌を1年間読んでいます。(読んできました、購読しています)
※ for(前)~の間
【解説】
現在完了形は、過去の出来事が現在に何らかの影響を及ぼしている場合に用います。
現在完了形の文は同じ文でも違う意味になることがあります。「完了」「結果」「経験」「継続」かは前後の文脈や状況などで判断します。
現在完了形② 継続の用法
現在完了形の継続の用法は2種類ある。
① I have worked in this store for 10 years.
この店で10年働いてきた。
② I have been working in this store for 10 years.
この店で10年働いている。
【解説】
①は「働いてきた」という継続を表していますが、現在については結果を表しています。
だから、これから先はどうなるかわからないという意味が含まれます。
②は「働いてきた」という継続を表していると同時にそれが現在も進行中である状態を表しています。
だから、今も働き続けているという意味が含まれます。
She has lived in Tokyo for a year.
彼女は1年間東京に住んできた。(継続)
彼女は1年間東京に住んだ。(結果)
彼女は1年間東京に住んだことがある。(経験)
この例文は継続のほかに結果、経験の意味にもなります。
現在も継続中であることを強調したい場合は次のようにするといいでしょう。
She has been living in Tokyo for a year.
彼女は1年間東京に住んでいる。
現在完了形の考え方
ある人が3日前に鍵をなくして友人に対して、
I lost my key.(鍵をなくした。)
と言い、別の友人に対しては、
I have lost my key.(鍵をなくした。)
と言いました。
過去の同じ時点の出来事なのに聞くほうにとってはニュアンスが違います。
過去形は、ただ「鍵をなくした」という事実を言っているだけです。
一方、現在完了形は「鍵をなくした」ことによって現在に何らかの影響を及ぼしているというニュアンスが含まれます。
例えば、「新しい鍵を注文している」など。
恋人が転勤で名古屋へ行き、友人に、
She went to Nagoya.(彼女は名古屋に行った。)
と言い、別の友人に、
She has gone to Nagoya.(彼女は名古屋に行った。)
と言いました。
1人目の友人に対しては「過去の事で今は関係ない」というニュアンスです。
2人目の友人に対しては「過去の事だが今も関係している」というニュアンスです。
例えば「寂しい」など。
要するに、現在完了形は過去の事なのに現在の事を言っているのです。
「鍵をなくしてしまった」「名古屋に行ってしまった」と訳してもいいです。
過去完了形①
had +過去分詞で、過去のある時点までの完了・結果・経験・継続を表す。
《完了》
He had arrived there on Tuesday.
彼は火曜日にはそこに着いていた。
※ there(副)そこに、そこで
《結果》
She had already gone to work when I called her.
私が電話した時、彼女はすでに出勤していた。
※ already(副)すでに、もう
《経験》
I hadn't seen snow before I was twenty years old.
20歳になるまで雪を見たことがなかった。
《継続》
Tomoko had lived in Sydney for ten years.
トモコは10年間シドニーに住んでいた。
【解説】
「大過去」と違う点は、過去完了は過去のその時話している内容と before節・when節 などの内容が関連性がある点です。
〈大過去〉
She had finished smoking when I called her.
私が電話した時、彼女はタバコを吸い終えていた。
過去完了形② 大過去
had +過去分詞で過去のある時点よりさらに過去のこと(大過去)を表す。
I lost the watch that my wife had bought for me.
妻が買ってくれた腕時計をなくした。
I took a bath after my wife had come (came) home.
妻が帰ってきた後で風呂に入った。
※ before や after のように時間のずれを表す接続詞が使われる場合は過去形でもよい。
【解説】
先に行われた事が過去完了形で表されるとは限りません。
My wife came home and I took a bath.
妻が帰宅して、私は風呂に入った。
このように起きた順に述べるときは過去完了で表しません。
次のような場合は過去完了形を用います。
I had taken a bath when she came home.
彼女が帰宅した時、私は風呂に入っていた(入ってしまっていた)。
次のようにすると同時に起きたことになります。
× I took a bath when she came home.
彼女が帰宅した時、私は風呂に入った。
未来完了形
will + have +過去分詞で未来のある時点までの完了・結果・経験・継続を表す。
《完了》
I will have finished my homework by tomorrow.
明日までに宿題は終わっているだろう。
《結果》
The meetimg will have started by 10 o'clock.
会議は10時には始まっているでしょう。
《経験》
I will have gone three times if I go there again.
もう一度そこへ行くと3回行ったことになる。
《継続》
By the end of this year he will have lived in the United Kingdom for five years.
今年の末で彼はイギリスに5年住んでいることになる。
現在完了進行形
現在完了形は現在までの「状態の継続」を表すのに対し、現在完了進行形は現在までの「動作の継続」を表す。
したがって、普通は現在完了形には状態動詞、現在完了進行形には動作動詞を用いる。
《現在完了形》
He has studied law for 2 hours.
彼は2時間法律を勉強した。(今勉強しているかはわからない)
《現在完了進行形》
He has been studying law for 2 hours.
彼は2時間法律を勉強している。(今も勉強し続けている)
《現在完了形》
I have worked in the office for 10 years.
会社で10年間働いてきた。(今働いているかはわからない)
《現在完了進行形》
I have been working in the office for 10 years.
会社で10年間働いている。(今も働いている)
【解説】
状態動詞は、ある一定期間継続する状態を表す動詞(like, know, think, love, believe, etc.)
動作動詞は、動作や行為を表す動詞(run, eat, study, walk, come, etc.)
現在完了形は継続していた動作の「結果」を表すのに対し、現在完了進行形は継続していた動作が「継続中」であることを表します。
【備考】
状態動詞 like(好いている)、know(知っている)、think(思っている)、love(愛している)、believe(信じている)などの状態動詞にはすでに「~している」という意味が含まれているため、進行形にする必要がありません。
修飾語句や副詞をつけて最近の様子を言い表すことができる。
《現在完了形・継続》
I have waited for 2 hours.
2時間待ちました。
《現在完了進行形》
I have been waiting for 2 hours.
2時間待っています。
《現在完了形・継続》
He has read the book since this morning.
彼は今朝から本を読んでいた。
《現在完了進行形》
He has been reading the book since this morning.
彼は今朝から本を読んでいる。
《現在完了進行形・肯定文》
I have been exercising lately.
最近運動しています。
《現在完了進行形・否定文》
I have't been exercising lately.
最近運動していません。
過去完了進行形
過去完了形は過去のある時点までの「状態の継続」を表すのに対し、過去完了進行形は過去のある時点までの「動作の継続」を表す。
したがって、過去完了形には状態動詞、過去完了進行形には動作動詞を用いる。
《過去完了形・状態動詞》
⚪︎We had known each other since high school.
× We had been knowing each other since high school.
私たちは高校時代からの知り合いでした。
※ know each other(熟)親しくなる、知り合いである
※ know という状態動詞には「~している」という意味も含まれているため、進行形にしなくてもよい。
《過去完了形・動作動詞》
⚪︎She had been watching TV until morning.
× She had watched TV until morning.
彼女は朝までテレビを見ていた。
⚪︎ He had been looking for me when I arrived at the place.
× He had looked for me when I arrived at the place.
私がその場所に着いた時、彼は私を探し続けていた。
※ look for(熟)~を探す
未来完了進行形
未来完了形は未来のある時点での「状態の継続」を表すのに対し、未来完了進行形は未来のある時点での「動作の継続」を表す。
したがって、未来完了形には状態動詞、未来完了進行形には動作動詞を用いる。
《状態動詞》
⚪︎ I will have lived in Osaka until I move to Tokyo.
× I will have been living in Osaka until I move to Tokyo.
東京へ引っ越すまで私は大阪に住んでいるだろう(住むつもりです)
※ live という状態動詞には「~している」という意味も含まれているため、進行形にしなくてもよい。
《動作動詞》
⚪︎ He will have been walking for 3 hours at noon.
× He will have walked for 3 hours at noon.
彼は正午で3時間歩き続けたことになるだろう。
⚪︎He will have been working for 5 years by this weekend.
× He will have worked for 5 years by this weekend.
彼は今週末でで5年間働き続けたことになるだろう。