現在完了形と過去形の使い分け

B1 · 中級混同しやすい文法

「この映画を見たことがある」は I have seen this film、「昨夜この映画を見た」は I saw this film last night。日本語の「〜した」は同じでも、英語では「いつ」によって形が変わります。

このレッスンで学ぶこと

  • いつ起きたかを言わないときは現在完了形:大切なのは今とのつながり
  • 終わった特定の過去の時を言う(または文脈でわかる)ときは過去形。日本語が同じ「〜した」でも区別する
  • already、just、ever、never、yet はふつう現在完了形といっしょに使う
  • yesterday、last week、ago、in 2015 は過去形といっしょに使う
  • 同じ出来事でも、今の結果を考えるか、起きた時を考えるかで、どちらの形にもなる

今とのつながりか、終わった時か

どちらの時制も「今より前」に起きたことを話しますが、見方が違います。現在完了形は、いつ起きたかははっきり言わずに、その出来事を「今にとって大切なこと」として示します。過去形は、過去の特定の時に起きて、もう終わった事実として示します。

日本語では、どちらも「〜した」で言えます。「この映画を見た」も「昨夜この映画を見た」も同じ形ですね。だから英語では、日本語の形ではなく別の質問をする必要があります:「終わった過去の特定の時の話か、それとも今につながる話か」。

"I have seen this film. (いつかは言わない:大切なのは、今この映画を知っていること)"
"I saw this film last night. (特定の、終わった時)"

現在完了形:いつかは言わない、今とつながる

現在完了形は、人生の経験(特定の時なし)、結果が今見えている・今大切な出来事、そして過去の特定の時に結びつけない出来事全般に使います。

ここは日本語が助けになります。「〜したことがある」(経験)は “She has been to Japan three times.”、「もう〜した」(完了)は “We have finished our homework.”、「鍵をなくしちゃった!(今も見つからない)」は “I have lost my keys!” です。疑問文の「〜したことがありますか」は “Have you ever eaten sushi?” ですが、「今までに」につられて肯定文に ever を入れないようにしましょう。「まだ〜していない」は not … yet:“I haven't finished yet.”

もう1つ忘れやすいのが、過去に始まって今も続いていることです。日本語では「2010年からここに住んでいる」「10年前から彼女を知っている」と「〜ている」を使いますが、英語では since(始まった時点)や for(期間)といっしょに現在完了形を使います:“I have lived here since 2010.”(“I live here since 2010.” は誤り)。また、“She has been to Japan” は「行って帰ってきた(経験がある)」、“She has gone to Japan” は「日本へ行ってしまって、まだ戻っていない」という意味です。

"She has been to Japan three times. (人生の経験)"
"We have finished our homework. (今の結果が大切:宿題は終わっている)"
"I have lost my keys! (今の結果:見つからない)"

過去形:特定の、終わった過去の時

日付、yesterday、last year、特定の機会など、過去の特定の時を言ったら(または文脈から明らかなら)、過去形を使います。その出来事は終わっていて、過去のものです。

日本語話者によくある間違いは、学校で習った「完了=have +過去分詞」を、時の表現があっても使ってしまうことです。「彼女は10分前に会社を出ました」を “She has left the office ten minutes ago” とは言えません。yesterday、last week、ago、in 2019 などがあれば必ず過去形です:“She left the office ten minutes ago.”。結果が今も続いていても同じです:“He lost his keys yesterday and still can't find them.”

期間にも注意しましょう。「パリに2年間住んでいた(今は住んでいない)」のように終わった期間なら、for があっても過去形です:“I lived in Paris for two years.”。“I have lived in Paris for two years” は「今もパリに住んでいて2年になる」という意味になります。

"She went to Japan in 2019."
"We finished our homework at 8pm."
"I lost my keys yesterday, but I found them later."

目印になる言葉

現在完了形によく使う言葉:already(もう)、just(ちょうど)、ever(今までに:疑問文で)、never(一度も〜ない)、yet(疑問文で「もう」、否定文で「まだ」)、since、recently(特定の日付なしで)。for は期間を表すだけで、それだけでは時制を決めません。I lived in Paris for two years は終わった期間(今はもう住んでいない)、I have lived here for two years は今につながる期間(今も住んでいる)です。過去形によく使う言葉:yesterday、last week/month/year、ago(〜前に)、in +特定の年、そして過去の特定の時を指す when。

「ちょうど宿題が終わったところです」は “I have just finished my homework” です(アメリカ英語では、特に会話で “I just finished” もよく使います)。“I just finish” のような現在形にはしません。また、when の疑問文は特定の時を聞いているので過去形です:「この本、いつ買ったの?」→ “When did you buy this book?”

英語の種類について:アメリカ英語の会話では、already、just、yet と過去形もよく使います(“I just ate.”、“Did you eat yet?”)。イギリス英語や改まった英語では現在完了形がふつうです。already、just、yet があって特定の時がないなら、現在完了形を選べば間違いになりません。

"Have you ever eaten sushi? (現在完了形)"
"When did you eat sushi? (過去形:特定の時を聞いている)"

実際の英語

"I've already finished the report. — I finished the report at 3pm yesterday."
"Have you ever been to Paris? — I went to Paris in 2018."
"She has just left the office. — She left the office ten minutes ago."
"We haven't decided yet. — We didn't decide last week."

注意

✗I have seen this film last night.
✓I saw this film last night.

last night のような終わった時があるときは過去形です。現在完了形は、過去の特定の時とはいっしょに使えません。

✗She has left ten minutes ago.
✓She left ten minutes ago.

「10分前に出た」の ago は終わった時を表すので、いつも過去形です。

✗When have you bought this book?
✓When did you buy this book?

when は特定の時を聞く言葉なので、did を使った過去形の疑問文にします。

✗He has lost his keys yesterday.
✓He lost his keys yesterday.

まだ見つかっていなくても、yesterday があれば過去形です。「今の結果」より「終わった時」のほうが優先されます。

✗I have lived in Paris for two years, but now I live in Tokyo.
✓I lived in Paris for two years, but now I live in Tokyo.

「2年間住んでいた」が終わった期間なら、for があっても過去形です。現在完了形は今もそこに住んでいるという意味になります。

✗I live here since 2010.
✓I have lived here since 2010.

「2010年から住んでいる」は今も続いていることなので、since といっしょに現在完了形を使います。

日本語と比べてみよう

日本語の「〜した」は、どんな時の表現とも使えます:「昨日彼に会った」「10分前に出た」「1990年に生まれた」

英語の現在完了形は、終わった過去の特定の時とはいっしょに使えません。“I have seen him yesterday” や “He has left ten minutes ago” は誤りで、“I saw him yesterday.”、“He left ten minutes ago.” と言います。文の中に終わった時(yesterday、last week、ago、in 2019、at 8pm、when …?)があれば過去形、と覚えましょう。ただし today、this week、this morning(まだ午前中なら)はまだ終わっていない期間なので、現在完了形も使えます:“I've had two coffees today.”

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

これらは現在完了形にきれいに対応します。経験は ever/never(“Have you ever been to Japan?”)、完了は already(“I've already eaten.”)、疑問文の「もう?」と否定文の「まだ」は yet(“Have you finished yet?”、“I haven't finished yet.”)、「ちょうど」は just です。ただし、日付や特定の時を言ったとたんに過去形に戻ります:“When did you go to Japan?”

「パリに2年間住んでいた」(今は住んでいない)と「2010年からここに住んでいる」(今も住んでいる)

英語では、期間が終わったかどうかで決めます。終わった期間は過去形 + for:“I lived in Paris for two years.”。今も続いているなら現在完了形 + since/for:“I have lived here since 2010.”、“I have known her for ten years.”。“I live here since 2010” は誤りです。

💡 日本語の「〜した」は判断の材料になりません。終わった時(yesterday、ago、last …、in 2019、when?)があれば過去形です。

💡 経験(ever、never)や今大切な結果(already、just、yet)は現在完了形です。

💡 終わった期間(「2年間住んでいた」)→ 過去形 + for。今も続く期間(「2010年から住んでいる」)→ 現在完了形 + since/for。

💡 「ちょうど終わったところ」→ I have just finished。

実際の場面:友達と旅行の計画を立てる

"Have you ever been to Lisbon?"

"Yes, actually — I went there two summers ago. It was amazing."

"Nice! I haven't been yet, but I've heard great things."

"You should go — we stayed for a whole week and still didn't see everything."

練習

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

Choose the correct form: I ___ this film already. (unspecified time)

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

Choose the correct form: I ___ this film last night. (specific past time)

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

Choose the correct form: She ___ to Japan three times. (life experience, unspecified time)

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

Choose the correct form: She ___ to Japan in 2019. (specific past time)

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

Choose the correct form: We ___ our homework. (result matters now — it's done)

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

Which time expression is typically used with the past simple, NOT the present perfect?

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

Which time expression is typically used with the present perfect, NOT the past simple?

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

Choose the correct form: He ___ his keys yesterday and still can't find them.

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

Complete with the correct form of 'finish': They ___ the project two years ago.

練習問題 10 · 正しい形で文を完成させましょう

Complete with the correct form of 'finish': They ___ the project already. (result: it's done now)

練習問題 11 · 時の表現をグループに分けましょう

yesterday
already
in 2010
ever
last week
just
ago
since Monday

0 / 8 分類済み

練習問題 12 · よくある間違い:「〜年間住んでいた」

Japanese: "パリに2年間住んでいました。" (The speaker doesn't live there anymore.) Which English sentence is correct?

クイックチャレンジ

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

問題 1 / 5

スコア:0/0

Choose the correct form (British English): I ___ my keys. I can't find them anywhere! (result now)

学んだこと

  • 現在完了形:いつかは言わない、今とつながっている過去。
  • 過去形:特定の、終わった過去の時。
  • already/just/ever/never/yet はふつう現在完了形、yesterday/ago/in +年は過去形といっしょに使います。
  • 現在完了形は終わった時とは使えません。日本語で「10分前に出た」と言っても She left ten minutes ago です。
  • when の疑問文は過去形。今も続くことは現在完了形 + since/for、終わった期間は過去形 + for です。
このカテゴリーのレッスンをすべて見る