「昨日、宿題を終えました」
「もう宿題を終えました」
この二つを、英語で言い分けられますか?
I finished my homework yesterday.
「私は昨日、宿題を終えました」
I have already finished my homework.
「私はもう宿題を終えました」
一つ目は、昨日したことを伝える文です。二つ目は、今の時点で宿題がすでに終わっていることを伝えています。
このhave finishedという形が「現在完了形」です。
「完了」という名前から、終わったことだけに使うと思っていませんか?
実は、「行ったことがある」という経験や、「5年間住んでいる」という継続も表せます。共通しているのは、過去の出来事や状態を、今とのつながりで捉えていることです。
今回は、have・hasと過去分詞の組み合わせから、経験・継続・完了や結果の使い分けまで、短い例文で見ていきましょう。
こんにちは。英語講師のTaka先生・根岸貴規です。私は日本国内で教科書の音読を中心に英語を身につけ、その英語を使って外資系投資銀行で約20年間働いてきました。英検1級・TOEIC980点を取得し、これまで累計14,000人以上の方に英語学習を指導してきました。ストアカでは、2022年から2025年まで4年連続で「最多受講者賞」を、2025年には「ストアカン・オブ・ザ・イヤー」をいただきました。
■ 基本の形|「haveの後ろには、何を置くの?」
現在完了形の基本は、次の形です。
主語+have/has+過去分詞
I、you、we、theyなどにはhaveを使い、he、she、itなどの三人称単数にはhasを使います。
She has already finished her homework.
「彼女はもう宿題を終えました」
この文では、hasとfinishedで現在完了形を作っています。間にあるalreadyは「もう、すでに」という意味です。
ここでのhaveやhasは、「持っている」という意味ではありません。過去分詞と組み合わせて、現在完了形を作る助動詞です。
主語がSheだからといって、finishedをfinishesに変えることはありません。主語に合わせて変わるのは、haveとhasの部分です。
× She have finished her homework.
○ She has finished her homework.
まずは、have finished、has finishedのように、まとまりで覚えてください。
■ 過去分詞|「過去形と同じ形ではないの?」
過去分詞は、現在完了形などを作るときに使う動詞の形です。
過去形と同じ形になる動詞もあれば、違う形になる動詞もあります。次の順番で確認しましょう。
原形 → 過去形 → 過去分詞
play → played → played
「遊ぶ、スポーツをする、楽器を演奏する」
study → studied → studied
「勉強する」
see → saw → seen
「見る」
eat → ate → eaten
「食べる」
go → went → gone
「行く」
be → was/were → been
「〜である、いる、ある」
playやstudyは、過去形と過去分詞が同じです。一方、seeは過去形がsaw、過去分詞がseenになります。
I have seen that movie twice.
「私はその映画を2回見たことがあります」
この文では、haveの後ろに過去分詞のseenを置いています。
× I have saw that movie.
○ I have seen that movie.
「過去のことだから過去形」と考えて、haveの後ろにsawを置かないようにしてください。
ここからは、現在完了形を「経験」「継続」「完了・結果」の三つに分けて見ていきます。形はどれもhave/has+過去分詞です。何を伝えているかを、例文の意味から捉えていきましょう。
■ 経験|「〜したことがある、はどう言うの?」
今までに経験したことを伝えるときに、現在完了形を使います。
I have visited Kyoto three times.
「私は京都を3回訪れたことがあります」
これは、今までの経験を振り返っている文です。いつ訪れたかを具体的に伝えているわけではありません。
回数を表す言葉も、一緒に覚えておきましょう。
once:1回
twice:2回
three times:3回
経験を尋ねるときによく使うのがeverです。
Have you ever seen a koala?
「今までにコアラを見たことがありますか?」
このeverは、「今までに」という意味です。
一度も経験していないことを伝えるなら、neverを使います。
I have never seen a koala.
「私は一度もコアラを見たことがありません」
never自体に否定の意味があるため、この文にさらにnotを加える必要はありません。
「今までにあるか」を尋ねるeverと、「今までに一度もない」を表すneverを、例文と一緒に覚えてください。
■ 継続|「ずっと〜していることも、現在完了形なの?」
過去に始まり、今も続いていることにも現在完了形を使います。
I have lived in this town for five years.
「私はこの町に5年間住んでいます」
5年前に住み始め、今も住んでいる、という意味です。「完了形」という名前でも、住むことが終わったわけではありません。
継続を表す文では、forとsinceをよく使います。
① for+期間
I have known her for three years.
「私は彼女を3年前から知っています」
knownは、know(知っている)の過去分詞です。
know → knew → known
この順に変化します。
for three yearsは「3年間」です。彼女を知っているという状態が、今まで3年間続いています。
ほかにも、次のように使えます。
for a week:1週間
for two months:2か月間
for five years:5年間
② since+始まった時点
I have lived here since April.
「私は4月からここに住んでいます」
since Aprilは「4月から」です。住み始めた時点を示しています。
since Monday:月曜日から
since last year:去年から
since I was ten:私が10歳のときから
sinceの後ろには、曜日や月だけでなく、I was tenのような文を続けることもできます。
「どれくらいの間?」に答えるならfor、「いつから?」に答えるならsince、と考えてください。
例えば、「3年間」ならfor three yearsです。since three yearsとはしません。
■ 完了・結果|「もう終わったことと、今の状態を伝える」
① 完了を伝える
I have just cleaned my room.
「私はちょうど部屋を掃除したところです」
justは、ここでは「ちょうど〜したところ」という意味です。掃除がつい先ほど終わったことを伝えています。
I have already washed the dishes.
「私はもうお皿を洗いました」
alreadyは「もう、すでに」です。今の時点で、お皿を洗い終えていることを伝えています。
このような文では、justやalreadyをhave/hasと過去分詞の間に置く形を、まず覚えてください。
have just cleaned
「ちょうど掃除したところだ」
have already washed
「すでに洗った」
alreadyは文末に置くこともありますが、最初は上の語順で練習するとよいでしょう。
② 結果が今に関わっていることを伝える
I have lost my umbrella.
「私は傘をなくしてしまいました」
傘をなくしたという過去の出来事を、今、傘が手元にない状況と結びつけて伝えています。
「いつなくしたか」よりも、「なくしてしまい、今も傘がない」という点に注目しています。
経験・継続・完了や結果は、意味を整理するための分け方です。用法の名前を当てるだけでなく、その英文で何を伝えたいのかを考えましょう。
■ 疑問文と否定文|「もう終わりましたか? まだです」
① 疑問文はhave/hasを主語の前へ
Have you finished your homework yet?
「もう宿題を終えましたか?」
語順は、次のとおりです。
Have/Has+主語+過去分詞?
肯定文では主語の後ろにあったhaveを、主語の前に出します。現在完了形の疑問文では、doやdidを加える必要はありません。
答えるときは、次の形です。
Yes, I have.
「はい、終えました」
No, I have not.
「いいえ、終えていません」
主語がsheなどなら、質問の文頭はHasになります。
Has she finished her homework yet?
「彼女はもう宿題を終えましたか?」
答えも、Yes, she has.やNo, she has not.となります。
② 否定文はhave/hasの後ろにnot
I have not finished my homework yet.
「私はまだ宿題を終えていません」
yetは、疑問文では「もう」、否定文では「まだ」という意味でよく使います。この使い方では、通常、文末に置きます。
have notの短縮形はhaven’t、has notはhasn’tです。
まずは省略しない形で、notの位置を確認してください。
③ 「どのくらいの間?」はHow long
How long have you lived in this town?
「この町にどのくらい住んでいますか?」
I have lived here for five years.
「ここに5年間住んでいます」
How longは、続いている期間を尋ねるときに使います。
How long+have/has+主語+過去分詞?
直接相手に質問するときは、How long you have lived ...としないように気をつけてください。
■ 過去形との違い|「yesterdayがあっても、現在完了形にできるの?」
「昨日」「去年」「3日前」など、終わった過去の時点を示して出来事を伝えるときには、過去形を使います。
I visited Kyoto last year.
「私は去年、京都を訪れました」
去年という時点で、何をしたかを伝えています。
一方、今までの経験を伝えるなら、次のように言えます。
I have visited Kyoto three times.
「私は京都を3回訪れたことがあります」
こちらは、今までに京都を訪れた回数を伝えています。
× I have visited Kyoto last year.
○ I visited Kyoto last year.
この文では、last yearという、すでに終わった過去の時点を指定しているため、過去形にします。
ただし、since last yearは「去年から今まで」という意味です。
I have lived in Kyoto since last year.
「私は去年から京都に住んでいます」
「去年」と「去年から」では、表している時間が違います。last yearという言葉だけを見て判断せず、sinceを含めたまとまりで読んでください。
また、過去形の出来事が、今とまったく関係がないという意味ではありません。
過去の出来事として伝えているのか、今までの経験や今の状態につなげて伝えているのか。話し手が何を伝えたいかに目を向けると、使い分けが分かりやすくなります。
■ have been toとhave gone to|「どちらも、行ったという意味?」
この二つは、形が似ていますが、使い方が違います。
① have been to:行ったことがある、行ってきた
I have been to Okinawa twice.
「私は沖縄に2回行ったことがあります」
この文では、沖縄を訪れた経験を表しています。
beenはbe動詞の過去分詞ですが、have been to ...で「〜に行ったことがある」という表現になります。文脈によっては、「〜に行ってきた」という意味でも使います。
② have gone to:行ってしまって、まだ戻っていない
My sister has gone to the library.
「姉は図書館に行っています」
姉は図書館へ出かけていて、まだ戻っていないことを伝えています。必ずしも、もう図書館に到着しているという意味ではありません。
まずは、「訪れた経験」を伝えるhave been toと、「出かけていて、まだ戻っていないこと」を伝えるhave gone toを区別して覚えましょう。
■ 確認問題|「形と意味を、自分で選べますか?」
次の7問に取り組んでください。例文と問題は、この記事の学習用に作成したものです。
① 正しい語を選んでください。
She(have/has)already cleaned her room.
「彼女はもう部屋を掃除しました」
② 正しい形を選んでください。
I have(saw/seen)that movie twice.
「私はその映画を2回見たことがあります」
③ 正しい語を選んでください。
We have lived here(for/since)three years.
「私たちはここに3年間住んでいます」
④ 正しい語を選んでください。
I have not washed the dishes(already/yet).
「私はまだお皿を洗っていません」
⑤ 次の語句を並べ替えてください。文頭を大文字にし、文末に疑問符をつけてください。
(you/been/have/to Kyoto/ever)
「今までに京都へ行ったことがありますか?」
⑥ 次の文の動詞の形を直してください。
I have played tennis yesterday.
「私は昨日、テニスをしました」
⑦ 次の文は、主に「経験」「継続」「完了」のどれを表していますか?
I have known him for six years.
「私は彼を6年前から知っています」
■ 解答と解説|「なぜ、その答えになるのかを確認しよう」
① has
She has already cleaned her room.
「彼女はもう部屋を掃除しました」
主語がSheなので、haveではなくhasを使います。cleanedは過去分詞です。
② seen
I have seen that movie twice.
「私はその映画を2回見たことがあります」
haveの後ろには過去分詞を置きます。seeの過去形はsaw、過去分詞はseenです。
③ for
We have lived here for three years.
「私たちはここに3年間住んでいます」
three yearsは「3年間」という期間なので、forを使います。
「4月から」など、始まった時点を示すならsince Aprilとなります。
④ yet
I have not washed the dishes yet.
「私はまだお皿を洗っていません」
「まだ〜していない」と伝える文です。have not+過去分詞の形に、yetを加えます。
⑤ 並べ替えの答え
Have you ever been to Kyoto?
「今までに京都へ行ったことがありますか?」
Have+you+ever+been+to Kyotoの順に並べます。
経験を尋ねる文で、everはここでは主語と過去分詞の間に置いています。
⑥ have played → played
I played tennis yesterday.
「私は昨日、テニスをしました」
yesterdayは「昨日」という、終わった過去の時点を示しています。この文では、過去形のplayedを使います。
⑦ 継続
彼を知っているという状態が、今まで6年間続いていることを表しています。「完了形だから、知っている状態が終わった」と考えないようにしてください。
答え合わせをしたら、間違えた理由を一言で説明してみましょう。
「主語がSheだからhas」
「期間なのでfor」
「昨日の出来事なので過去形」
答えだけでなく理由も説明できれば、形と意味を結びつけて理解できているか確かめられます。
■ 今日の練習|「自分の経験や、今の状況を一文で伝えよう」
私は、文法の説明を理解した後に、例文を繰り返し音読し、日本語だけを見て英語にする練習を大切にしています。
今日は、次の三つから、自分が言えるようになりたい文を一つ選んでください。
① 経験
I have been to Kyoto twice.
「私は京都に2回行ったことがあります」
② 継続
I have lived in this town for five years.
「私はこの町に5年間住んでいます」
③ 完了
I have already cleaned my room.
「私はもう部屋を掃除しました」
まずは英文の意味と、どの形が過去分詞になっているかを確認します。そのうえで、場面を思い浮かべながら声に出してください。
次に、英文を隠し、日本語だけを見て言ってみましょう。haveが抜けたり、過去分詞を思い出せなかったりしたら、その部分を確かめてもう一度。言えるようになったら、何も見ずに書いてみます。
最後に、自分のことに変えてください。
訪れた場所や回数を変える。
住んでいる場所や年数を変える。
今日すでに終えたことを伝える。
経験の文を選んだ方は、相手への質問にもしてみましょう。
Have you ever been to Kyoto?
「今までに京都へ行ったことがありますか?」
「行ったことがある」「今も続いている」「もう終わっている」。現在完了形は、日常で伝えたいことを表すための形です。
今日は、自分について一文言えるところまで取り組んでみてください。そして明日、その一文を何も見ずに言えるか、もう一度確かめましょう。
現在完了形に慣れてきたら、「ずっと勉強している」など、動作の継続に注目する現在完了進行形も学んでみてください。形の作り方や現在完了形との違いは、「現在完了進行形」をやさしく解説した記事で紹介しています。
■ 参考資料
・Oxford Learner’s Dictionaries:現在完了形のforとsince
・British Council:just・yet・still・alreadyの使い方
・Oxford Learner’s Dictionaries:現在完了形と過去形の違い
根岸貴規
・英語が苦手でも大丈夫!2か月で基礎を攻略する英検®︎3級英文法講座
現在完了形を含む英検3級の英文法を、講義動画と確認テストの解説で繰り返し学びたい方に。
・中学英文法オンライン講座|5ヶ月で中学3年分を基礎から学び直す
現在形・過去形・現在完了形の関係を整理し、中学英文法を基礎から学び直したい方に。
・初心者向け|オンライン英会話講座|4ヶ月で中学英語を使える英語に
学んだ文法を使って、自分の経験や日常の出来事を短い英語で伝える練習をしたい方に。