中学英語・やり直し英語のつまずき整理

現在完了とは?4用法を中学生にもわかるように整理

現在完了は have / has + 過去分詞 で、 過去の出来事が今につながっていることを表す形です。 日本語では「した」「したことがある」「ずっとしている」など訳し方が分かれますが、 英語ではまず「今と関係があるか」を見るのが大切です。

過去形は「過去の時点」に注目し、現在完了は「今まで・今の状態」に注目します。 このページでは、4用法、過去形との違い、目印語、よくあるミス、ミニ確認までを整理します。 初心者は、まず have / has + 過去分詞今につながるだけ押さえれば大丈夫です。

中学生 大人のやり直し英語 高校受験前の復習 TOEIC初級者 4用法・目印語・ミス確認
主語 + have / has + 過去分詞
まずはこの感覚

I have finished my homework.

宿題を終えた。そして、今は「終わっている」状態。過去の行動が今につながっています。

現在完了は過去の出来事が今につながることを表す図

現在完了はこの3つで見る

1. 形

have / has + 過去分詞

  • I have finished.
  • She has visited.
  • They have lived.

2. 核

過去から今へのつながり

いつ起きたかより、今どうなっているか・今までにどうかを見ます。

3. 4用法

  • 完了:ちょうど終わった / もう終わった
  • 結果:過去の結果、今そうだ
  • 経験:今までにしたことがある
  • 継続:過去から今まで続いている

迷ったら、まず「過去の一点の話?それとも今につながる話?」と考えましょう。

現在完了の形

A. 肯定文

主語 + have / has + 過去分詞

  • I have finished my homework.
  • She has visited Kyoto.
  • They have lived here for five years.

B. 否定文

主語 + have / has + not + 過去分詞

  • I have not finished my homework.
  • He has not eaten lunch yet.
  • We have not seen that movie.

短縮形:have not = haven't / has not = hasn't

C. 疑問文

Have / Has + 主語 + 過去分詞 ...?

  • Have you finished your homework?
  • Has she visited Kyoto?
  • Have they lived here long?

D. 三人称単数は has

I / you / we / theyhave

he / she / ithas

E. 過去分詞に注意

規則動詞は finished / visited / opened のような形です。 不規則動詞は been / gone / seen / eaten / written などがあります。

NG I have went. OK I have gone.
NG She has ate. OK She has eaten.

現在完了と過去形の違い

過去形は、過去のいつの話かに注目します。現在完了は、過去から今までのつながりに注目します。

yesterdaylast yearin 2020 のように 過去の時点がはっきりしている場合は、基本的に過去形を使います。 ただし todaythis weekthis year は、 その期間がまだ続いている場合、現在完了と一緒に使えることがあります。

スマホでは表がカード状に並びます。
言いたいこと 過去形 現在完了 ポイント
昨日、鍵をなくした I lost my key yesterday. 不可または不自然 yesterday があるので過去形。
鍵をなくして、今もない I lost my key. I have lost my key. 今の状態に注目するなら現在完了。
去年京都へ行った I went to Kyoto last year. 不可または不自然 last year があるので過去形。
京都へ行ったことがある I went to Kyoto. I have been to Kyoto. 経験を言うなら現在完了。
3年前からここに住んでいる I lived here three years ago.
意味が変わる
I have lived here for three years. 過去から今まで続いているなら現在完了。

NG I have visited Kyoto last year. OK I visited Kyoto last year.

明確な過去時点を言うときは、基本的に過去形にします。

現在完了の4用法

1

完了:ちょうど終わった / もう終わった

現在完了の完了用法を、宿題がちょうど終わった場面で説明する図

今、動作が終わったところ、またはすでに終わっていることを表します。 結果として今の状態に関係します。

目印語:just / already / yet

I have just finished my homework.

She has already left home.

Have you finished the report yet?

I haven't cleaned my room yet.

過去形:I finished my homework an hour ago. は「1時間前」が中心。

NG I have finished my homework yesterday. OK I finished my homework yesterday.

2

結果:過去の結果、今そうだ

現在完了の結果用法を、なくした物が今もない状態で説明する図

過去の出来事の結果が、今も残っているときに使います。 「今どうなっているか」に注目します。

よく使う動詞:lost / gone / broken / left / changed

I have lost my phone.

He has gone to school.

The window has broken.

She has left her bag at home.

He has gone to school. は「学校へ行って、今ここにいない」イメージです。

結果用法では、今の状態を説明する文を添えると分かりやすくなります。

3

経験:今までにしたことがある

現在完了の経験用法を、これまでの経験として説明する図

生まれてから今まで、または今までの期間で経験があるかを言います。 いつしたかより、経験の有無に注目します。

目印語:ever / never / before / once / twice / three times

I have been to Kyoto twice.

Have you ever eaten sushi?

She has never seen snow.

We have met before.

経験では go より been to を使うことが多いです。

last year のようにいつ行ったかを言うなら過去形にします。

4

継続:過去から今まで続いている

現在完了の継続用法を、過去から今まで続く線で説明する図

過去に始まり、今も続いていることを表します。状態を表す動詞と相性がよく、 forsince がよく使われます。

目印語:for three years / since 2020 / since April / How long ...?

I have lived here for three years.

She has known him since April.

We have studied English for six months.

How long have you worked here?

for は期間、since は始まった時点です。

NG I live here for three years. OK I have lived here for three years.

現在完了4用法の早見表

スマホでは表がカード状に並びます。
用法 意味の中心 よく使う目印 例文 見分けるポイント よくあるミス
完了 今終わった / もう終わった just / already / yet I have just finished dinner. 今終わったところ、まだ終わっていない。 yet の位置を間違える。
結果 過去の結果、今そうだ lost / gone / broken / left I have lost my wallet. 今ない、今ここにいない、今壊れている。 has gone tohas been to を混同する。
経験 今までにしたことがある ever / never / before / once / twice I have been to Osaka twice. いつしたかより、経験の有無。 last year と一緒に使う。
継続 過去から今まで続いている for / since / How long I have lived here since 2020. 今も続いている。 forsince を混同する。

現在完了でよく使う目印語

just

意味:ちょうどしたところ

位置:have / has と過去分詞の間

I have just finished the lesson.
She has just arrived.

already

意味:すでに / もう

位置:have / has と過去分詞の間、または文末

I have already eaten lunch.
She has already finished her homework.

yet

意味:もう / まだ

使う文:否定文・疑問文で使いやすい

Have you finished it yet?
I haven't finished it yet.

ever

意味:今までに

位置:過去分詞の前

Have you ever visited Hokkaido?
Has she ever tried this game?

never

意味:一度もない

位置:過去分詞の前

I have never seen snow.
He has never eaten sushi.

before

意味:以前に

位置:文末が多い

I have seen this movie before.
We have met before.

for

意味:の間

後ろ:期間

for three years
for two weeks
for a long time

since

意味:以来

後ろ:始まった時点

since 2020
since April
since I was a child

agoyesterdaylast year など、過去の時点をはっきり示す語は、 基本的に過去形と使います。todaythis weekthis year は、 その期間がまだ続いている場合、現在完了と使えることがあります。

for と since の違い

for:期間

どれくらいの長さかを表します。

for three days / for two years / for a long time

since:始まった時点

いつから始まったかを表します。

since Monday / since 2020 / since I was ten

表現 正しい形 理由
3年間 for three years 期間なので for
2020年から since 2020 始まった時点なので since
月曜日から since Monday 始まった時点なので since
長い間 for a long time 期間なので for
子どものころから since I was a child 始まった時点を表す節なので since

I have studied English for two years.

I have studied English since 2024.

She has known him for a long time.

She has known him since high school.

NG since three years OK for three years NG for 2020 OK since 2020

have been to / have gone to / have been in の違い

have been to

意味:へ行ったことがある

用法:経験

I have been to Kyoto twice.
Have you ever been to Canada?

行って帰ってきた経験を表します。

have gone to

意味:へ行ってしまった / 今ここにいない

用法:結果

My father has gone to the office.
She has gone to London.

行った結果、今ここにいないイメージです。

have been in

意味:にずっといる / 滞在している

用法:継続

I have been in Tokyo for two weeks.
He has been in Japan since April.

その場所に滞在している期間を表します。

NG I have gone to Kyoto twice. を「京都へ行ったことが2回ある」と読む。 OK 経験なら I have been to Kyoto twice. が基本です。

already / yet / still の違い

already

意味:すでに / もう

I have already finished lunch.
She has already left.

思ったより早い、または完了していることを言います。

yet

意味:もう / まだ

Have you finished lunch yet?
I haven't finished lunch yet.

疑問文・否定文で、完了したかを確認します。

still

意味:まだ

I still haven't finished lunch.
He still hasn't called me.

予想より遅れて、まだ完了していないことを強調します。

I have already finished. = もう終わった

Have you finished yet? = もう終わった?

I haven't finished yet. = まだ終わっていない

I still haven't finished. = まだ終わっていない、予想より遅い感じ

発展:現在完了進行形との違い

現在完了

結果や経験に注目しやすい形です。

I have cleaned my room.
部屋を掃除した。今、掃除が終わっていることに注目します。

現在完了進行形

動作の継続や途中経過に注目しやすい形です。

I have been cleaning my room.
ずっと掃除している、または掃除していたところに注目します。

I have studied English for two hours.I have been studying English for two hours. は近い場面で使えますが、 初心者はまず現在完了の4用法を優先しましょう。

過去分詞に注意

現在完了は have / has + 過去分詞 です。 過去形と同じ形の動詞もありますが、不規則に変わる動詞もあります。

原形 過去形 過去分詞 例文
go went gone He has gone home.
be was / were been I have been to Kyoto.
see saw seen Have you seen this movie?
eat ate eaten She has eaten lunch.
write wrote written I have written the email.
do did done We have done our homework.
lose lost lost I have lost my key.
know knew known I have known him for years.

不規則動詞をまとめて確認したいときは、 動詞の語形変化(Lesson 009)も使えます。

よくある間違い

1. yesterday と一緒にする

NG I have finished my homework yesterday.

OK I finished my homework yesterday.

過去の時点がはっきりしている場合は、基本的に過去形です。

2. have went

NG I have went to Kyoto.

OK I have been to Kyoto.

現在完了は過去分詞。経験では been to をよく使います。

3. has ate

NG She has ate lunch.

OK She has eaten lunch.

eat の過去分詞は eaten です。

4. live here for three years

NG I live here for three years.

OK I have lived here for three years.

過去から今まで続いているなら現在完了を使います。

5. since three years

NG I have lived here since three years.

OK I have lived here for three years.

three years は期間なので for です。

6. for 2020

NG I have lived here for 2020.

OK I have lived here since 2020.

2020 は始まった時点なので since です。

7. ever went

NG Have you ever went to Osaka?

OK Have you ever been to Osaka?

現在完了は過去分詞。経験では been to が基本です。

8. haven't already

NG I haven't finished it already.

OK I haven't finished it yet.

否定文で「まだしていない」は yet が自然です。

9. has gone twice を経験にする

NG He has gone to Canada twice. を「2回行ったことがある」と訳す

OK He has been to Canada twice.

経験を表すなら have been to を使います。

迷ったときの判断フロー

1
過去の時点がはっきりしている?

yesterday / last week / last year / in 2020 / two days ago があれば、まず過去形。 例:I saw him yesterday.

2
今の状態につながっている?

今ない、今終わっている、今ここにいない、今壊れているなら現在完了の完了・結果。 例:I have lost my key.

3
今までの経験を言っている?

ever / never / before / once / twice があれば経験。 例:I have been to Kyoto twice.

4
過去から今まで続いている?

for / since / How long があれば継続。 例:I have lived here since 2020.

5
目印語の位置を確認する

just / already は have / has と過去分詞の間。 yet は文末。ever / never は過去分詞の前。 for は期間、since は始まった時点です。

6
最後に過去分詞を確認する

gone / been / seen / eaten / written など、 過去形ではなく過去分詞になっているか見ます。

1分チェック

次の組み合わせを即答できるようにすると、問題で迷いにくくなります。

  • 現在完了の形 → have / has + 過去分詞
  • 核 → 過去から今へのつながり
  • 完了 → just / already / yet
  • 結果 → lost / gone / broken
  • 経験 → ever / never / before / once / twice
  • 継続 → for / since / How long
  • 過去の明確な時点 → 過去形
  • for → 期間
  • since → 始まった時点
  • 経験の「行ったことがある」 → have been to
  • 行ってしまって今いない → have gone to
  • go の過去分詞 → gone
  • be の過去分詞 → been

TOEIC Part 5ではどう出る?

TOEIC Part 5でも、現在完了は見かけやすい形です。 選択肢に have / has / had / 過去形 / 過去分詞 が並ぶときは、空欄の前後を見ます。

  • sincefor がある場合、現在完了を疑う。
  • already / yet / recently / so far などの目印語を見る。
  • 主語が三人称単数なら has
  • have / has の後ろは過去分詞。
  • 明確な過去時点があるなら過去形を疑う。
Q1. Ms. Tanaka ______ in this department since 2021. (A) works (B) worked (C) has worked (D) working

答え:(C) has workedsince 2021 があり、過去から今まで続いているため現在完了が自然です。

Q2. The team has already ______ the report. (A) submit (B) submitted (C) submitting (D) submits

答え:(B) submittedhas already + 過去分詞 の形です。

Q3. We ______ the client yesterday. (A) have met (B) met (C) has met (D) meeting

答え:(B) metyesterday があるので、基本的に過去形を使います。

Q4. Have you ______ the new schedule yet? (A) see (B) saw (C) seen (D) seeing

答え:(C) seen。現在完了の疑問文は Have + 主語 + 過去分詞 です。

目的別の覚え方

中学英語でまず覚えたい

have / has + 過去分詞、過去から今へのつながり、4用法、for / since、過去形との違い。

訳し方を丸暗記するより、今とつながっているかを確認しましょう。

大人のやり直し英語

過去形との違い、have been to / have gone to、for / since、目印語を短い文で確認。

細かい用法名より、使う場面を例文で覚えると続けやすいです。

高校受験・定期テスト

4用法の見分け、書き換え問題、since / for、already / yet、been / gone。

用法名だけでなく、目印語と日本語訳の違いも確認しましょう。

TOEIC Part 5対策

since / for、already / yet / recently / so far、have / has + 過去分詞、過去形との比較、主語と has / have の一致。

空欄の前後にある時を表す語と、過去分詞の形を確認しましょう。

ミニ確認

Q1. I have just finished my homework. はどの用法?

答え:完了just があり、「ちょうど終えたところ」という意味です。

Q2. I went to Kyoto last year. を現在完了にしない理由は?

答え:last year という過去の時点がはっきりしているからです。この場合は過去形が自然です。

Q3. I have lived here since 2020. はどの用法?

答え:継続since 2020 は「2020年から今まで」を表します。

Q4. I have lost my key. はどの用法?

答え:結果。鍵をなくした結果、今も鍵がない状態を表します。

Q5. I have been to Kyoto twice. はどの用法?

答え:経験。今までに京都へ2回行ったことがある、という経験を表します。

Q6. She has lived here for five years. はどの用法?

答え:継続。5年間ずっとここに住んでいて、今も続いていることを表します。

Q7. I have finished my homework yesterday. は自然?

答え:不自然yesterday があるので、基本的には I finished my homework yesterday. と過去形にします。

Q8. 空欄に入るのは? I have lived here ______ 2020. (A) for (B) since

答え:(B) since2020 は始まった時点なので since を使います。

Q9. 空欄に入るのは? She has studied English ______ three years. (A) for (B) since

答え:(A) forthree years は期間なので for を使います。

Q10. 「彼は大阪へ行ったことがあります」はどれ? (A) He has gone to Osaka. (B) He has been to Osaka.

答え:(B) He has been to Osaka. 経験を表す「行ったことがある」は have been to を使います。

Q11. 「彼は会社へ行ってしまいました。今ここにいません」はどれ? (A) He has gone to the office. (B) He has been to the office.

答え:(A) He has gone to the office. 行った結果、今ここにいないことを表します。

Q12. Have you finished it yet?yet の意味は?

答え:もう。疑問文では「もう終わりましたか?」という意味で使います。

よくある質問

現在完了とは何ですか?

現在完了は、have / has + 過去分詞 で、過去から今へのつながりを表す形です。まず「今と関係があるか」を見ます。

現在完了の4用法は何ですか?

完了・結果・経験・継続です。完了は「今終わった」、結果は「過去の結果、今そうだ」、経験は「したことがある」、継続は「ずっと続いている」です。

現在完了と過去形はどう違いますか?

過去形は過去の時点、現在完了は今とのつながりに注目します。I lost my key yesterday. は過去形、I have lost my key. は今も鍵がない状態です。

yesterday と現在完了は一緒に使えますか?

基本的には使いません。yesterday は過去の時点がはっきりしているので、I finished it yesterday. のように過去形が自然です。

for と since はどう違いますか?

for は期間、since は始まった時点です。for three yearssince 2020 のように使います。

have been to と have gone to はどう違いますか?

have been to は「行ったことがある」という経験、have gone to は「行ってしまって今ここにいない」という結果を表しやすい形です。

already と yet はどう使い分けますか?

already は「もう終わった」、yet は疑問文で「もう」、否定文で「まだ」と考えると整理しやすいです。

ever と never はどこに置きますか?

多くの場合、過去分詞の前に置きます。Have you ever seen snow?I have never seen snow. の形です。

現在完了の継続と現在完了進行形はどう違いますか?

現在完了は結果や状態に注目しやすく、現在完了進行形は動作の続きや途中経過に注目しやすいです。入口では、まず現在完了の4用法を優先しましょう。

TOEICではどこを見ればよいですか?

sinceforalreadyyet、明確な過去時点、主語と has / have の一致、過去分詞の形を見ます。

今日やること

  1. まず結論カードで「過去から今へのつながり」を確認する。
  2. 現在完了の形 have / has + 過去分詞 を確認する。
  3. 4用法の早見表を見る。
  4. for / sincehave been to / have gone to を確認する。
  5. ミニ確認を3問解く。
  6. 余裕があれば Lesson 012 で詳しく学ぶ。