英文法の現在完了形と過去形の違いと使い分けはこれでバッチリ!練習問題付きで徹底解説

英文法の現在完了形と過去形の違いと使い分けはこれでバッチリ!練習問題付きで徹底解説

英文法の現在完了形と過去形の違いと使い分け方を練習問題付きで詳しく解説していきます。

英文法が苦手な方はぜひ参考にしてみてください。

英語の現在完了形と過去形の違いと使い分け方

英語の現在完了形と過去形の違いと使い分け方を見ていきましょう。

過去形の例文

過去形は過去に済んでしまった事を表すのに使われるため、ago・yesterday・last year・at that time などの語句を使う時は現在完了形ではなく過去形にします。

× I’ve talked to him a few minutes ago.
⚪︎ I talked to him a few minutes ago.
数分前に彼と話しました。

× Where have you been this morning?
⚪︎ Where were you this morning?
あなたは今朝どこにいたのですか。

× Have you seen Nancy yesterday?
⚪︎ Did you see Nancy yesterday?
あなたは昨日ナンシーに会いましたか。

⚪︎ The blackout has lasted from 9:34 p.m. on July 13 to 10:39 p.m. on July 14.
→ The blackout lasted from 9:34 p.m. on July 13 to 10:39 p.m. on July 14.
その停電は7月13日の午後9:34から7月14日の午後10:39まで続いた。

「いつ?」「何時?」などを尋ねる時も過去形を使います。

× When have you found it out?
⚪︎ When did you find it out?
それが分かったのはいつですか。

× In what year has Tokyo hosted the last Olympics?
⚪︎ In what year did Tokyo host the last Olympics?
東京が前回のオリンピックを開催したのは何年でしたっけ?

現在完了形の例文

現在完了形は過去から現在までの間に行われた事を表すのに使われます。

現在完了形と過去形の違い

現在完了形
Thank you for inviting me. I’ve had a great time.
ご招待ありがとう。とても楽しかったよ。
↓↓↓
過去形
I had a great time yesterday.
昨日は楽しかったなぁ・・・。

現在完了形
I’m sorry I’m late.
That’s OK. I haven’t waited too long.
遅れて申し訳ない。
いいよ。あまり長く待ってないから。
↓↓↓
過去形
He was late as usual.
We didn’t wait for him and set off.
彼はいつものように遅刻した。
私たちは彼を待たずに出発した。

現在完了形
Have you done your homework yet?
No, not yet.
もう宿題済んだ?
いや、まだ。
↓↓↓
過去形
Did you do your homework last night?
No, I didn’t. I was very tired.
昨夜宿題した?
ううん。とても疲れてたんだ。

現在完了形
It has stopped snowing, but it’s still pretty cold outside.
雪はやんだけど、外はまだかなり寒い。
↓↓↓
過去形
It stopped snowing a long time ago, and it’s raining now.
雪はとっくにやんで今は雨が降っている。

現在完了形と過去形の使い分け方がわかる練習問題

現在完了形と過去形の使い分け方がわかる練習問題です。

Q1. [ ] 内の語句の正しい方を選んでください。

1. When [ have you seen / did you see ] Diana last?
2. Rena [ has been / has gone ] to London several times.
3. [ Has she been / Did she get ] married in her teens?
4. I [ haven’t had / didn’t have ] time to write you back last night.
5. How long [ have you been / are you ] teaching at the university?
6. Nick [ has left / left ] an hour ago. I’m sure he’s home by now.
7. I [ ’ve washed / washed ] my car after the trip.
8. Jane [ hasn’t been / isn’t ] in Japan for many years but speaks good Japanese.

Q2.次の会話文を読んで後の問いに答えてください。

*Tina and Jenny have been working for the same company since 2010.

Tina
Hi, Jenny! ①[ yet / you / have / had / lunch ]?
I’m going to “Himawari”, an Italian restaurant.
Would you like to come with me?

Jenny
Sure. It’s one of my favorite restaurants.
I ( go ) there very often when I was in college.
I haven’t been back there { 1 } I graduated.

Tina
Really? I thought the restaurant ( open ) only a few years { 2 }.

Jenny
No, I believe it was in 2007. It ( be ) open { 3 } at least 6 years.

Tina
②How [ did / at / often / you / eat ] Himawari when you were an undergraduate*?

Jenny
Once a week, maybe.

*undergraduate: 大学生

1. ( ) 内の動詞 go, open, be を適切な形(現在完了又は過去形)に変えてください。
2. [ ] 内の単語を並べ替えて① ②を意味の分かる文章にしてください。
3. { 1 }~{ 3 } に当てはまる単語を下から選んで入れてください。それぞれ1回ずつ使ってください。 { for since ago }

現在完了形と過去形の使い分け方がわかる練習問題の解説

現在完了形と過去形の使い分け方がわかる練習問題の解説です。

Q1. [ ] 内の語句の正しい方を選んでください。太文字部分がヒントになります。

1. When [ have you seen / did you see ] Diana last?
ダイアナに最近(前に)会ったのはいつですか。

現在完了に「いつ」を表す語句はNGです。last は今に一番近い最後という意味で使われます。

2. Rena [ has been / has gone ] to London several times.
レナは何度かロンドンに行ったことがあります。

has gone は「行ってしまってここにいない」という意味です。

3. [ Has she been / Did she get ] married in her teens?
彼女は10代で結婚したのですか。

20代なら in one’s twenties、30代なら in one’s thirties のように表します。

4. I [ haven’t had / didn’t have ] time to write you back last night.
昨夜は返信する時間がなかったんだ。

5. How long [ have you been / are you ] teaching at the university?
どれくらいの間大学で教えているのですか。

6. Nick [ has left / left ] an hour ago. I’m sure he’s home by now.
ニックは1時間前に出ました。今頃はきっと家にいると思う。

「思う」と言えばまず think を思いつくかと思いますが、「きっと」なら I’m sure、確信がなければ I guessなど色々使うことができます。

7. I [ ’ve washed / washed ] my car after the trip.
旅行の後車を洗った。

after, before も「いつ」を表す語句なので現在完了の文には使いません。

8. Jane [ hasn’t been / isn’t ] in Japan for many years but speaks good Japanese.
ジェインは日本にあまり長い間滞在していないけれど上手に日本語を話します。

speak good Japanese ≒ speak Japanese well

Q2.次の会話文を読んで後の問いに答えてください。

*Tina and Jenny have been working for the same company since 2010.

Tina
Hi, Jenny! ①[ yet / you / have / had / lunch ]?
I’m going to “Himawari”, an Italian restaurant.
Would you like to come with me?

Jenny
Sure. It’s one of my favorite restaurants.
I ( go ) there very often when I was in college.
I haven’t been back there { 1 } I graduated.

Tina
Really? I thought the restaurant ( open ) only a few years { 2 }.

Jenny
No, I believe it was in 2007. It ( be ) open { 3 } at least 6 years.

Tina
②How [ did / at / often / you / eat ] Himawari when you were an undergraduate*?

Jenny
Once a week, maybe.

1. ( ) 内の動詞 go, open, be を適切な形(現在完了又は過去形)に変えてください。

go → went ,open → opened ,be → has been

2. [ ] 内の単語を並べ替えて① ②を意味の分かる文章にしてください。

Have you had lunch yet?
もうお昼ごはん食べた?

② How often did you eat at Himawari when you were an undergraduate?
大学生の頃はどれくらい頻繁にひまわりで食事したの?

あとに when…と続いているので現在完了ではなく過去形になっています。

3. { 1 }~{ 3 } に当てはまる単語を下から選んで入れてください。それぞれ1回ずつ使ってください。 { for since ago }

1. since 2. ago 3. for

< 全文訳 >
*ティナとジェニーは2010年から同じ会社で働いています。

ティナ「ハイ、ジェニー!もうお昼ごはん食べた?イタリアンのひまわりへ行くところだけど、一緒にどう?」
ジェニー「もちろん。ひまわりは私のお気に入りのお店の一つよ。大学時代はよく行ったけど、卒業してからはずっと行ってないなぁ…。」

ティナ「ほんと?私、ひまわりはほんの2、3年前に開店したんだと思ってた。」
ジェニー「ううん、2007年だったと思うわ。開店してから少なくとも6年にはなるはずよ。」

ティナ「学生の頃はどれくらいよくひまわりで食事したの?」
ジェニー「週1回くらいかな。」

believeも「思う」という意味でよく使われる動詞の1つです。ただし強くそう思う(信じる)という意味で使われる時と、この会話文のように「多分~だと思う」という意味で使われる時があるので、状況によって判断しましょう。

まとめ

私たち日本人にとって、現在完了形は過去形なのか現在形なのかよくわからない微妙な時制ですが、それが現在完了形の特徴になります。これを機会にマスターしてしまいましょう。

超怪しいけど詐欺?1日30分、2ヶ月で英語ペラペラになる方法を試してみた結果…

CTA-IMAGE 「見るからに怪しい…」「詐欺なんじゃないの?」「本当に英会話ができるようになるの?」など、今話題になっている英語学習方法に申し込んで実際に試してみました。