はじめに:なぜ時制がムズかしいのか
英文法の中でも「時制」は地味だけどつまずく人が多い分野です。
理由はシンプルで、日本語は時制がゆるいからです。
日本語では「昨日ケーキを食べた」も「ケーキを食べたことがある」も、どちらも「食べた」で済んでしまいます。過去の出来事なのか、経験を語っているのか、文脈で判断するのが日本語のやり方です。
ところが英語は違います。
- I ate cake yesterday.(昨日ケーキを食べた)→ 過去形
- I have eaten cake before.(前にケーキを食べたことがある)→ 現在完了形
英語では**「いつのことか」「今と関係があるか」を文法で厳密に区別する**のです。
この記事では「過去形と現在完了の違いがよくわからない…」という人に向けて、時制の基本をゼロから解説します。
1. まず過去形を確認しよう
現在完了を理解するには、まず過去形の感覚をしっかり押さえておく必要があります。
I ate lunch at noon. (正午に昼食を食べた。)
過去形は**「過去のある時点で起きた出来事」**を表します。
ポイントは、その出来事が過去で完結しているということです。「正午に食べた」という事実を述べているだけで、今どうなっているかは関係ありません。
過去形が使われる場面
英文 | 和訳 | ポイント |
|---|---|---|
I visited Kyoto last summer. | 去年の夏に京都を訪れた。 | last summer = 過去の時点が明確 |
She lost her key yesterday. | 彼女は昨日鍵を失くした。 | yesterday = 過去の時点が明確 |
He studied English in high school. | 彼は高校で英語を勉強した。 | in high school = 過去の期間 |
共通しているのは、「いつ」が明確で、今の話はしていないという点です。
過去形のキーワードとして、yesterday / last week / ago / in 2020 / when I was ~ など、過去の時点を示す表現がよくセットで出てきます。
2. 現在完了形とは?
ここからが本題です。
I have already eaten lunch. (もう昼食を食べてしまった。)
この文は「食べた」という過去の行為を述べていますが、ニュアンスは過去形とは違います。「もう食べ終わっているから、今はお腹が空いていない」——つまり過去の出来事が今に影響を与えていることを伝えています。
現在完了形の形
主語 | 形 |
|---|---|
I / you / we / they | have + 過去分詞 |
he / she / it | has + 過去分詞 |
have / has + 過去分詞(p.p.)
これが現在完了形の基本の形です。
現在完了形の本質
現在完了形の本質は、**「過去と現在をつなぐ架け橋」**です。
- 過去形 → 過去のある時点の話。今とは切り離されている。
- 現在完了形 → 過去に起きたことが今に影響を残している、または今の時点まで続いている。
この「今との関連性」が、過去形と現在完了形を分ける決定的な違いです。
3. 現在完了の3用法
現在完了形には大きく分けて3つの使い方があります。入試ではこの3用法を見分ける問題がよく出るので、それぞれの意味とセットで使われるキーワードを押さえましょう。
用法1:完了「〜してしまった」
過去に始まった動作がちょうど完了したことを表します。
I have just finished my homework. (ちょうど宿題を終えたところだ。)
She has already left the office. (彼女はもうオフィスを出てしまった。)
Have you eaten dinner yet? (もう夕食は食べた?)
キーワード:just(ちょうど)/ already(すでに)/ yet(もう・まだ)
- just → 肯定文で「ちょうど〜したところ」
- already → 肯定文で「すでに〜した」
- yet → 疑問文で「もう〜した?」、否定文で「まだ〜していない」
用法2:経験「〜したことがある」
今までの人生で〜した経験があるかどうかを表します。
I have been to Okinawa twice. (沖縄に2回行ったことがある。)
Have you ever seen a shooting star? (流れ星を見たことはある?)
She has never eaten natto. (彼女は納豆を食べたことがない。)
キーワード:ever(今までに)/ never(一度も〜ない)/ before(以前に)/ once(1回)/ twice(2回)/ ~ times(〜回)
用法3:継続「ずっと〜している」
過去のある時点から始まった状態が今も続いていることを表します。
I have lived in Tokyo for ten years. (東京に10年間住んでいる。)
She has known him since high school. (彼女は高校のときから彼を知っている。)
We have been friends since childhood. (私たちは子どものころからの友人だ。)
キーワード:for + 期間(〜間)/ since + 起点(〜以来)
- for → 期間の長さを示す(for three years / for a long time)
- since → 始まりの時点を示す(since 2020 / since I was a child)
3用法の見分け方
用法 | 意味 | キーワード |
|---|---|---|
完了 | 〜してしまった | just / already / yet |
経験 | 〜したことがある | ever / never / before / ~ times |
継続 | ずっと〜している | for / since |
キーワードが文中にあれば、どの用法か一発で見分けられます。
4. 過去形 vs 現在完了形
ここまでの内容を踏まえて、過去形と現在完了形の違いを正面から比較しましょう。
決定的な違いは「今との関連性」
過去形 | 現在完了形 | |
|---|---|---|
意味 | 過去の出来事(今と切り離されている) | 過去の出来事が今に影響を与えている |
時間の感覚 | 「あのとき〜した」 | 「(その結果)今〜だ」 |
時を表す語句 | yesterday / last ~ / ago / in 2020 | just / already / yet / ever / for / since |
具体例で比較しよう
例1:鍵を失くした
I lost my key yesterday.(過去形) 昨日鍵を失くした。(今は見つかったかもしれないし、まだ失くしたままかもしれない — そこは関係ない)
I have lost my key.(現在完了形) 鍵を失くしてしまった。(→ 今も見つかっていない、だから困っている)
例2:本を読んだ
I read that book last month.(過去形) 先月あの本を読んだ。(過去の事実を述べているだけ)
I have read that book.(現在完了形) あの本は読んだことがある。(→ 今、内容を知っている)
例3:東京に住んでいた / 住んでいる
I lived in Tokyo for five years.(過去形) 東京に5年間住んでいた。(→ 今は東京にいない)
I have lived in Tokyo for five years.(現在完了形) 東京に5年間住んでいる。(→ 今も東京にいる)
超重要ルール:過去を示す語句と現在完了は一緒に使えない
I have eaten sushi yesterday. ← これは間違い!
yesterday は「過去の特定の時点」を示す語句です。現在完了形は「今とつながっている」ことを表すので、過去の時点を明示する語句とは相性が悪いのです。
正しくは以下のどちらかです。
I ate sushi yesterday.(過去形 + yesterday) I have eaten sushi before.(現在完了形 + before)
入試でもこのルールを利用した問題が頻出します。yesterday / last week / ago / when ~ / in 2020 などが文中にあったら、現在完了形は使えないと判断しましょう。
5. 過去完了形(had + p.p.)
ここからは少しレベルアップします。
When I arrived at the station, the train had already left. (駅に着いたとき、電車はすでに出発してしまっていた。)
この文には2つの出来事があります。
- 駅に着いた(arrived)→ 過去の出来事
- 電車が出発した(had left)→ それよりさらに前の出来事
過去完了形は、過去のある時点よりもさらに前に起きたことを表します。これを**「大過去」**と呼ぶこともあります。
過去完了形の形
had + 過去分詞(p.p.)
主語が何であっても had を使います(has にはなりません)。
過去完了 = 「過去の過去」
時間の流れ | 内容 |
|---|---|
さらに過去(大過去) | 電車が出発した → had left |
過去 | 駅に着いた → arrived |
現在 | 今 |
例文で感覚をつかもう
英文 | 和訳 | 時間関係 |
|---|---|---|
I had already eaten lunch when she called me. | 彼女が電話してきたとき、私はすでに昼食を食べ終えていた。 | 食べた → 電話が来た |
He realized he had forgotten his wallet. | 彼は財布を忘れたことに気づいた。 | 忘れた → 気づいた |
The movie had started before we arrived at the theater. | 劇場に着く前に映画は始まっていた。 | 映画が始まった → 着いた |
過去完了の3用法
現在完了と同じく、過去完了にも完了・経験・継続の3用法があります。基準点が「現在」から「過去のある時点」に移っただけです。
用法 | 例文 | 意味 |
|---|---|---|
完了 | She had just left when I arrived. | 着いたとき、彼女はちょうど出たところだった。 |
経験 | I had never seen snow before I went to Hokkaido. | 北海道に行くまで雪を見たことがなかった。 |
継続 | He had lived in London for ten years before he moved to Tokyo. | 東京に引っ越す前、彼はロンドンに10年間住んでいた。 |
6. 時制の一致と完了形
英語には**「時制の一致」というルールがあります。主節の動詞が過去形になると、従属節(that節など)の動詞も過去の方向にズレる**のです。
基本パターン
I think (that) she is busy.(現在) 彼女は忙しいと思う。
I thought (that) she was busy.(過去 → 時制の一致) 彼女は忙しいと思った。
主節が think → thought に変わると、従属節の is も was に変わります。
完了形が絡む場合
ここで完了形が登場すると、次のようになります。
I think (that) she has finished the report.(現在) 彼女はレポートを終えたと思う。
I thought (that) she had finished the report.(過去 → 時制の一致) 彼女はレポートを終えたと思った。
主節が過去形(thought)になると、have/has は had に変わります。つまり、現在完了 → 過去完了にズレるのです。
時制の一致まとめ
主節が現在形のとき | 主節が過去形のとき |
|---|---|
is / am / are | → was / were |
has / have + p.p. | → had + p.p. |
will | → would |
can | → could |
時制の一致は機械的なルールなので、パターンを覚えてしまえば怖くありません。
7. 入試でよく出る!完了形の見分け方
入試問題で完了形が出てきたとき、最初にやるべきことは**「どの時制を使うべきか」を判断する**ことです。
チェックポイント
- yesterday / last ~ / ago / in 2020 などの過去の時点が明示されている → 過去形(現在完了は使えない)
- just / already / yet / ever / never / for / since がある → 現在完了形の可能性が高い
- 過去のある時点を基準にして「それより前」の話をしている → 過去完了形
- 主節が過去形で、従属節に完了の意味がある → 時制の一致で had + p.p.
練習問題
次の空所に入る語を選んでみましょう。
Q1. I _____ in this town since I was born.
(A)live (B)lived (C)have lived (D)had lived
Q2. She _____ the movie three times before.
(A)sees (B)saw (C)has seen (D)had seen
Q3. When we arrived at the park, the cherry blossoms _____ already _____.
(A)have ... fallen (B)had ... fallen (C)were ... fallen (D)did ... fall
解答と解説
Q1. 正解:(C)have lived
since I was born(生まれてからずっと)は「過去の起点から現在まで続いている」ことを表します。これは現在完了の継続用法です。「生まれてからずっとこの町に住んでいる」という意味になります。(D)の had lived(過去完了)は基準が「過去のある時点」のときに使うので、ここでは不適切です。
Q2. 正解:(C)has seen
before(以前に)と three times(3回)は現在完了の経験用法のキーワードです。「以前に3回その映画を見たことがある」という意味。過去の特定時点が示されていないので、過去形(B)ではなく現在完了形が適切です。
Q3. 正解:(B)had ... fallen
arrived(着いた)は過去の出来事。桜が散ったのは「着いたとき」よりもさらに前のことなので、過去完了形(had fallen)が正解です。「公園に着いたとき、桜はすでに散ってしまっていた」という大過去の用法です。
まとめ
ポイント | 内容 |
|---|---|
過去形 | 過去のある時点の出来事。今とは切り離されている |
現在完了形 | have/has + p.p.。過去の出来事が今に影響を残している |
現在完了の3用法 | 完了(just/already/yet)・経験(ever/never/before)・継続(for/since) |
過去形 vs 現在完了形 | 決定的な違いは「今との関連性」。yesterday/ago は現在完了と使えない |
過去完了形 | had + p.p.。過去のある時点よりさらに前の出来事(大過去) |
時制の一致 | 主節が過去形 → 従属節の現在完了は過去完了にズレる |
見分けのコツ | キーワード(since/for/ago/yesterday など)に注目して時制を判断する |
時制と完了形は、一度「時間軸で考える」クセがつけば、実はシンプルです。まずはこの記事の例文を何度も読み返して、「過去形は過去で完結」「現在完了は今とつながっている」という感覚をつかんでいきましょう。
近大英語の文法問題を実際に解いてみたい方は、文法・語法ドリルで練習できます。