現在完了形(Present Perfect)

B1 · 中級現在時制

現在完了形は、過去の出来事を今につなげます。大切なのは「いつ」ではなく、今の結果や今とのつながりです。

このレッスンで学ぶこと

  • 形:have/has +過去分詞(I have finished、she has finished)
  • いつ起きたかを言わないとき、または重要でないときに使う:大切なのは今の結果
  • ever、never、already、yet、just、so far、for/since とよくいっしょに使う
  • 過去形との違い:過去形は、終わった特定の時の出来事に使う(その時をはっきり言わない場合も)

今に関係がある過去の出来事

現在完了形は、前に起きたことを今につなげます。起きたばかりだから、その結果が今も大切だから、あるいは「今までのどこかで」起きたことで、いつかは言わないから、という理由です。

日本語には「〜した」という過去の形が1つしかないので、最初はこの区別がわかりにくいかもしれません。たとえば「鍵をなくした」は、英語では “I've lost my keys.” と言えば「今も鍵がない」という今の状況を伝えます。学校で習う「経験(〜したことがある)」「完了(もう〜した)」「継続(ずっと〜している)」は、どれも今とのつながりを表す使い方です。ただし、yesterday、last week、in 2019 のような終わった特定の時とはいっしょに使えません。

"I've lost my keys."
"She has finished her homework."
"They've never been to Italy."

現在完了形の作り方

have(I/you/we/they)または has(he/she/it)の後に、動詞の過去分詞(3つ目の形)を続けます。多くの過去分詞は -ed で規則的ですが、よく使う動詞には不規則動詞がたくさんあります:go → gone、see → seen、do → done。

過去形と過去分詞を混同しないようにしましょう。go-went-gone の went は過去形なので、“She has went home.” は誤りで、“She has gone home.” が正しい形です。主語が he、she、it のときは have ではなく has です。

短縮形:I've、you've、we've、they've、he's/she's/it's(= has)。否定文:haven't/hasn't。疑問文:have/has を主語の前に出します:“Have you finished?”

"I have finished the report."
"She has already left."
"We have never tried this before."

いっしょに使うキーワード

ever(主に疑問文)と never は、今までの人生の経験について話します。already(主に肯定文)と yet(疑問文と否定文)は、もう起きたか、まだ起きていないかを表します。just は「ちょうど〜したところ」です。so far や up to now は、その期間がまだ続いていることを示します。

日本語の「今までに〜したことがある」につられて、肯定文に ever を入れないようにしましょう。“I have ever been to Kyoto.” は誤りで、“I have been to Kyoto.” が正しい文です。ever は “Have you ever eaten sushi?”(すしを食べたことがありますか)のように疑問文で使い、否定は never です。

「もう」と「まだ」にも注意しましょう。肯定文の「もう〜した」は already:“She has already left.”。でも疑問文の「もう〜した?」は、ふつう文末に yet を使います:“Have you finished the report yet?”。「まだ〜していない」は not … yet です:“I haven't finished yet.”。「ちょうど着いたところです」は “He's just arrived.” です。

旅行や経験の「〜に行ったことがある」は gone ではなく been を使います:“Have you ever been to Japan?”。gone は「行ってしまって、まだ戻っていない」という意味です:“She has gone home.”(彼女は家に帰りました=今ここにいません)。

"Have you ever eaten sushi?"
"I haven't finished yet."
"He's just arrived."
"We've done a lot so far."

現在完了形か、過去形か

現在完了形は、いつ起きたかを言わないとき、または重要でないときに使います。yesterday、in 2019、last week、two days ago のような終わった特定の時を言ったら、過去形にしなければなりません。when で始まる疑問文も過去形です。

日本語ではどちらも「〜した」なので、「昨日見た」「2019年にパリに行った」「いつ着いたの?」もすべて同じ形です。英語では “I saw him yesterday”、“I visited Paris in 2019”、“When did you arrive?” と過去形を使い、“I have seen him yesterday” や “When have you arrived?” とは言いません。「昨日」「先週」「〜年に」「〜前」「いつ」があったら過去形、と覚えておきましょう。

一方、まだ終わっていない期間には現在完了形を使います:“How many books have you read this year?”(今年はまだ続いています)。過去に始まって今も続いていることも同じです。日本語の「ここに5年住んでいる」は「〜ている」ですが、英語では “I am living here for five years” ではなく “I've lived here for five years.” と言います。for は期間(for five years)、since は始まった時点(since 2019)に使います。“since five years ago” も避けて、for five years と言いましょう。

知っておくと便利:アメリカ英語の会話では、今の結果を伝えるときや just、already、yet といっしょでも過去形がよく使われます(“I just saw her.”、“Did you eat yet?”、“I lost my keys!”)。イギリス英語では現在完了形を使うのがふつうです。このレッスンの練習問題では、今の結果を伝える文や just、already、yet がある文は、現在完了形を正解にしています。

"I have visited Paris. (特定の時はなし:一般的な経験)"
"I visited Paris in 2019. (特定の時:過去形)"

実際の英語

"I've never seen anything like this."
"Have you finished the report yet?"
"She's just texted me — she's running late."
"We haven't decided where to go on vacation."

注意

✗I have seen that movie last week.
✓I saw that movie last week.

last week のような終わった特定の時があるときは、現在完了形ではなく過去形を使います。

✗I have ever been to Kyoto.
✓I have been to Kyoto.

「今までに京都に行ったことがある」の「今までに」を ever にしないようにしましょう。ever は主に疑問文で使います。

✗I am living here for five years.
✓I've lived here for five years.

「5年住んでいる」は「〜ている」でも、過去から今まで続いていることなので現在完了形を使います。

✗She has went home.
✓She has gone home.

現在完了形には過去分詞(gone、3つ目の形)が必要です。過去形(went)は使えません。

✗When have you arrived?
✓When did you arrive?

「いつ着いたの?」のように when で聞くのは特定の時なので、過去形を使います。

Have you ever gone to Japan?ここではやや不自然
✓Have you ever been to Japan?

「〜に行ったことがありますか」という経験には been を使うのが標準的です。gone は「行ってしまって今はいない」という意味になりやすい語です。

日本語と比べてみよう

日本語の過去は「〜した」の1つだけです:「鍵をなくした」「昨日映画を見た」「いつ着いたの?」

英語では、日本語の形ではなく「終わった特定の時を言っているか」で決めます。yesterday、last week、in 2019、ago や when があれば過去形:“I saw him yesterday”、“When did you arrive?”。特定の時がなく、経験や今の結果を伝えるなら現在完了形:“I've seen this film”、“I've lost my keys”。

「〜したことがある」「〜したことがない」:日本語にも経験を表す決まった言い方があります

これは大きな助けになります。「〜したことがある」はそのまま have +過去分詞、「〜したことがない」は have never +過去分詞です:“I have never been there.”、“Have you ever eaten sushi?”。ただし「今までに」につられて肯定文に ever を入れないこと、「行ったことがある」は gone ではなく been にすることに注意しましょう。

「ここに5年住んでいる」「2019年からこの会社で働いている」:日本語では「〜ている」で継続を表します

英語では、過去に始まって今も続いていることに現在完了形を使います:“I've lived here for five years”。“I am living here for five years” や “I live here since five years” は誤りです。期間には for(for five years)、始まった時点には since(since 2019)を使います。「5年前に」のような終わった時点は five years ago で、過去形といっしょに使います。

「もう〜した」「もう〜した?」「まだ〜していない」「ちょうど〜したところ」

肯定文の「もう」は already(“We have already had dinner.”)、疑問文の「もう〜した?」はふつう yet(“Have you finished your work yet?”)、「まだ〜していない」は not … yet(“They haven't arrived yet.”)、「ちょうど〜したところ」は have just(“He has just heard the news.”)です。疑問文で already を使うと、「もう?」という意外さや確認の響きが加わります(“Have you eaten lunch already?”)。

💡 yesterday、last week、in 2019、ago のような終わった時や when の疑問文があれば過去形。日本語ではどちらも「〜した」です。

💡 「〜したことがある」→ have +過去分詞。肯定文に ever は入れず、「行ったことがある」は been を使います。

💡 「5年住んでいる」→ I've lived here for five years。期間は for、始まった時点は since です。

💡 「もう〜した」→ already、「もう〜した?」→ … yet?、「まだ〜していない」→ not … yet、「ちょうど〜した」→ have just。

実際の場面:友達と近況を話す

"Have you seen the new café downtown?"

"Not yet — I've heard it's really good, though."

"We should go. Have you eaten lunch already?"

"No, I haven't. Let's go now, actually."

練習

練習問題 1 · 正しい形を選びましょう

I ___ my keys — can you help me find them? (British English)

練習問題 2 · 正しい形の組み合わせを選びましょう

___ you ever ___ to Japan?

練習問題 3 · 正しい形を選びましょう

She ___ this movie three times already.

練習問題 4 · 正しい語を選びましょう

We haven't finished the report ___.

練習問題 5 · 正しい形の組み合わせを選びましょう

He ___ just ___ the news.

練習問題 6 · 正しい語を選びましょう

I've ___ eaten sushi.

練習問題 7 · 正しい形を選びましょう

How many books ___ this year?

練習問題 8 · 文を完成させましょう

Complete: She ___ (finish) her homework already.

練習問題 9 · 文を完成させましょう

Complete: They ___ (not/arrive) yet.

練習問題 10 · 単語を並べ替えましょう

?????

練習問題 11 · 正しい文を選びましょう

Which is correct?

練習問題 12 · 日本語話者の落とし穴:「〜ている」+期間

Japanese: "東京に5年住んでいます。" (I still live there.) Which English sentence is correct?

クイックチャレンジ

5つの問題で、学んだことを確認しましょう。

問題 1 / 5

スコア:0/0

We ___ already ___ dinner.

学んだこと

  • 現在完了形:have/has +過去分詞(went ではなく gone のように3つ目の形)。
  • いつ起きたかを言わず、今の結果や今とのつながりを伝えるときに使います。
  • 終わった特定の時(yesterday、in 2019、ago)や when の疑問文には、過去形を使います。日本語の「〜した」につられないようにしましょう。
  • 「〜したことがある」→ have been / have eaten など(肯定文に ever は入れない)。「もう」→ already / yet、「まだ〜していない」→ not … yet、「ちょうど」→ just。
  • 「ここに5年住んでいる」→ I've lived here for five years(for +期間、since +始まった時点)。
このカテゴリーのレッスンをすべて見る