電話 0422-27-7828チャットで質問無料相談を予約

武蔵野個別指導塾の特徴

【高1英文法】完了形を図解で総まとめ—現在完了・過去完了・未来完了と完了進行形(完了形・現在完了・過去完了・未来完了・完了進行形)|武蔵野個別指導塾

【高1英文法】完了形を図解で総まとめ—現在完了・過去完了・未来完了と完了進行形のアイキャッチ 武蔵野個別指導塾
X LINE Facebook

現在・過去・未来を基準にした3枚の時間軸と、並べ替え・空所補充・和文英訳で完了形を確かめ、2本の短文から出来事の順序を読み取る力を育てましょう。

よくあるのは、通学電車の窓に流れる景色を見ながら英語のノートを開き、「3年間住んでいます」は現在の話なのに、なぜ過去分詞を使うのだろうと手が止まる場面です。「完了」という名前から、すべて「終わりました」と訳したくなるかもしれません。しかし、住み続けていることも、行った経験があることも、英語では完了形で表せます。名前だけから意味を決めると、英文が伝える時間のつながりを取り落としてしまいます。

完了形を読む鍵は、まず話の基準になる時点を見つけ、そこから前を振り返ることです。今を基準にするのか、過去のある時点を基準にするのか、それとも未来のある時点なのか。この違いを押さえると、長い英文の中でも、どの出来事が先で、何がその時点まで続いているのかを整理できます。日本語の「した」「している」だけに頼らず、時間の関係を英語の形から読み取っていきましょう。

この単元で身につけること

前の単元で扱う現在・過去・未来と進行形が出来事をどの時点に置くかを示すのに対して、この単元では基準時とそれ以前のつながりを加えて読みます。用語を当てるだけで終わらず、「いつまでの話ですか」「その時点で何が言えますか」と説明できるところを目指します。

基本の考え方

現在完了は今を基準にして振り返ります

過去分詞は、動詞が完了形などで使われるときの形で、規則動詞なら多くは語尾に -ed を付けます。現在完了の基本形は「主語 + have / has + 過去分詞」で、主語が3人称単数なら has を選びます。以下では、過去分詞の形だけでなく、今にどうつながるかに注目します。

I have lived here for three years.

訳: 私はここに3年間住んでいます。

これは継続の用法です。3年前に住み始め、その状態が今まで続いています。図1のように、始まりと今を線で結ぶと、3年間が過去の途中で切れた期間ではないことが見えます。「住んでいました」と訳して今は住んでいないようにすると、ここでの意味が変わってしまいます。

図1 住み始めた過去から現在まで続く状態の時間軸

図1の緑の線は今に届いていますが、今この瞬間に引っ越すという意味ではありません。完了形が示しているのは、基準時である今までの情報です。その後も続くかどうかは、完了形だけでは決められません。

She has visited this town twice.

訳: 彼女はこの町を2回訪れたことがあります。

これは経験の用法です。今までの範囲の中で2回の訪問があったことを伝えています。twice は「2回」という回数で、いつ行ったかを特定してはいません。経験では、初めから今まで動作をし続けているわけではないので、先ほどの継続の線をそのまま当てはめないことが大切です。

I have just finished my homework.

訳: 私はちょうど宿題を終えたところです。

Ken has lost his key.

訳: ケンは鍵をなくしてしまい、今も見つかっていません。

前者は完了、後者は結果を表す読み方です。3用法として整理するときは、この2つを「完了・結果」と一組にします。just は「ちょうど今」、already は「すでに」を表し、動作が済んだことを示す手がかりになります。ただし、こうした語がない完了形もあります。鍵の文は、なくした出来事だけでなく、今も手元にないという結果に焦点があります。

Have you ever made bread?

訳: あなたは今までにパンを作ったことがありますか。

I have not read that book yet.

訳: 私はまだその本を読んでいません。

疑問文では have / has を主語の前に置き、否定文では have / has の後ろに not を置きます。ever は疑問文などで「今までに」、yet はこの否定文で「まだ」を表します。経験を一度もしていないと言う never もよく使われますが、not と重ねる必要はありません。語順を動かすときも、後ろの過去分詞はそのままです。

基準時を過去や未来へ動かします

過去完了は「主語 + had + 過去分詞」で、過去のある時点までを振り返ります。その基準時より前に起きた出来事を表すとき、その時間関係を大過去と呼びます。大過去は「とても昔」という意味ではなく、2つの過去の前後関係です。

Tom had left the room when I opened the door.

訳: 私がドアを開けたとき、トムはすでにその部屋を出ていました。

ドアを開けた時点が基準時で、トムが出たのはそれより前です。「出た」と「開けた」の両方を同じ時点として読まず、had left を一段前に置きます。出来事の間が数分でも数年でも、この前後関係があれば過去完了を使えます。

Yuki had lived there for two years when I first met her.

訳: 私が初めてユキに会ったとき、ユキはそこにすでに2年間住んでいました。

こちらは過去の基準時までの継続です。2年間の終点は今ではなく、初めて会った時点に置きます。その後もそこに住んだか、現在はどこに住んでいるかは、この1文ではわかりません。「過去完了なら、状態も必ずそのとき終わる」という読み方は避けましょう。

By next Friday, I will have finished this book.

訳: 来週の金曜日までには、私はこの本を読み終えているでしょう。

未来完了は「主語 + will have + 過去分詞」です。未来の金曜日を基準時にして、それまでに読み終えることを表しています。by は「その時点までには」という期限です。金曜日ちょうどに読み終える必要はなく、その前に終わっていても合います。will の後ろの have は、主語が誰でも has に変えません。

Next April, she will have lived here for five years.

訳: 来年の4月には、彼女がここに住んで5年になるでしょう。

By the end of this month, we will have visited the museum three times.

訳: 今月末までには、私たちはその博物館を3回訪れたことになるでしょう。

未来完了でも継続や経験を表せます。1文目は未来の基準時までの居住期間、2文目はそれまでの訪問回数です。「未来完了は終わることだけ」と覚えるより、未来の基準時までを振り返る形だと考えるほうが、初めて見る英文にも対応できます。

期間と動作の継続を分けて考えます

We have known each other since April.

訳: 私たちは4月からお互いを知っています。

Emma has been busy for two days.

訳: エマは2日間ずっと忙しい状態です。

since April は始まり、for two days は長さを示しています。since の後ろには「主語 + 動詞」のまとまりを置くこともできます。そのようなまとまりを節と呼びます。たとえば since I was ten なら「私が10歳だったときから」で、始まった過去の時点を節で表しています。for は「今まで」を単独で表す語ではなく、過去形や過去完了と一緒にも使います。

I have been reading for an hour.

訳: 私は1時間ずっと読書をしています。

I have read three books this week.

訳: 私は今週、本を3冊読みました。

現在完了進行形は「主語 + have / has been + 動詞の -ing 形」です。1文目では読書という動作が続いていることに、2文目では読み終えた冊数に注目しています。been の後ろが形容詞の busy なら進行形ではありません。先ほどのエマの文は、be の現在完了です。been という単語を見ただけで完了進行形だと決めないようにしましょう。

He had been studying for an hour when his friend called.

訳: 友人が電話をかけてきたとき、彼はすでに1時間ずっと勉強していました。

By noon, I will have been working for three hours.

訳: 正午には、私は3時間ずっと作業をしていることになります。

過去完了進行形は had been + -ing、未来完了進行形は will have been + -ing です。動作の継続に注目する点は共通で、その終点となる基準時だけを動かします。また、完了進行形は直前までしていた動作にも使えます。雨がやんだ直後に道がぬれている理由を述べるような場面では、今も雨が降っていると断定しない読み方が必要です。

例題で使い方を確かめる

例題1 継続を表す文の並べ替え

「私は月曜日からずっとこのかばんを使っています」という意味になるよう、語を並べ替えてください。先頭の語は大文字にし、最後にピリオドを付けます。

語群: using / since / have / this bag / I / Monday / been

  1. 主語になる I を先頭に置きます。「使っています」は一度の使用ではなく、月曜日から続く動作なので、ここでは現在完了進行形を作ります。
  2. have been using をひとかたまりにします。have のすぐ後ろを using にすると、必要な been が抜けて完了進行形になりません。
  3. using の対象である this bag を続け、始まりを示す since Monday を最後に置きます。Monday は日付側の情報なので、期間の長さを示す for は使いません。

毎日使うかばんの話なので、月曜日から一瞬も休まず手に持っている必要はありません。完了進行形には、このように繰り返して続けている活動を表す場合もあります。日本語の「ずっと」を、休みのない動作だけに狭めずに読みます。

答え: I have been using this bag since Monday.(私は月曜日からずっとこのかばんを使っています。)

例題2 過去の順序を空所補充で表す

次の文の空所に finish を適切な形にして入れてください。「到着するより前に、料理を終えていた」という意味にします。

When I arrived home, my father (____) cooking dinner.

訳: 私が帰宅したとき、父は夕食を作り終えていました。

  1. 基準時になる出来事を探します。arrived は過去形なので、「私が帰宅したとき」という過去の時点をまず置きます。
  2. 指定された意味から、料理の終了が帰宅より先だと決めます。帰宅した時点ですでに終了していたことをはっきり示すには、過去完了を使います。
  3. finish の過去分詞 finished の前に had を置きます。finish の後ろの cooking は「料理をすること」で、had been cooking という完了進行形の一部ではありません。

図2では、赤い点の「料理終了」が、紺の点の「帰宅」より左にあります。had finished が示すのはこの前後関係です。had を「過去だから何となく足す語」とせず、何より前なのかを確かめると、読み違いを防げます。

図2 帰宅した過去の時点より前に料理が終わる順序

図2の右側の「今」は、2つの出来事がともに過去であることを示しています。ただし、この英文からそれぞれの正確な時刻や時間差は求められません。時間軸では順番を読み、図の線の長さから「何分前」と推測しないでください。

答え: had finished(全文の意味: 私が帰宅したとき、父は夕食を作り終えていました。)

例題3 読解の中で基準時を探す

次の英文を読み、最後の問いの空所を、本文の内容に合うように埋めてください。本文は過去の訪問と、今まで続く活動を続けて述べています。

Last Saturday, I went to the library with Ken. When we arrived, he had already read the book for our class, but I had not started it. He showed me a quiet seat by the window. I read there for an hour and then borrowed the book. Since that day, I have read a little every evening. I have not finished the story yet, but I can now talk with Ken about the first part.

訳: 先週の土曜日、私はケンと図書館へ行きました。私たちが到着したとき、ケンは授業で使う本をすでに読んでいましたが、私はまだ読み始めていませんでした。彼は窓のそばの静かな席を教えてくれました。私はそこで1時間読んでから、その本を借りました。その日から、私は毎晩少しずつ読んでいます。まだその物語を読み終えてはいませんが、今では最初の部分についてケンと話せます。

問い: 「到着時には、ケンはすでに授業の本を読んでいた」を表す次の文の空所を埋めてください。

Ken (____) already (____) the book for our class when we arrived.

訳: 私たちが到着したとき、ケンは授業で使う本をすでに読んでいました。

  1. 冒頭の Last Saturday で、訪問が過去だと確認します。went、arrived、showed は、その土曜日の出来事を進めています。
  2. 到着時より前の読書を表す had already read を探します。read は原形・過去形・過去分詞が同じつづりですが、ここでは had があるので過去分詞です。発音は原形とは異なります。
  3. 空所に had と read を戻し、後半との違いも確かめます。Since that day 以降の have read と have not finished は、訪問した日から今までの話です。

本文の I read there for an hour は過去形で、「図書館での1時間」はその土曜日に収まっています。for があるから現在完了にする、という判断では読めません。時を示す語句と文全体の流れを合わせて、基準時が途中で今へ移ったことを押さえます。

答え: had / read(ケンは到着前にすでにその本を読んでいました。)

例題4 未来の期限を和文英訳する

「私は明日の午後6時までには夕食を作り終えているでしょう」を、will have と finish cooking dinner を使って英語にしてください。期限は by six tomorrow evening で表します。

  1. 未来の基準時を「明日の午後6時」に置きます。「6時に料理をする」という予定ではなく、その時点までに済んでいるという意味を読み取ります。
  2. 主語 I に will have finished を続けます。will の後ろは have、have の後ろは過去分詞 finished なので、will had や will have finish とはしません。
  3. cooking dinner を置き、最後に期限の語句を付けます。by は期限、until はそこまで続くことを表すので、ここで until に置き換えると同じ意味にはなりません。

図3では、「今」の右側に料理終了と明日の午後6時を置いています。料理終了の点は可能な一例で、赤い期限線より手前ならよく、期限ちょうどの終了も含められます。図2の帰宅と同様、基準時までに何が済むのかを確かめる図です。

図3 明日の期限までに料理が終わる未来完了の時間軸

図3の基準時は未来ですが、そこから振り返る形なので will have finished になります。未来完了の文を読むときは、will だけを見て「するだろう」と訳し終えず、have finished まで見て「し終えているだろう」と捉えましょう。

答え: I will have finished cooking dinner by six tomorrow evening.(私は明日の午後6時までには夕食を作り終えているでしょう。)

つまずきやすいところと直し方

過去の時点を現在完了に直接付けてしまう

× I have seen Tom yesterday.

訳そうとしている意味: 私は昨日トムに会いました。

どこが違うか: 昨日という終わった過去の時点で起きた出来事を述べるので、この文では現在完了ではなく過去形を使います。

○ I saw Tom yesterday.

訳: 私は昨日トムに会いました。

現在完了は今を基準にしますが、yesterday は今から切り離された過去の1日です。「昨日会った」こと自体を伝えるなら過去形が合います。ただし、since yesterday なら「昨日から今まで」という始まりを示すため、現在完了と一緒に使えます。yesterday という単語だけを禁止語のように暗記せず、その語句が過去の出来事を特定するのか、今につながる始まりなのかを見ます。

since の後ろに期間の長さを置いてしまう

× She has studied English since three years.

訳そうとしている意味: 彼女は3年間英語を勉強しています。

どこが違うか: three years は始まりの時点ではなく期間の長さなので、since を for に直します。

○ She has studied English for three years.

訳: 彼女は3年間英語を勉強しています。

「いつから」と答えられる情報なら since、「どれくらいの間」と答えられる情報なら for が基本です。three years ago は「3年前」という時点ですが、three years だけなら長さです。なお、学習の続く動作を特に強調したければ has been studying も使えます。for があるから必ず進行形、という規則ではありません。動詞の性質と伝えたい内容を一緒に見ます。

状態を表す動詞を機械的に進行形にする

× I have been knowing her for a year.

訳そうとしている意味: 私は彼女と知り合って1年になります。

どこが違うか: know はここでは「知っている」という状態を表し、通常は進行形にしないので have known を使います。

○ I have known her for a year.

訳: 私は彼女と知り合って1年になります。

「ずっと」という日本語があっても、必ず have been + -ing にするわけではありません。know、like、belong など、状態を表す使い方の動詞では、完了形だけで継続を表します。一方、read や work のような活動を表す動詞では、継続中の動作に焦点を当てるために完了進行形を選べます。

経験の読解では、been と gone の違いにも注意が必要です。has been to は通常「行ったことがある」という経験を、has gone to は「行ってしまって、今ここにはいない」という結果を表します。過去分詞をただ訳語に置き換えるのでなく、その人が今どこにいると読み取れるかまで考えると、会話文の流れにもつながります。

練習問題

練習1 始まりと期間を選ぶ

次の空所に since または for を入れてください。

We have been waiting here (____) twenty minutes.

訳: 私たちはここで20分間ずっと待っています。

twenty minutes が時点か長さかを考えてから選びましょう。waiting の意味だけでなく、後ろの語句の性質が判断の根拠になります。

練習2 過去の継続を完成させる

次の空所に live を適切な形にして入れてください。進行形は使わず、「引っ越す時点ですでに5年間住んでいた」と表します。

Before she moved to this town, Emma (____) in that house for five years.

訳: この町へ引っ越す前、エマはその家に5年間住んでいました。

期間の終点を今に置かず、moved が示す過去に置きます。for five years があっても have / has とは限らないことを確かめる問題です。

練習3 経験を表す疑問文を並べ替える

「あなたは今までにこの花を見たことがありますか」という文を作ってください。先頭を大文字にし、疑問符を付けます。

語群: this flower / ever / you / seen / have

主語と have の順番、see の過去分詞 seen の位置を確かめましょう。経験の疑問文なので、いつ見たかをたずねる文にはしません。

練習4 未来まで続く活動を読む

次の英文を読んでから、指定された日本語を英訳してください。未来の完了と、そこまで続く活動の両方が含まれています。

Emma is making a small picture book for her brother. She started drawing at nine this morning, and it is now eleven. She has been drawing without a long break. She has already finished four pictures. She plans to finish the last two before lunch. By noon, she will have been drawing for three hours. By one, she will have finished all the pictures. Her brother has never seen her picture books, so she wants to show him this one.

訳: エマは弟のために小さな絵本を作っています。今朝9時に絵を描き始め、今は11時です。長い休憩を取らずにずっと描いています。すでに4枚の絵を仕上げました。昼食前に最後の2枚を仕上げる予定です。正午には、絵を描き続けて3時間になるでしょう。午後1時までには、すべての絵を仕上げているでしょう。弟はエマの絵本を一度も見たことがないので、エマはこの絵本を見せたいと思っています。

問題: 「正午には、エマは3時間ずっと絵を描いていることになるでしょう」を、Emma を主語にし、文頭を By noon にして英訳してください。

完成する絵の枚数ではなく、描く活動の継続時間を答えます。朝9時から正午までの長さも、自分で数えて確かめましょう。

答えと解説

練習1の答え: for(私たちはここで20分間ずっと待っています。)

20分間は長さなので for です。始まりを具体的な時刻で示すなら since を選びますが、この問題では語を変えずに空所だけを埋めます。

練習2の答え: had lived(この町へ引っ越す前、エマはその家に5年間住んでいました。)

引っ越した過去の時点までの継続なので過去完了です。過去形 lived でも文脈次第で過去の居住期間を述べられますが、ここでは指定された「その時点までにすでに続いていた」という捉え方を had lived で明示します。

練習3の答え: Have you ever seen this flower?(あなたは今までにこの花を見たことがありますか。)

Have + 主語 + ever + 過去分詞の順に組みます。ever が have の代わりに疑問文を作るのではなく、Have を前に出すことで疑問文になります。

練習4の答え: By noon, Emma will have been drawing for three hours.(正午には、エマは3時間ずっと絵を描いていることになるでしょう。)

朝9時から正午までは3時間なので、本文の期間と一致します。will have finished なら完成した結果に注目しますが、問題は活動の継続を求めるので will have been drawing を使います。なお、本文の「正午には3時間」は、正午に必ず描くのをやめるという意味ではありません。

次の単元へのつながりと家庭での確かめ方

完了形で身につけた「基準時より前」という読み方は、次に助動詞と have + 過去分詞を組み合わせる表現でも役立ちます。そのときは、過去の出来事に対する推量や後悔など、話し手の判断が加わります。have を見るたびに現在完了だと決めず、その前に will や別の助動詞があるかを確かめる習慣を残しておきましょう。

家庭で5分取り組むなら、前半の2分は図1の例文を声に出し、for three years を for two years や since April に入れ替えて、期間と始まりの違いを確かめます。後半の3分は例題2と例題4を読み、紙に「料理終了」「帰宅」「明日の午後6時」を書いて、どの出来事を基準にするかを指で示します。日本語訳を言うだけでなく、なぜ had または will have を使うのかまで一言添えるのが目安です。

個別指導では、完了形の選択で迷う原因が、時間の関係にあるのか、過去分詞の形にあるのかを分けて確かめます。必要なら finish と finished、see と seen の違いまで戻り、基準時を自分で指せることと、英文を組み立てられることを別々に確認します。保護者がお子さまの答えを見るときも、「いつまでの話なの」とたずねると、訳の丸暗記だけでは見えない理解を確かめられます。

まとめ

通学電車の窓を見ながら出会った「住んでいるのに完了形なのか」という疑問には、今までの3年間を含めて述べているから、と答えられます。その視点を過去へ移せば、ある出来事より前に済んだことや続いていたことが見え、未来へ移せば、期限までの見通しを表せます。読解で立ち止まったら、動詞の名前を思い出す前に、話の基準になる点を1つ置いてみましょう。

完了形の have は、出来事と基準時の間にある時間を読むための手がかりです。

本気になった日が、入塾の日。

お子様の教育、迷ったら「丸投げ」してください。必ず、期待以上の結果で返します。武蔵野で育む、武蔵境で学ぶ。

電話は年中無休。365日、24時間、お電話可能。

お電話 チャットで質問チャット