7. 現在完了 ( Present Perfect Tense )
[ have( has ) + 過去分詞 ]
7. 現在完了 ( Present Perfect Tense )
7.1 〔完了〕 動作・出来事の完了「(たった今)~したところだ」「(もう)~してしまった」
7.1.1 完了とともに用いられる副詞
7.1.2 have been to+場所「~へ行って来たところだ」
7.1.3 完了を表す現在完了と過去形の違い
7.2 [経験]現在までの経験を表す。「(今までに)~したことがある」
7.2.1 経験とともに用いられる副詞
7.2.2 How often have[has] S+過去分詞~?何回~したことがありますか。
7.2.3 have been to~遠い所など ~へ行ったことがある
7.2.4 This[That] is the 序数 /only /最上級+that have ever p.p.(ever+過去形でもよい)
7.2.5 経験を表す現在完了と過去形の違い
7.3 [結果] 過去に起きた動作が現在に及ぼした結果・状態
7.3.1 結果とともに使われる動詞
7.3.2 結果を表す現在完了と過去時制の違い
7.4 [継続] 現在までの継続・状態「(今まで)ずっと~だ [~している]」
7.4.1 現在完了進行形 have been~ing
7.4.1 継続とともに使われる副詞(句・節)
7.4.2 How long have[has] S+過去分詞(been+~ing)~?
7.4.3 現在完了「継続」と「完了」の違い
7.4.4 継続を表す現在完了と過去時制の違い
7.4.5 継続を表す現在完了で一時的な場合と永続的な場合の形の違い
7.4.6 継続しない動作を表す動詞の注意すべき用法
7.5 その他
7.5.1 「be + 過去分詞」が「have + 過去分詞」の意味を表すことがある。
7.5.2 未来完了を現在完了で表す場合
7.5.3 現在完了とともに使えない表現
7.1 〔完了〕 動作・出来事の完了「(たった今)~したところだ」「(もう)~してしまった」
注:現在完了の「完了」と「結果」は意味的に重なり合う部分も多く、どの訳がふさわしいかは前後の脈絡による部分が大きい。
7.1.1 完了とともに用いられる副詞
just, not~yet, already
I’ve just finished my homework.いま宿題が終わった。
Has the bell rung yet?ベルはもう鳴りましたか。
No, it hasn’t rung yet.いいえ、まだ鳴っていません。
Yes, it has already rung.はい、すでに鳴っています。
Have you finished lunch already?もう、昼食は食べ終わったの。
(疑問文とともにalreadyを使うと驚きを表す)
*その他の完了とともに用いられる副詞(句)
today,this week,lately (最近),of late(最近), recently (最近)
7.1.2 have been to+場所「~へ行って来たところだ」
I have been to the airport to see off my friend.
友達を見送りに飛行場に行って来たところだ。
注:I have been to the United States. だと「アメリカに行ってきたところだ」(完了)と「アメリカに行ったことがある」(経験)の2通りの解釈が可能。
7.1.3 完了を表す現在完了と過去形の違い
完了を表す現在完了は、既に終わった出来事については使えない。明確に過去を表す副詞・副詞句とは一緒に使えない。(3.1.1参照)
(現在の状態や結果等と何らかの関連が必要。)
There has been an explosion in Saudi Arabia.サウジ・アラビアで爆発が起きたところだ。
There was an explosion in Saudi Arabia last night.
昨夜、サウジ・アラビアで爆発が起きた。
7.2 [経験]現在までの経験を表す。「(今までに)~したことがある」
7.2.1 経験とともに用いられる副詞
ever, once, never
Have you ever read Hamlet?ハムレットをいままでに読んだことがありますか。
※everは(疑問文・条件文で)「かつて、いままでに」
注: ever を否定文中(not~ever)で使うこともあるが、never が普通
I have never seen a flying saucer. 私は今までに空飛ぶ円盤を見たことがない。
I have seen those pictures before. 私は以前それらの絵を見たことがある。
7.2.2 How often have[has] S+過去分詞~?何回~したことがありますか。
経験とともに使われる疑問詞句how often=how many times
How often (How many times) have you seen her?何回彼に会ったことがありますか。
答え方
I have seen her often. 私はしょっちゅう彼女に会う。
I have seen her once.私は1度彼女に会ったことがある。
I have seen her twice [two times]. 私は2度彼女に会ったことがある。
I have seen her several times.私は数回彼女に会ったことがある。
2度以上は~timesを文尾につける。
7.2.3 have been to~遠い所など ~へ行ったことがある
Have you ever been to America? (英・米) アメリカに行ったことがありますか。
Yes, I have. I’ve been there once/twice/three times.
7.2.4 This[That] is the 序数 /only /最上級+that have ever p.p.(ever+過去形でもよい)
This is the first time that I've heard her sing.彼女が歌うのを聞いたのはこれが初めてだ。
This is the sixth time you've asked me this question. あなたがこの質問するのは6回目ですよ。
This is the most touching movie that I have ever seen.
これは、今までに見た中で一番感動的な映画だ。注:I have never seenとしないこと
7.2.5 経験を表す現在完了と過去形の違い
She has visited Rome several times. 彼女はローマを(今までに)何回か訪れたことがある。
She went to Rome several times while she was in Italy.
彼女はイタリアにいたとき何度もローマに行った。
7.3 [結果] 過去に起きた動作が現在に及ぼした結果・状態
「~してしまった[しまっている]、~してしまって(今は)…だ」
7.3.1 結果とともに使われる動詞
結果を表す現在完了は動詞で決まる:come, go, arrive, lose
She has lost all her money. (She has no money now.)
彼女はお金を全部なくしてしまった。
Your letter of August 6 has arrived at my office.
貴方の8月6日付の書簡が当社に届いています。
My father has gone to Okinawa on business. (So he isn’t here now.)
父は仕事で沖縄に行っています。
7.3.2 結果を表す現在完了と過去時制の違い
現在完了:今も続いている。
過去形: 過去はそうだったが、今もそうであるとは限らない。
a. He has gone to Hokkaido.彼は北海道に行った [のでいまここにいない] 。
b. He went to Hokkaido yesterday. 彼は北海道に行った。(今も北海道にいるかどうかは不明)
a. I have lost my watch, so I have to buy another one.時計を失くしたから買わなくては。
b. I lost my watch, but found it later.時計を失くしたが、後から出てきた。
7.4 [継続] 現在までの継続・状態「(今まで)ずっと~だ [~している]」
過去から現在までの状態が継続している時、現在完了で表す。
7.4.1 現在完了進行形 have been~ing
動詞が進行形になるものは、現在完了の継続を表すとき現在完了進行形になる。
動詞が進行形にならないもの(参照2.8)は、have+過去分詞
I have lived in Tokyo since I was born.私は生まれて以来、東京に住んでいる。
引き続き住むことを強調している場合は、現在完了進行形
I have been living in Tokyo since I was born.
Who's been sleeping in my room? 私の部屋で寝ているのは誰ですか?
(まだ寝ていることを暗に意味する)
“How have you been?” I’ve been great.”「どうしてた」「調子よかったよ」
7.4.2 継続とともに使われる副詞(句・節)
前置詞for (期間), since (前置詞:過去を表す言葉), since(接続詞:過去形の節), since(副詞:以来), these~years(days, etc.), all this time, all the time, all this whileなどがある。
S have been 形容詞(または~ing)since… 「…以来ずっと~だ」
I have been ill since last Saturday.(前置詞since)私は先週の土曜からずっと病気です。
I have known her since she was just a kid. (接続詞since)
彼女がほんの子供のときから彼女を知っている。
It's been a long time since we last met.この前お会いして以来久しぶりですね。
It's been a long time since I enjoyed myself as much as last night.
夕べほど楽しくやったのは久しぶりだ。
S have been 形容詞(または~ing)for…「…間ずっと~だ」
I have lived here for 25 years.私は25年間ここに住んでいます。
I have been studying English for six years.私は6年間英語を勉強しています。
It has been raining for two days. 2日間雨が降り続いている。
7.4.3 How long have[has] S+過去分詞(been+~ing)~?
How long have you been living in Tokyo?どのくらい東京に住んでいますか。
I have lived here for four years.4年間住んでいます。
I have lived here since I was four years old. 4歳の時から、住んでいます。
7.4.4 現在完了「継続」と「完了」の違い
I've been reading your book. 私はあなたの本を読んでいる途中です。(=継続)
I've read your book.私は本を読み終わったところだ。(=完了)
■ 現在完了進行形は少し前に終わった行為の結果が、まだ明らかに残っている事を表す場合もある。
He shouldn't drive now. He has been drinking.
彼は、今は車の運転はすべきではない。ずっと酒を飲んでいたのだから。
7.4.5 継続を表す現在完了と過去時制の違い
現在完了:今も継続している
過去時制:出来事を遠く離れて眺めているような感覚
a. The flat has been vacant for 3 years. この部屋は3年間もずっと空家だ。(今も空いている)
b. The flat was vacant for 3 years. この部屋は以前に3年間空家だった。
(今は空いているかどうか分からない)
a. We have been married for 9 years. 私達が結婚して9年になる。
b. We were married for 9 years.私達は9年結婚していた。
7.4.6 継続を表す現在完了で一時的な場合と永続的な場合の形の違い
一般的に
永続的な場合→現在完了形
一時的な場合→現在完了進行形
で表わすといわれている。
That woman has been standing on the corner all day. あの女は一日中かどで立っている。
For 500 years the tree has stood on the hill above the town.
その木は町の上のほうに在る丘に500年間立っている。
I haven’t been working very much recently. 私は最近あまり働いていません。
She hasn’t worked for years since she gave birth to a baby.
彼女は赤ちゃんを産んでから何年もの間働いていません。
7.4.7 継続しない動作を表す動詞の注意すべき用法
die, be deadと現在完了継続
die(死ぬ)は一生に一度しか経験しない出来事を表す動詞なので、現在完了継続には用いられない。現在完了では状態を表す表現[be dead (死んでいる);deadは形容詞]を用いて現在完了「継続」で表す。
× He has died three years ago.
○ He died three years ago.彼は3年前に死んだ。
○≒Three years have passed since he died.彼が死んでから3年が経つ。
○≒He has been dead for three years. 彼が死んでから3年たつ。
get married, be marriedと現在完了継続
get married(結婚する)は行為を表す動詞なので現在完了継続には用いられない。現在完了では状態を表す表現[be married(結婚している)]を用いて現在完了「継続」で表す。
× They have got married for ten years.
× They have got married ten years ago.
○ They got married ten years ago.彼らは10年前に結婚した。
○ ≒Ten years have passed since they got married.彼らが結婚してから10年が経過した。
○ ≒They have been married for ten years.彼らは10年間結婚している。
retired, be retiredと現在完了継続
retire(辞職する)は行為を表す動詞なので現在完了継続には用いられない。現在完了では状態を表す表現[beretired(退職している)]を用いて現在完了「継続」で表す。
○My father retired ten years ago. 父は10年前に退職した。
○≒Ten years have passed since my father retired.父が退職してから10年が経過した。
They have been retired for ten years.父は10年間仕事についていない。
7.5 その他
7.5.1 「be + 過去分詞」が「have + 過去分詞」の意味を表すことがある。
be recovered, be camped, be stopped, be finished, be gone, be done
Why are all the cars stopped at the crossroads? このすべての車は何故十字路で止まっているの。
She is gone. 彼女は行ってしまった。
All the money is gone. お金が全部なくなってしまった。
7.5.2 未来完了を現在完了で表す場合
after, when, before, till(until), as soon as, if, unlessなどの接続詞に導かれる「時または条件」を表わす副詞節の中では、未来完了(will /shall + have + 過去分詞)の代わりに現在完了時制で表わす。(逆に言えば単純未来の助動詞willは入れてはいけない。)
I will lend you the book when I have read it. 読み終わったらその本を貸してあげます
Please wait till I have written this letter.この手紙を書いてしまうまではお待ち下さい。
7.5.3 現在完了とともに使えない表現
1. 明確な過去を表す副詞(句 /節)があるとき
yesterday, ~ago, last~, in 1900, when+過去時制
I happened to meet an old friend of mine in Shibuya yesterday.
昨日渋谷でたまたま私の旧友にあった。
He got his left arm broken at the gym three days ago. 彼は3日前体育館で左腕を折った。
We had a lot of snow last year. 去年は大雪だった。
There was a big earthquake in Kobe in January 17, 1995.
1995年1月17日に神戸で大震災があった。
When I was in Tokyo, I visited Nikko three times.
私が東京にいた時、日光を3回訪れた。
2. just nowは本来 a very short time ago(ちょっと前に)の意味なので、過去時制と共に使うのが正しい。但し、justとnowそれぞれ単独では現在完了と共に用いられる。
I finished my homework just now. たった今私は宿題を終えた。
但し、文中に置く場合現在完了とも使える。
I have just now written a letter. ちょうど手紙を書き終えたところです。
3. when, what timeで始まる疑問文
when, what timeは一時点を尋ねる疑問詞だから、過去と現在の間のかかわりを表す
現在完了には用いられない。
× When has the Civil War broken out?
○ When did the Civil War break out?南北戦争はいつ始まりましたか。