s-havebeen1

文法

現在完了形 完全攻略|3つの使い方を例文で完全理解!

スポンサーリンク

投稿日:

「現在完了形が苦手…」

「過去形との違いがわからない…」
「haveとhasが出てくると頭が真っ白になる…」

 

そんな悩みを持つ中学生はとても多いです。

実際、現在完了形は中学英語の中でも特につまずきやすい単元です。

 

しかし、安心してくださいね。

現在完了形は、一見難しく見えますが、覚えるポイントはたった3つしかありません!

 

  • 経験
  • 継続
  • 完了・結果

 

この3つを理解できれば、学校のテストだけでなく、

高校受験や英検でも大きな武器になりますよ。

 

この記事では、中学生はもちろん、英語をやり直したい大人にもわかりやすいように、

例文をたくさん使って丁寧に解説します。

 

ぜひ最後まで読んで、現在完了形を得意分野にかえましょう。


目次

現在完了形とは?

現在完了形とは、「過去の出来事が現在につながっている」ことを表す文法です。

例えば次の2つを比べてみましょう。

I visited Kyoto last year.
(私は去年京都へ行きました。)

I have visited Kyoto.
(私は京都へ行ったことがあります。)

どちらも「京都へ行く」という出来事ですが、意味は少し違います。

1文目は、「去年」という過去の出来事だけを伝えています。

一方、2文目は「京都へ行った経験が今もある」という現在につながる意味になります。

これが現在完了形の最大の特徴です。

現在完了形・過去形・現在形の違い【一目でわかる比較表】

比較項目 現在形 過去形 現在完了形
時間のイメージ 今・習慣 過去の出来事 過去から現在につながる
いつ? 今・いつも 過去のある時点 「今」がポイント
意味 普段している ~した ~したことがある・ずっと~している・~したところだ
代表的な使い方 習慣・事実 過去の出来事 経験・継続・完了
よく使う語 every day, usually yesterday, last week, ago ever, never, already, just, yet, for, since
「昨日」と使える? × ×
「今も関係ある?」 ×

例文で比較してみよう

現在形

I play tennis.

私はテニスをします。

➡ 普段の習慣


過去形

I played tennis yesterday.

私は昨日テニスをしました。

➡ 昨日の出来事


現在完了形

I have played tennis.

私はテニスをしたことがあります。

➡ 経験が今もある


「京都へ行く」で違いを比較

英文 日本語 ポイント
I go to Kyoto every year. 毎年京都へ行きます。 習慣(現在形)
I went to Kyoto last year. 去年京都へ行きました。 過去の出来事
I have been to Kyoto. 京都へ行ったことがあります。 経験(現在完了)

「住む」で比較

英文 日本語 意味
I live in Tokyo. 東京に住んでいます。 今の状態
I lived in Tokyo. 東京に住んでいました。 今は住んでいない可能性が高い
I have lived in Tokyo for five years. 東京に5年間住んでいます。 今も住み続けている

「宿題」で比較

英文 日本語 違い
I do my homework every day. 毎日宿題をします。 習慣
I did my homework yesterday. 昨日宿題をしました。 過去
I have finished my homework. 宿題を終えました。 今は終わっている状態

迷ったらこの3つを考えよう!

現在形

「いつもしていること?」


過去形

「昨日・去年など、過去の話?」


現在完了形

「昔の出来事だけど、今も関係している?」


暗記するとテストで強い!覚え方

文法 合言葉
現在形 いつもの話
過去形 昔だけの話
現在完了形 昔+今の話

英これナビ流・覚え方

それぞれの星と線のイメージで覚えてくださいね!

現在形
★今
「普段のこと」

──────────────

過去形

★過去   今
「終わった話」

──────────────

現在完了形

★━━━━━━★今
「過去から今につながる話」

 

────────────────

 

①経験
★★★★━━━━━━★今

②継続
★━━━━━━━━★今

③完了
★★★━━━━★今

 

 


現在完了形の作り方

基本形はとてもシンプルです。

have / has + 過去分詞

I have finished my homework.
私は宿題を終えました。

She has lived in Tokyo for five years.
彼女は5年間東京に住んでいます。

They have visited Osaka.
彼らは大阪へ行ったことがあります。

主語が

  • I
  • You
  • We
  • They

なら have

主語が

  • He
  • She
  • It

なら has

になります。

現在完了形でよく使う副詞一覧【これだけ覚えればOK】

現在完了形では、特定の副詞がよく使われます。

まずは次の表を覚えておけば、学校のテストや高校受験でも役立ちます。

副詞 意味 よく使う用法 例文
ever 今までに 経験 Have you ever been to Kyoto?
never 一度も~ない 経験 I have never seen snow.
already もう 完了 I have already finished my homework.
just ちょうど 完了 She has just arrived.
yet まだ・もう 完了(疑問文・否定文) Have you finished yet?
for ~の間 継続 I have lived here for five years.
since ~以来 継続 She has lived here since 2020.
recently 最近 最近の出来事 I have recently started learning English.
so far 今のところ 経験・結果 We have won five games so far.
once 一度 経験 I have been to Osaka once.
twice 二度 経験 She has visited Tokyo twice.
three times 3回 経験 I have seen this movie three times.
before 以前に 経験 I have met him before.
lately 最近 継続・最近の状況 I have been busy lately.

 


用法ごとに覚えよう!

① 経験で使う副詞

  • ever
  • never
  • before
  • once
  • twice
  • many times

例文

Have you ever been to Brazil?

ブラジルへ行ったことがありますか。


I have never eaten natto.

私は納豆を食べたことがありません。


② 継続で使う副詞

  • for
  • since
  • lately

例文

I have lived here for ten years.

私は10年間ここに住んでいます。


She has studied English since 2022.

彼女は2022年から英語を勉強しています。


③ 完了・結果で使う副詞

  • already
  • just
  • yet

例文

I have already eaten lunch.

私はもう昼食を食べました。


She has just arrived.

彼女はちょうど到着しました。


Have you finished your homework yet?

宿題はもう終わりましたか。


覚え方(テスト対策)

用法 覚える副詞
経験 ever・never・before・once・twice
継続 for・since・lately
完了 already・just・yet

この3つのグループで覚えると、問題を解くスピードがぐんと上がります。


高校受験で特によく出る組み合わせ

出題 答え
Have you ( ) been to Kyoto? ever
I have ( ) seen Mt. Fuji. never
I have lived here ( ) five years. for
She has lived here ( ) 2020. since
I have ( ) finished my homework. already
Have you finished yet? yet
She has ( ) arrived. just

 


現在完了形には3つの使い方がある

現在完了形は、大きく分けて次の3つです。

用法 イメージ よく使う語
経験 ~したことがある ever, never, before
継続 ずっと~している for, since
完了・結果 ~したところだ、~してしまった already, just, yet

まずは、この3つを頭に入れておきましょう。

この表を覚えているだけでも、問題がぐっと解きやすくなります。


① 経験の使い方

s-keiken

経験とは、

「今までに○○したことがある」

という意味です。

「いつ行ったか」は言いません。

「経験がある」ということだけを伝えます。

例えば、

I have been to Tokyo.

は、

「東京へ行ったことがあります。」

という意味です。

去年なのか、一昨日なのかは関係ありません。

経験だけを話しています。


経験でよく使う単語

現在完了形(経験)では、次の単語がよく使われます。

  • ever(今までに)
  • never(一度も~ない)
  • before(以前に)
  • once(一度)
  • twice(二度)
  • many times(何度も)

これらが出てきたら、「経験」の可能性が高いと考えましょう。


経験の例文20選

① I have been to Kyoto.
私は京都へ行ったことがあります。

 

② She has visited Okinawa.
彼女は沖縄へ行ったことがあります。

 

③ We have seen this movie.
私たちはこの映画を見たことがあります。

 

④ Have you ever played tennis?
テニスをしたことがありますか。

 

⑤ Yes, I have.
はい、あります。

⑥ No, I haven't.
いいえ、ありません。

 

⑦ I have never eaten sushi.
私は一度も寿司を食べたことがありません。

 

⑧ He has climbed Mt. Fuji.
彼は富士山に登ったことがあります。

 

⑨ They have traveled abroad.
彼らは海外旅行をしたことがあります。

 

⑩ My father has driven a sports car.
父はスポーツカーを運転したことがあります。

 

⑪ I have read this book before.
私は以前この本を読んだことがあります。

 

⑫ She has met the teacher before.
彼女は以前その先生に会ったことがあります。

 

⑬ Have you ever seen snow?
雪を見たことがありますか。

 

⑭ I have visited Osaka twice.
私は大阪へ2回行ったことがあります。

 

⑮ We have stayed at this hotel before.
私たちは以前このホテルに泊まったことがあります。

 

⑯ He has watched that anime many times.
彼はそのアニメを何度も見ています。

 

⑰ Have they ever been to Brazil?
彼らはブラジルへ行ったことがありますか。

 

⑱ I have never tried natto.
私は納豆を食べたことがありません。

 

⑲ She has ridden a horse once.
彼女は一度馬に乗ったことがあります。

 

⑳ We have experienced many things together.
私たちは一緒にたくさんの経験をしてきました。

 


経験の用法で覚えておきたいポイント

「経験」の現在完了形では、「いつしたか」は言わないことが重要です。

例えば、

❌ I have visited Kyoto last year.

これは間違いです。

「last year(去年)」のように、はっきりした過去の時点を表す語は、現在完了形とは一緒に使えません。

正しくは、

  • I visited Kyoto last year.(去年京都へ行きました。)
  • I have visited Kyoto.(京都へ行ったことがあります。)

この違いを理解すると、過去形と現在完了形の使い分けがぐっと簡単になります。

「been と gone の違い」【高校受験・英検頻出】

イメージ図解で説明します。

今いる場所が東京の場合の例です。

 

been

東京

京都

東京にに帰ってきた

★★★★★★★★★★★★★★

I have been to Kyoto.

京都へ行ったことがあります。
(もう帰ってきている)

──────────────

gone

東京

京都

★★★★★★★★★★★★★★

I have gone to Kyoto.

京都へ行ってしまいました。
(まだ帰ってきていない)

比較表

 

英文 日本語 今どこ?
I have been to Kyoto. 京都へ行ったことがあります。 東京にいる
I have gone to Kyoto. 京都へ行ってしまいました。 京都にいる

イメージ

been

行った

帰ってきた

今ここ


gone

行った

まだ向こう


例文

I have been to Brazil twice.

ブラジルへ2回行ったことがあります。

(帰国済み)


My father has gone to Tokyo.

父は東京へ行っています。

(まだ帰っていません。)


覚え方

been=行って帰った

gone=行ったまま

この一言だけでも十分です。

 

② 継続の使い方を理解しよう

s-keizoku1

継続とは?

継続とは、

「過去から今までずっと続いていること」

を表します。

例えば、

I have lived in Tokyo for five years.

私は5年間東京に住んでいます。

「5年前に住み始めて、今も住んでいる」という意味です。

もし過去形にすると、

I lived in Tokyo for five years.

「5年間住んでいました(今は住んでいない)」という意味になります。

この違いは定期テストでもよく出題されます。


for と since の違い

現在完了形で必ず覚えたいのが forsince です。

for

「どれくらいの期間」を表します。

  • for two years(2年間)
  • for three months(3か月間)
  • for a week(1週間)

例文

I have studied English for three years.

私は3年間英語を勉強しています。


since

「いつから」を表します。

  • since 2020
  • since yesterday
  • since last week
  • since Monday

例文

She has lived here since 2020.

彼女は2020年からここに住んでいます。


for と since の覚え方

for=期間

どれくらい?

since=スタート地点

いつから?

この2つだけ覚えておけば大丈夫です。


継続の例文20選

① I have lived here for ten years.

私は10年間ここに住んでいます。

 

② I have known him for five years.

私は彼と5年間知り合いです。

 

③ She has worked here since April.

彼女は4月からここで働いています。

 

④ We have studied English since junior high school.

私たちは中学生の頃から英語を勉強しています。

 

⑤ My father has driven this car for ten years.

父はこの車を10年間運転しています。

 

⑥ I have had this bike since last year.

私は去年からこの自転車を持っています。

 

⑦ He has been busy since Monday.

彼は月曜日から忙しいです。

 

⑧ They have lived in Brazil for eight years.

彼らは8年間ブラジルに住んでいます。

 

⑨ I have used this computer for a long time.

私は長い間このパソコンを使っています。

 

⑩ She has played the piano since she was six.

彼女は6歳からピアノを弾いています。

 

⑪ We have been friends for many years.

私たちは長年友達です。

 

⑫ I have waited for an hour.

私は1時間待っています。

 

⑬ He has worn glasses since childhood.

彼は子どもの頃から眼鏡をかけています。

 

⑭ My mother has taught English for twenty years.

母は20年間英語を教えています。

 

⑮ I have loved dogs since I was little.

私は小さい頃から犬が大好きです。

 

⑯ They have stayed here since yesterday.

彼らは昨日からここにいます。

 

⑰ She has practiced every day for two months.

彼女は2か月間毎日練習しています。

 

⑱ We have lived in this town since 2015.

私たちは2015年からこの町に住んでいます。

 

⑲ I have kept this diary for three years.

私は3年間この日記を書いています。

 

⑳ He has studied Japanese since April.

彼は4月から日本語を勉強しています。

 


③ 完了・結果の使い方

s-kanryou1

最後は、

「ちょうど終わった」
「もう終わっている」

という意味です。

例えば、

I have finished my homework.

宿題を終えました。

つまり、

今は宿題が終わっている状態

を表しています。


よく使う単語

  • already(もう)
  • just(ちょうど)
  • yet(まだ・もう)

例文20選

① I have finished my homework.

宿題を終えました。

 

② She has just arrived.

彼女はちょうど到着しました。

 

③ We have already eaten lunch.

私たちはもう昼食を食べました。

 

④ Have you finished your work yet?

仕事は終わりましたか。

 

⑤ I haven't finished it yet.

まだ終わっていません。

 

⑥ He has lost his wallet.

彼は財布をなくしてしまいました。

 

⑦ My brother has broken his phone.

弟はスマホを壊してしまいました。

 

⑧ They have gone home.

彼らは帰宅しました。

 

⑨ I have cleaned my room.

部屋を掃除しました。

 

⑩ She has washed the dishes.

彼女は皿を洗いました。

 

⑪ We have completed the project.

私たちはプロジェクトを終えました。

 

⑫ He has written the report.

彼はレポートを書き終えました。

 

⑬ I have found my keys.

鍵が見つかりました。

 

⑭ She has bought a new bag.

彼女は新しいバッグを買いました。

 

⑮ Have they left yet?

彼らはもう出発しましたか。

 

⑯ We have just started.

私たちはちょうど始めました。

 

⑰ I have already called him.

私はもう彼に電話しました。

 

⑱ He has fixed the bike.

彼は自転車を修理しました。

 

⑲ My mother has made dinner.

母は夕食を作りました。

 

⑳ I have completed today's homework.

今日の宿題を終えました。

 

現在完了形でよく使う過去分詞一覧【まずはこれだけ覚えよう】

中学生が覚えるべき過去分詞60選【PDF代わりに使える一覧】

基本動詞

原形 過去形 過去分詞 日本語
be was/were been ~である
go went gone 行く
come came come 来る
see saw seen 見る
eat ate eaten 食べる
drink drank drunk 飲む
write wrote written 書く
read read read 読む
make made made 作る
take took taken 取る
give gave given 与える
get got gotten / got 得る
know knew known 知る
speak spoke spoken 話す
break broke broken 壊す
choose chose chosen 選ぶ
drive drove driven 運転する
begin began begun 始める
sing sang sung 歌う
swim swam swum 泳ぐ
buy bought bought 買う
bring brought brought 持ってくる
think thought thought 思う
teach taught taught 教える
catch caught caught 捕まえる
find found found 見つける
lose lost lost 失う
leave left left 去る
meet met met 会う
send sent sent 送る
build built built 建てる
feel felt felt 感じる
keep kept kept 保つ
sleep slept slept 眠る
tell told told 話す
sell sold sold 売る
hold held held 持つ
hear heard heard 聞く
understand understood understood 理解する
become became become ~になる
run ran run 走る
win won won 勝つ
say said said 言う
have had had 持つ
do did done する
put put put 置く
cut cut cut 切る
let let let ~させる
sit sat sat 座る
stand stood stood 立つ
wear wore worn 着る
forget forgot forgotten 忘れる
grow grew grown 育つ
fly flew flown 飛ぶ
fall fell fallen 落ちる
become became become ~になる
pay paid paid 支払う
learn learned learned 学ぶ
open opened opened 開ける
close closed closed 閉める
clean cleaned cleaned 掃除する

過去形との違い

ここが現在完了形で最も重要です。

過去形 現在完了形
過去だけ 過去から現在につながる
yesterday , last yearが使える yesterdayは使えない
「いつ」が重要 「今どういう状態か」が重要

I visited Kyoto last year.

去年京都へ行きました。

I have visited Kyoto.

京都へ行ったことがあります。


テストでよく出るポイント

✔ ever と never

✔ for と since

✔ already・yet・just

✔ gone と been

✔ have と has

✔ 過去形との違い

この5つは必ず確認しておきましょう。

 

 高校受験・定期テスト頻出問題15問【解説付き】

s-15

問題1【経験】

( )you ever been to Kyoto?

① Did

② Have

③ Has

答え:② Have

解説

「~したことがありますか」は現在完了形なので Have を使います。


問題2【継続】

I have lived here (   ) five years.

① since

② for

答え:② for

解説

five years は期間なので for を使います。


問題3【継続】

She has studied English (   ) 2022.

① for

② since

答え:② since

解説

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


問題4【完了】

I have (   ) my homework.

① finish

② finished

③ finishing

答え:② finished


問題5【already】

She has (   ) eaten lunch.

① already

② yesterday

③ ago

答え:① already


問題6【yet】

Have you finished your homework (   )?

① already

② yet

③ ago

答え:② yet


問題7【never】

I have (   ) seen snow.

① never

② yesterday

③ ago

答え:① never


問題8【been と gone】

My father has (   ) to Osaka.

① been

② gone

答え:② gone

解説

まだ大阪にいて帰ってきていないので gone


問題9【過去形との違い】

I (   ) Kyoto last year.

① have visited

② visited

答え:② visited


問題10【現在完了】

I have (   ) Kyoto.

① visited last year

② visited

答え:② visited


問題11【has】

She (   ) finished her work.

① have

② has

答え:② has


問題12【過去分詞】

go の過去分詞は?

① went

② gone

③ going

答え:② gone


問題13【過去分詞】

see の過去分詞は?

① saw

② seen

③ seeing

答え:② seen


問題14【英作文】

「私は京都へ行ったことがあります。」

答え

I have been to Kyoto.


問題15【英作文】

「彼は3年間英語を勉強しています。」

答え

He has studied English for three years.


★高校受験・定期テスト頻出問題16〜20問

チャレンジ問題(受験レベル)

問題16

I have lived in Tokyo ( ) 2020.

① for

② since

③ ago

答え:② since


問題17

Have you ever ( ) sushi?

① eat

② ate

③ eaten

答え:③ eaten


問題18

She has ( ) her room.

① clean

② cleaned

③ cleaning

答え:② cleaned


問題19

My brother has ( ) to Canada.

① been

② gone

答え:② gone


問題20

次の文を英語にしましょう。

「私は一度も富士山に登ったことがありません。」

答え

I have never climbed Mt. Fuji.

 


よくある間違い

❌ I have seen him yesterday.

〇 I saw him yesterday.


❌ I have lived here since three years.

〇 I have lived here for three years.


❌ She have finished.

〇 She has finished.


練習問題

問題1

私は3年間英語を勉強しています。

I have studied English for three years.


問題2

彼は宿題を終えました。

He has finished his homework.


問題3

あなたは京都へ行ったことがありますか。

Have you ever been to Kyoto?


問題4

私は納豆を食べたことがありません。

I have never eaten natto.


問題5

彼女は2022年からここに住んでいます。

She has lived here since 2022.


まとめ

現在完了形は難しそうに見えますが、実際には次の3つを覚えるだけです。

  • 経験(~したことがある)
  • 継続(ずっと~している)
  • 完了・結果(~した・~してしまった)

さらに、for・since・already・just・yet・ever・neverの使い方を理解すれば、

学校のテストや高校受験でも大きな得点源になります。

最初は例文を何度も音読し、日本語を見たら英語が言えるようになるまで繰り返し練習してみてください。

現在完了形は、一度コツをつかめば英語力が大きく伸びる重要な文法です。

◆◆現在完了形 チェックリスト◆◆

最後に、あなたがどこまで理解できたかチェックしてみてね↓

-+-+-+-+-+-

□ 現在完了形の作り方を覚えた

□ 3つの使い方がわかる

□ 現在形・過去形との違いがわかる

□ been と gone の違いがわかる

□ ever・never・already・just・yet・for・since を使い分けられる

□ 過去分詞を覚えた

□ 練習問題で確認した

-+-+-+-+-+-+-

英語力に直結する英文法記事一覧

さらに英文法の理解を深めたい人のために、文法記事一覧を作りました。

気になる記事からチェックしてみてください!

 

Have a nice day!

スポンサーリンク

-文法
-

Copyright© 英これナビ(エイコレナビ) , 2026 AllRights Reserved Powered by micata2.