「I have finished my homework.(宿題を終えました)」「She has lived in Tokyo for 3 years.(彼女は3年間東京に住んでいます)」—これらの文で使われている文法が「現在完了形」です。英語の文法の中でも特に重要なこの表現は、過去に起きた出来事と現在とを結びつける役割を持っています。しかし、日本語には現在完了形に完全に対応する表現がないため、多くの学習者が理解に苦労します。
この記事では、現在完了形の基本的な意味や作り方から、過去形との違い、様々な使い方まで、わかりやすく解説します。中学英語レベルの例文を交えながら、ステップバイステップで学んでいきましょう。
現在完了形とは?基本概念を理解しよう

現在完了形とは、過去に起きた出来事や状態が、「現在に何らかの形で関連している・影響している」ことを表す時制です。英語では「have/has + 過去分詞」の形で表現されます。
例えば、「I have washed the dishes.(私は皿を洗いました)」という文では、「皿を洗った」という行為は過去に起こりましたが、その結果「今、皿がきれいになっている」という現在の状態に関連しています。
現在完了形の基本的な構造は以下の通りです。
主語 + have/has + 過去分詞 + …
現在完了形は主に以下の4つの用法があります。
- 完了・結果:過去の行為が完了し、その結果が現在に影響している
- 経験:過去のある時点から現在までの間の経験
- 継続:過去から現在まで続いている状態や行為
- 最近の出来事:現在にごく近い過去の出来事
それぞれの用法について、これから詳しく見ていきましょう。
現在完了形の作り方:基本のステップ
現在完了形を作るのは意外と簡単です。基本的なステップを確認しましょう。
ステップ1:適切な助動詞(have/has)を選ぶ
現在完了形では、主語によって have か has を選びます。
- I / You / We / They → have
- He / She / It → has
例文
- I have seen that movie.(私はその映画を見たことがあります)
- She has finished her homework.(彼女は宿題を終えました)
ステップ2:動詞を過去分詞の形にする
現在完了形では、主となる動詞を過去分詞の形にします。
過去分詞の形は規則変化する動詞と不規則変化する動詞があります。
規則変化する動詞は、原形に「-ed」を付けます。
- walk → walked
- play → played
- clean → cleaned
不規則変化する動詞は、特有の形になります(覚える必要があります)。
- go → gone
- see → seen
- do → done
- make → made
- come → come
例文
- They have cleaned the classroom.(彼らは教室を掃除しました)
- He has gone to the store.(彼は店に行きました)
ステップ3:否定文や疑問文を作る
否定文は「have/has + not + 過去分詞」の形になります。
例文
- I have not (haven’t) eaten lunch yet.(私はまだ昼食を食べていません)
- She has not (hasn’t) seen that movie.(彼女はその映画を見ていません)
疑問文は「Have/Has + 主語 + 過去分詞」の形になります。
例文
- Have you finished your homework?(宿題は終わりましたか?)
- Has he visited Japan before?(彼は以前に日本を訪れたことがありますか?)
現在完了形の基本的な作り方をマスターしたら、次はその使い方について詳しく見ていきましょう。
現在完了形の4つの用法:場面別の使い方
現在完了形には主に4つの用法があります。それぞれの使い方を例文とともに詳しく見ていきましょう。
完了・結果:「~してしまった、~したところだ」
過去に行ったことが完了し、その結果が現在に残っている場合に使います。
「ちょうど~したところだ」「すでに~してしまった」という意味合いになります。
例文
- I have finished my homework.(宿題を終えました)
- She has cleaned her room.(彼女は自分の部屋を掃除しました)
- They have arrived at the station.(彼らは駅に到着しました)
- The train has just left.(電車はちょうど出たところです)
この用法ではよく「already(すでに)」「just(ちょうど)」「yet(まだ)」などの副詞と一緒に使われます。
経験:「~したことがある」
過去のある時点から現在までの間に経験したことを表す場合に使います。
「~したことがある」という意味合いになります。
例文
- I have been to Tokyo three times.(私は東京に3回行ったことがあります)
- Have you ever eaten sushi?(あなたは今までに寿司を食べたことがありますか?)
- She has never seen snow.(彼女は雪を見たことがありません)
- They have visited many countries.(彼らは多くの国を訪れたことがあります)
この用法ではよく「ever(今までに)」「never(一度も~ない)」「~ times(~回)」などの表現と一緒に使われます。
継続:「~している、~し続けている」
過去に始まった行動や状態が現在まで継続している場合に使います。
「~している」「~し続けている」という意味合いになります。
例文
- I have lived in this city for five years.(私はこの街に5年間住んでいます)
- She has studied English since she was ten.(彼女は10歳の時から英語を勉強しています)
- He has worked at this company since 2015.(彼は2015年からこの会社で働いています)
- They have known each other for a long time.(彼らは長い間お互いを知っています)
この用法ではよく「for(~の間)」「since(~以来)」などの期間を表す表現と一緒に使われます。
最近の出来事:「最近~した」
現在にごく近い過去に起きた出来事や、影響が現在まで残っている最近の出来事を表す場合に使います。
例文
- I have recently bought a new computer.(私は最近新しいコンピュータを買いました)
- She has just returned from her trip.(彼女はちょうど旅行から戻ったところです)
- Have you heard the news?(そのニュースを聞きましたか?)
- The prices have gone up.(価格が上がりました)
この用法ではよく「recently(最近)」「lately(最近)」「just(ちょうど)」などの副詞と一緒に使われます。
これらの4つの用法を理解することで、現在完了形をいつ使うべきかが明確になります。
次に、現在完了形と過去形の違いについて見ていきましょう。
現在完了形と過去形の違い:使い分けのポイント
現在完了形と過去形は、どちらも過去の出来事を表しますが、大きな違いがあります。
両者の違いを理解することで、適切に使い分けられるようになりましょう。
時間の特定:過去形は「いつ」が明確
過去形は「いつ」という時点が明確になっている場合に使います。
一方、現在完了形は「いつ」という時点は明確ではなく、過去から現在までの期間全体を見ています。
例文(過去形)
- I visited Tokyo last year.(私は去年東京を訪れました)
- She bought a new phone yesterday.(彼女は昨日新しい電話を買いました)
- They finished the project last week.(彼らは先週そのプロジェクトを終えました)
例文(現在完了形)
- I have visited Tokyo.(私は東京を訪れたことがあります)
- She has bought a new phone.(彼女は新しい電話を買いました)
- They have finished the project.(彼らはそのプロジェクトを終えました)
現在との関連性:現在完了形は現在に関連する
現在完了形は過去の出来事が「現在に何らかの関連がある・影響がある」ことを表しますが、過去形にはそのような含みはありません。
例文(現在完了形)
- I have lost my keys.(鍵をなくしました)※まだ見つかっていない
- He has broken his leg.(彼は足を骨折しています)※まだ治っていない
例文(過去形)
- I lost my keys last week.(先週鍵をなくしました)※今どうなっているかは不明
- He broke his leg when he was a child.(彼は子供の頃に足を骨折しました)※今はもう治っている
使い分けの注意点:時を表す副詞との組み合わせ
特定の時を表す副詞(yesterday, last week, in 2010 など)は過去形と一緒に使います。現在完了形とは基本的に一緒に使いません。
一方、期間を表す副詞(for, since, just, already, yet, ever, never など)は現在完了形とよく一緒に使われます。
例文(過去形)
- I saw that movie last Sunday.(私は先週の日曜日にその映画を見ました)
- She visited her grandmother yesterday.(彼女は昨日おばあさんを訪ねました)
例文(現在完了形)
- I have already seen that movie.(私はすでにその映画を見ました)
- She has just visited her grandmother.(彼女はちょうどおばあさんを訪ねたところです)
現在完了形と過去形の違いを理解することで、英語での時制の使い分けがより明確になります。
次に、現在完了形でよく使われる副詞や表現について詳しく見ていきましょう。
現在完了形でよく使われる表現:副詞の使い方
現在完了形の意味を明確にするために、特定の副詞や表現がよく使われます。
これらの表現を使いこなすことで、より正確に自分の意図を伝えることができます。
「すでに〜」:already
「すでに〜した」という意味を表します。
肯定文で使われることが多く、通常は助動詞と過去分詞の間、または文末に置かれます。
例文
- I have already done my homework.(私はすでに宿題をやりました)
- She has already left.(彼女はすでに出発しました)
- They have finished the work already.(彼らはすでに仕事を終えました)
「まだ〜していない」:yet
「まだ〜していない」「もう〜した?」という意味を表します。
否定文や疑問文で使われることが多く、通常は文末に置かれます。
例文
- I haven’t finished my homework yet.(私はまだ宿題を終えていません)
- Have you eaten lunch yet?(もう昼食を食べましたか?)
- She hasn’t arrived yet.(彼女はまだ到着していません)
「ちょうど〜したところだ」:just
「ちょうど〜したところだ」「たった今〜した」という意味を表します。助動詞と過去分詞の間に置かれます。
例文
- I have just washed the dishes.(私はちょうど皿を洗ったところです)
- She has just called you.(彼女はたった今あなたに電話しました)
- They have just arrived at the station.(彼らはちょうど駅に到着したところです)
「今までに〜したことがある」:ever
「今までに〜したことがある」という意味を表し、主に疑問文で使われます。助動詞と過去分詞の間に置かれます。
例文
- Have you ever been to Japan?(あなたは今までに日本に行ったことがありますか?)
- Has she ever tried sushi?(彼女は今までに寿司を食べたことがありますか?)
- Have they ever seen snow?(彼らは今までに雪を見たことがありますか?)
「一度も〜したことがない」:never
「一度も〜したことがない」という意味を表します。助動詞と過去分詞の間に置かれます。
例文
- I have never been to America.(私は一度もアメリカに行ったことがありません)
- She has never eaten Thai food.(彼女は一度もタイ料理を食べたことがありません)
- They have never met each other.(彼らは一度も会ったことがありません)
「〜の間」:for
ある期間の長さを表します。「〜年間」「〜か月間」など、継続している期間を示します。
例文
- I have lived here for three years.(私はここに3年間住んでいます)
- She has studied English for six months.(彼女は6か月間英語を勉強しています)
- They have known each other for a long time.(彼らはお互いを長い間知っています)
「〜以来」:since
ある時点からずっと継続していることを表します。「〜年から」「〜してから」など、始まりの時点を示します。
例文
- I have worked at this company since 2018.(私は2018年からこの会社で働いています)
- She has lived in Tokyo since she graduated.(彼女は卒業してから東京に住んでいます)
- He has been sick since last Monday.(彼は先週の月曜日から病気です)
これらの副詞や表現を適切に使うことで、現在完了形の意味をより明確に伝えることができます。
次に、現在完了進行形について見ていきましょう。
現在完了進行形:行為の継続を強調する表現
現在完了進行形は、過去に始まり現在まで継続している「行為」を強調するための時制です。基本的な形は「have/has + been + 動詞ing」です。
通常の現在完了形が状態や結果に焦点を当てるのに対し、現在完了進行形は「行為」や「進行中の動作」に焦点を当てます。
現在完了形と現在完了進行形の違い
現在完了形と現在完了進行形の主な違いを例文で確認しましょう。
例文(現在完了形)
- I have lived in Tokyo for three years.(私は3年間東京に住んでいます)
- She has studied English since she was ten.(彼女は10歳の時から英語を勉強しています)
例文(現在完了進行形)
- I have been living in Tokyo for three years.(私は3年間ずっと東京に住み続けています)
- She has been studying English since she was ten.(彼女は10歳の時からずっと英語を勉強し続けています)
現在完了進行形は、行為が継続していることをより強調したい場合に使います。
また、最近の行為とその結果が現在に表れていることを表す場合にも使います。
例文
- I have been running, so I’m very tired.(走っていたので、とても疲れています)
- She has been crying, her eyes are red.(彼女は泣いていたので、目が赤いです)
- It has been raining all day.(一日中雨が降り続いています)
使えない動詞に注意
状態動詞(know, believe, like, love, hate, want, need など)は通常、進行形にはしません。
これらの動詞を使うときは、現在完了形を使います。
例文
- I have known him for five years.(私は彼を5年間知っています)
※ I have been knowing him for five years. とはしない - She has wanted a new bike for a long time.(彼女は長い間新しい自転車がほしいと思っています)
※ She has been wanting a new bike for a long time. とはしない
現在完了進行形は、継続している行為をより生き生きと表現したい場合に使われる便利な時制です。
しかし、初学者は基本的な現在完了形をしっかりマスターしてから取り組むとよいでしょう。
英語の現在完了形に関する練習問題20選
現在完了形をマスターするために、以下の問題を解いてみましょう。様々なタイプの問題を用意しました。
- 次の英文の空欄に適切な形の動詞を入れなさい
She _____ (live) in this city for ten years. - 次の英文の空欄に適切な形の動詞を入れなさい
I _____ (not / see) that movie yet. - 次の英文を現在完了形にして書き直しなさい
Tom visited Tokyo last year. → Tom _____ Tokyo. - 次の英文を否定文に書き換えなさい
I have finished my homework. - 次の英文を疑問文に書き換えなさい
They have cleaned the room. - 次の英文の空欄に適切な語(for または since)を入れなさい
I have lived here _____ 2015. - 次の英文の空欄に適切な語(for または since)を入れなさい
She has studied English _____ six years. - 次の英文の空欄に適切な語(already, yet, just)を入れなさい
I have _____ finished my dinner. - 次の英文の空欄に適切な語(already, yet, just)を入れなさい
Have you finished your homework _____? - 次の英文の空欄に適切な形の動詞を入れなさい
They _____ (play) tennis three times this week. - 次の英文の空欄に適切な形の動詞を入れなさい
_____ you ever _____ (be) to Japan? - 次の英文を現在完了形と過去形で書き直しなさい
I (eat) lunch.
a. 現在完了形: I _____ lunch.
b. 過去形: I _____ lunch. - 次の英文の空欄に適切な形の動詞を入れなさい
She _____ (not / finish) her project yet. - 次の英文の空欄に適切な語(never, ever)を入れなさい
I have _____ seen such a beautiful sunset. - 次の英文を現在完了進行形にして書き直しなさい
I study English.
I _____ English for three hours. - 次の英文の誤りを訂正しなさい
I have went to the store. - 次の英文の空欄に適切な形の動詞を入れなさい
He _____ (be) to the museum twice. - 次の英文の空欄に適切な形の動詞を入れなさい
How long _____ you _____ (know) him? - 次の英文の空欄に適切な形の動詞を入れなさい
They _____ (live) in London since they _____ (get) married. - 次の英文を和訳しなさい
I have never been to Australia, but I want to go there someday.
現在完了形に関するよくある質問
現在完了形に関して、学習者からよく寄せられる質問とその回答をまとめました。
- 現在完了形はいつ使うべきですか?
-
現在完了形は、過去の出来事や行為が「現在に何らかの関連がある・影響がある」場合に使います。具体的には、以下の4つになります。
- 完了・結果を表す場合
- 経験を表す場合
- 継続を表す場合
- 最近の出来事を表す場合
特定の時点(yesterday、last weekなど)が明示されている場合は、過去形を使います。
- 「for」と「since」の違いは何ですか?
-
両方とも継続期間を表しますが、使い方が異なります。
- 「for」は「〜の間」という期間の長さを表します(for three years, for a long time など)。
- 「since」は「〜以来」という始まりの時点を表します(since 2010, since I was a child など)。
- 「been to」と「gone to」の違いは何ですか?
-
どちらも「〜に行った」という意味ですが、ニュアンスが異なります。
- 「have/has been to」は「〜に行ったことがある(そして戻ってきている)」という意味です。
例:I have been to Japan.(私は日本に行ったことがあります) - 「have/has gone to」は「〜に行った(そして今そこにいる/まだ戻っていない)」という意味です。
例:He has gone to the store.(彼は店に行きました=今店にいます)
- 「have/has been to」は「〜に行ったことがある(そして戻ってきている)」という意味です。
- 「just」、「already」、「yet」の位置はどこですか?
-
- 「just」は通常、have/hasと過去分詞の間に置きます。
例:I have just finished my homework. - 「already」は通常、have/hasと過去分詞の間、または文末に置きます。
例:I have already seen that movie. または I have seen that movie already. - 「yet」は通常、否定文や疑問文の文末に置きます。
例:I haven’t finished yet. または Have you finished yet?
- 「just」は通常、have/hasと過去分詞の間に置きます。
- 現在完了形で使わない表現はありますか?
-
特定の時点を表す表現(yesterday, last week, last year, in 2010, ago など)は通常、現在完了形とは一緒に使いません。これらの表現は過去形と使います。
例:×I have visited Tokyo yesterday. → ○I visited Tokyo yesterday. - 「Have you done your homework?」と「Did you do your homework?」の違いは何ですか?
-
- 「Have you done your homework?」(宿題をやりましたか?)は、完了しているかどうかに焦点があり、いつやったかは問題ではありません。
- 「Did you do your homework?」(宿題をやりましたか?)は、過去の特定の時点(例えば昨日など)にやったかどうかを尋ねています。
これらの質問と回答を理解することで、現在完了形の使い方がより明確になるでしょう。
まとめ

現在完了形は、過去の出来事や行為が「現在に何らかの関連がある・影響がある」ことを表す重要な英語の文法です。
「have/has + 過去分詞」の形で表され、主に以下の4つの用法があります。
- 完了・結果:過去の行為が完了し、その結果が現在に影響している
- I have finished my homework.(宿題を終えました)
- 経験:過去のある時点から現在までの間の経験
- She has been to Paris three times.(彼女はパリに3回行ったことがあります)
- 継続:過去から現在まで続いている状態や行為
- They have lived here for five years.(彼らは5年間ここに住んでいます)
- 最近の出来事:現在にごく近い過去の出来事
- I have just received your email.(ちょうどあなたのメールを受け取ったところです)
現在完了形と過去形の主な違いは、「現在との関連性」です。過去形は単に過去の出来事を述べるのに対し、現在完了形はその出来事が現在にも関連していることを示します。
また、現在完了形ではよく使われる副詞や表現(already, yet, just, ever, never, for, since など)があり、これらを適切に使うことで、より正確に自分の意図を伝えることができます。
現在完了進行形(have/has + been + 動詞ing)は、過去から現在まで継続している「行為」をより強調したい場合に使います。
英語学習者にとって現在完了形は少し難しい文法かもしれませんが、基本的な用法と表現をマスターすれば、より自然な英語表現ができるようになります。この記事で解説した内容と練習問題を通して、現在完了形の理解を深め、日常会話やライティングで積極的に使ってみましょう。