現在完了形とyesterdayを一緒に使えないのはなぜ?過去形との時間の見え方を解説

現在完了形は今につながりyesterdayは過去で閉じることを示す図

「私は昨日、彼女に会いました」を英語にしようとして、I have seen her yesterday. と言いたくなることがあります。会ったことはすでに完了しているのだから、現在完了形を使えそうに感じますよね。

しかし、標準的な英語では I saw her yesterday. と過去形にします。

現在完了形とyesterdayを一緒に使えない理由は、現在完了形が過去の出来事を「今につながるもの」として見せる一方、yesterdayは出来事を「昨日という終わった時間の箱」に入れるからです。二つが文の中で、異なる時間の見せ方を要求してしまいます。

しゅみすけ(大山俊輔)

「終わったことだから完了形」と考えると迷いやすくなります。現在完了形で大切なのは、出来事が終わったかより、今とのつながりを見せているかです。

正しいのはI saw her yesterday.

まず、二つの文を比べてみましょう。

  • ○ I saw her yesterday.
    私は昨日、彼女に会いました。
  • × I have seen her yesterday.
    標準的な英語では不自然です。

yesterday は、今日から見てすでに終わった時間です。「いつ会ったの?」という問いに対して、出来事の位置を昨日へ固定します。そのため、過去の時間内で出来事を区切る過去形 saw が自然です。

一方、I have seen her. は、「会った経験がある」「もう会っている」など、過去の出来事を現在の知識・状況へ持ってきます。いつ会ったかを過去の一点へ固定することが中心ではありません。

英文 焦点 時間の景色
I saw her yesterday. いつ会ったか 昨日で閉じた過去
I have seen her. 会った経験・今の状況 過去から今へのつながり

現在完了形は「今の領域」から過去を見る

現在完了形は have / has + 過去分詞 で作ります。名前に「現在」が入っているのは、過去の出来事を扱っていても、文の基準点が今にあるからです。

  • I have lost my key.
    鍵をなくして、今も持っていません。
  • She has visited London three times.
    彼女には今までにロンドンを3回訪れた経験があります。
  • We have lived here for ten years.
    私たちは10年前から今までここに住んでいます。

「結果」「経験」「継続」と学校文法では分けますが、どれも過去に始まったことを今の側から眺めている点が共通しています。

ここでは学習者が理解しやすい見方として、現在完了形を「過去から今へ橋をかける形」と捉えます。

現在完了形に合う時間表現と過去形に合う時間表現の比較図
現在完了形は今につながる時間、過去形は過去で閉じた時間と組み合わせます。

yesterdayは「過去で閉じた時間」

yesterday を使うと、話し手は出来事の場所を昨日へ明確に置きます。昨日はすでに終わり、今とは別の時間の箱になっています。

同じように、次の表現も過去で閉じた時間を示します。

  • last week:先週
  • two days ago:2日前
  • in 2020:2020年に
  • when I was a child:私が子どもだったとき

したがって、通常は過去形と組み合わせます。

  • We moved here last year.
    私たちは昨年ここへ引っ越しました。
  • I met him two days ago.
    私は2日前に彼に会いました。
  • She graduated in 2020.
    彼女は2020年に卒業しました。

しゅみすけ(大山俊輔)

yesterdayやlast yearが出てきたら、「その時間の箱はもう閉じているか?」と考えてみてください。閉じているなら、まず過去形が候補になります。

現在完了形と使える時間表現は?

現在完了形が時間表現を使えないわけではありません。今までを含む期間、今へ続く起点、過去の時点を特定しない言葉なら自然に使えます。

時間表現 見せる時間 例文
since 2020 2020年を起点に今まで続く I have lived here since 2020.
for three years 今まで続く3年間 I have studied English for three years.
recently / lately 今に近い最近 I have been busy lately.
already / yet 今の時点で完了したか Have you finished yet?
ever / never 今までの経験 Have you ever been to Canada?

現在完了形に合うかを考えるときは、「過去を指しているか」だけでなく、その時間が今まで含むか、今の判断材料になっているかを見ます。

since yesterdayなら現在完了形を使える

yesterday が入っていても、since yesterday なら現在完了形と使えます。

  • I have been sick since yesterday.
    私は昨日からずっと体調が悪いです。
  • It has been raining since yesterday.
    昨日からずっと雨が降っています。

この場合、yesterdayは出来事を昨日に閉じ込めていません。「昨日をスタート地点として、今まで続いている」と示しています。since が昨日と今の間に橋をかけるため、現在完了形の景色と合います。

表現 yesterdayの役割 自然な形
I met her yesterday. 会った時を昨日に固定 過去形
I have known her since yesterday. 今へ続く期間の起点 現在完了形

todayは現在完了形と使えることがある

today は、話している時点ではまだ終わっていない時間として扱えます。そのため、現在完了形と組み合わせられます。

  • I have had three meetings today.
    今日は今までに会議が3回ありました。
  • Have you talked to Sarah today?
    今日はもうサラと話しましたか。

ここでは「今日の今まで」という開かれた期間を見ています。一方、今日起きた出来事を一つの過去の場面として語るなら、過去形も自然です。

  • I talked to Sarah this morning.
    今朝サラと話しました。
  • I saw him today.
    今日彼に会いました。

時間表現だけで形が機械的に決まるわけではありません。話し手が「今までの経験・結果」として提示するのか、「過去の出来事」として報告するのかでも選択が変わります。

具体的な時を言いたいなら、文を分けられる

現在完了形で今の状況を伝えたあと、過去形で具体的な時を補うこともできます。

  • I have seen that movie. I saw it last week.
    その映画を見たことがあります。先週見ました。
  • I’ve met Ken before. We met at a conference in 2024.
    ケンには以前会ったことがあります。2024年の会議で会いました。

最初の文は現在の経験、次の文は具体的な過去の出来事です。一つの文へ無理に詰め込まず、焦点が変わるところで時制を切り替えると自然です。

日本人が間違えやすい理由

日本語の「会ったことがある」と「昨日会った」は、どちらも過去の出来事を含みます。また「完了形」という名前から、「すでに終わった出来事なら使える」と理解しやすいところがあります。

しかし、現在完了形の中心は完了そのものではありません。過去を現在の領域へ持ってきて、今の経験・結果・継続として見せることです。

日本語から英語へ訳す前に、次のどちらを伝えたいか選びましょう。

  • いつ起きた出来事かを報告する → 過去形
  • その出来事が今にどう関係するかを示す → 現在完了形

会話での使い分け

会話では、相手の質問がどちらの景色を求めているかを見ると選びやすくなります。

  • Did you see Emma yesterday?
    昨日エマに会いましたか。
    → Yes, I saw her at the station.
  • Have you ever seen Emma perform?
    エマが演じるのを見たことがありますか。
    → Yes, I’ve seen her perform twice.

Did you …? は閉じた過去の場面を尋ねています。Have you ever …? は今までの経験を尋ねています。

しゅみすけ(大山俊輔)

「いつ?」へ答えるなら過去形、「今までに?」へ答えるなら現在完了形。この二つの問いを頭に置くと、会話の途中でも判断しやすくなります。

まとめ|yesterdayは過去を閉じ、現在完了形は今へつなぐ

現在完了形とyesterdayを通常一緒に使えないのは、単なる暗記ルールではありません。二つが見せる時間の景色が異なるからです。

  • 現在完了形:過去の出来事を今の経験・結果・継続として見る
  • yesterday:出来事を昨日という終わった過去へ置く
  • 具体的な過去の時を述べるなら過去形を使う
  • since yesterdayなら、昨日を起点に今へつながるため現在完了形を使える
  • todayなど終わっていない期間は、話し手の見方によって現在完了形と使える

過去形と現在完了形の基本的な違いは、I livedとI have livedの違いでも確認できます。時制・進行形・完了形・未来表現の疑問をまとめて探すなら、英語の時制・時間表現の「なぜ?」一覧へ戻ってください。

現在完了形の4用法と共通する仕組みを体系的に学びたい方は、be-rize.comの現在完了形とは?4用法と過去形との違いを「今につながる」感覚で理解するもあわせてご覧ください。

この記事を書いた人
しゅみすけ(大山俊輔)

b わたしの英会話および英語コーチングGRIT/be:RIZE代表。米国MBA取得、外資系企業4社での勤務経験を持ち、これまで多くの大人の英語学習を支援。日本語と英語の処理構造の違いに着目した「英語OS」の考え方をもとに、独学で伸び悩む人の学び直しをサポートしています。

ご相談専門お電話番号

※『すぐに体験してみたい!』派のあなたには、<無料体験レッスン>WEB見た、で特典あり。

無料体験レッスン

※『すぐに体験してみたい!』派のあなたには、<無料体験レッスン>WEB見た、で特典あり。

無料体験レッスン

英語とは・英語の世界の一覧