英文法問題集・TOEIC&英検問題集をネットで探すなら1500円以上送料無料のココ!
英文法の問題&解説を通して毎日英語に触れられる無料メルマガ【誰でもできる!毎日5分英文法】

英文法問題集 完了形

問.()の中から適する語を選びなさい。

The train (has, had, will have) left when I arrived at the station.

※leftはleave「去る、出発する」の過去分詞

解答は10行下にあります。

【解答】

The train had left when I arrived at the station.
「私が駅に着いた時、その列車は出発してしまっていた。」

【解説】

これは過去完了形、現在完了形、未来完了形のどれかを用いるの かを判別する問題です。

完了形には、継続、経験、完了(結果)の3つの意味がありますが、 The train「列車」とleave「出発する」の関係を考えると継続や 経験はおかしいので完了を表していることが分かります。

「出発し続けている」や「出発したことがある」とは、普通言い ませんよね。

そして、どの完了形が適切なのかを判別するには、過去までに完 了したのか、今完了したところなのか、未来までに完了するのか を考えます。

これに注意して問題文をみると、when I arrived at the station 「私が駅に到着した時」とあるので過去までの完了だと分かります。

よって、過去完了形のhad leftが正解になります。

過去、現在、未来の完了形でどれを用いるのかを判別する時には、 過去、現在、未来のいつまでの継続(経験、完了)なのかを考え るということがポイントになります。

そして、この使い分けの練習をすると、会話でも自然に使い分け られるようになります。


問.()の中から適する語を選びなさい。

She (had, has, will have) cooked lunch by the time
we arrive at her house.

※by the time 〜 「〜する時までに」

解答は10行下にあります。

【解答】

She will have cooked lunch by the time we arrive at her house.
「私達が彼女の家に着くまでに、彼女は昼食を作り終えているでしょう。」

【解説】

選択肢をみると分る通り、これは過去完了形、現在完了形、未来 完了形のどれかを用いるのかを判別する問題です。

そして、完了形には、継続、経験、完了(結果)の3つの意味があ りますが、by the time 〜 「〜する時までに」があるので問題の 文は「〜までに…し終える」という完了を表しています。

どの完了形を用いるかを判別するには、過去までに完了したのか、 今完了したところなのか、未来までに完了するのかを考えます。

ここで、問題文の後半にあるby the time we arrive at her hou se「私達が彼女の家に着くまでに」がポイントになります。

私達が彼女の家に到着するのはこれから、つまり未来のことです。

よって、未来までの完了なので未来完了形のwill have cookedが 正解になります。

by the time we arrive at her houseの部分で、着くのは未来だ からwill arriveでは?と思う方もいるかもしれません。

ところが英語では、「時の副詞節の中では未来のことは現在(完 了)形で表す」という定義があります。

by the time we arrive at her houseの部分は時の副詞節なので、 動詞の部分にはwill arriveではなく現在形のarriveを用います。


問.()の中から適する語を選びなさい。

He (had, has, will have) been there once before I went
there for the first time.

※for the first time「はじめて」

解答は10行下にあります。

【解答】

He had been there once before I went there for the first time.
「私が初めてそこへ行く前に、彼はそこへ一度行ったことがあった。」

【解説】

文の真ん中位にonce「1度」とあるので、この文は経験を表して いることが分かります。

そして、問題は過去完了形、現在完了形、未来完了形のどれか を用いるのか?という部分ですが、これはいつまでの経験なの かを考えます。

問題文の後半にbefore I went there for the first time「私 が初めて行った時より前に」とあるので、この文は「私が行っ た」という過去までの経験を表していることが分かります。

よって、過去完了形のhad beenが正解となります。

また、完了形でgo「行く」の経験を表す時は、goの過去分詞の goneではなくbeen用いるので注意しましょう。

現在完了形、過去完了形、未来完了形の使い分けは、現在、過去、 未来のいつまでのことなのかがポイントです。

この使い分けの練習をすると、会話でも自然に使い分けられる ようになると思います。

文法を勉強しても会話に役立たないのでは?という方もいるか もしれませんが、そんなことはありません!

逆に日本人は中高と文法を中心に勉強しているので、そのアド バンテージをいかして、文法の勉強から入った方がとっつきや すいと思います。

そして、毎日英語に触れるのに慣れてきたら、リスニングや会 話と広げていけば良いと思います(^_^)


問.()の中から適する語を選びなさい。

I (had, have, will have) finished the work before he visits me.

解答は10行下にあります。

【解答】

I will have finished the work before he visits me.
「彼が訪問してくる前に、私はその仕事を終えてしまうつもりです。」

【解説】

選択肢には、過去完了形のhad finished、現在完了形のhave finished、未来完了形のwill have finishedがあります。

未来完了形の形は、現在完了形のhave + 過去分詞の前にwill を付けるだけです。

そして、未来完了形には「〜し続けるつもり[だろう]」という 継続、「〜することになる(だろう)」という経験、「〜し終 えるつもり[だろう]」という完了(結果)の意味があります。

この文は継続、経験、完了のキーワード(for, since, already など)はありませんが、動詞がfinish「終える」なので通常完 了の意味になります。

終え続けるとか終えたことがあるとは、あまり言いませよね。 また、キーワードがない場合は完了の場合が多いです。

問題は現在完了形、過去完了形、未来完了形のどれを用いるの かを見分ける必要があり、そのためには現在までか、過去までか、 未来までのことかという部分がポイントです。

問題の文末に、before he visits me「彼が私を訪問する前に」 とあります。

彼が私を訪問するのはこれからであり未来のことなので、この 文は未来までのことを表していることになります。

よって、未来完了形のwill have finishedが正解となります。

最後に、before he visits me「彼が私を訪問する前に」は未 来のことだからwill visitではないのか?と思われた方もいる かもしれません。

ところが、時の副詞節の中では未来のことが現在(完了)形で 表すという定義があるのです。

この定義は少し難しいと思いますが、未来完了形の文によく出 てくるので覚えておいて下さい!


問.()の中から適する語を選びなさい。

I (had, have, will have) watched the movie twice if I watch it again.

解答は10行下にあります。

【解答】

I will have watched the movie twice if I watch it again. 「もしその映画をもう1度観ると、私はそれを2回観ることになります。」

【解説】

選択肢には、過去完了形のhad watched、現在完了形のhave watched、未来完了形のwill have watchedがあります。

未来完了形の形は、現在完了形のhave + 過去分詞の前にwillを付けるだけです。

そして、未来完了形には「〜し続けるつもり[だろう]」という継続、「〜することになる(だろう)」という経験、「〜し終えるつもり[だろう]」という完了(結果)の意味があります。

問題の文にtwice「2回」とあり、これは経験の回数を示しているの で、この文は経験を表していることが分かります。

そして、問題は現在完了形、過去完了形、未来完了形のどれかを見 分ける問題で、そのためには現在までのことか、過去までのことか、未来までのことかという部分がポイントです。

問題文の文末に、if I watch it again「もし私がもう1度それ(そ の映画)を観たら」とあります。

もう1度映画を観るのは未来のことなので、この文は未来までの経験を表しており、未来完了形のwill have watchedが正解となります。

最後に、if I watch it again「もし私がもう1度それ(その映画) を観たら」って未来のことだからwill watchではないのか?と思わ れた方もいるかもしれません。

ところが、条件の副詞節の中では未来のことが現在(完了)形で表 すという定義があるのです。

この定義は少し難しいと思いますが、未来完了形の文によく出てく るので覚えておきましょう。


問.()の中から適する語を選びなさい。

I (had lived, have lived, will have lived) in London
until I move to Japan next year.

※until「〜まで」

解答は10行下にあります。

【解答】

I will have lived in London until I move to Japan next year.
「来年日本に引っ越すまで、私はロンドンに住むつもりです。」
「来年日本に引っ越すまで、私はロンドンに住み続けるつもりです。」

【解説】

選択肢には、過去完了形のhad lived、現在完了形のhave lived、 未来完了形のwill have livedがあります。

未来完了形の形は、現在完了形のhave + 過去分詞の前にwillを 付けるだけです。

そして、未来完了形には「〜し続けるつもり[だろう]」という継 続、「〜することになる(だろう)」という経験、「〜し終える つもり[だろう]」という完了(結果)の3つの意味があります。

問題の文は、パッとみただけでは継続、経験、完了のどれか分か りにくいかもしれませんが、解答を導き出す時には重要ではない ので後で解説します。

ここでは、現在完了形、過去完了形、未来完了形のどれかという ことなので、現在までか、過去までか、未来までの ことかという部分がポイントです。

問題の文末にuntil I move to Japan next year「来年日本に 引っ越すまで」とあり、未来までのことだと分かるので未来 完了形のwill havelivedが正解となります。

そして、until「〜まで」があると〜まで…し続ける(し続けた、 し続けるつもり)というように継続の意味になります。

問題文に明確な継続期間は示されていませんが、untilが用いら れていたら基本的に継続だと覚えておきましょう。

最後に、until I move to Japan next year「来年日本に引っ越 すまで」の引っ越すとは未来のことだからwill moveではないの か?と思われた方もいるかもしれません。

ところが、時の副詞節の中では未来のことが現在(完了)形で 表すという定義があるのです。

この定義は少し難しいと思いますが、未来完了形の文によく出 てくるので覚えておいて下さい!


問.()の中から適する語を選びなさい。

I (called, had called) Ken before he called me.

解答は10行下にあります。

【解答】

I had called Ken before he called me.
「ケンが私に電話してくる前に、私は彼に電話しました。」

実は、以下のように過去形でも正解です。その理由は解説で、、、

I called him before Ken called me.

【解説】

まず、問題文の時制を確認してみましょう。

Ken called me「ケンが私に電話した(実際には電話していませ んが)」のは過去のことです。

そして、before〜meの部分より、私がケンに電話したのはさら に前の過去の出来事であることが分かります。

過去形のcalledも過去完了形のhad calledも過去のことを表し ますが、ある過去の時点よりさらに前の過去は「大過去」と呼 ばれ、過去完了形の形を用います。

過去完了形の大過去は、過去より前の過去を表すのです。

この文でも、ケンが私に電話した(called)より私が彼に電話 したのは前なので、過去より前の過去を表すことになります。

よって、基本は過去完了形のhad calledが正解となります。

ただ、この文ではbefore「〜前」という接続詞が用いられてお り、ケンが電話した時より私がケンに電話したということは明 らかに分かります。

このように、動詞の部分に大過去を用いて時間差を表さなくて も分かる場合には過去完了形ではなく過去形を用いてもよいこ とになっています。

特に、接続詞before「〜前」とafter「〜後」が用いられた文で はどちらが先に起きたのか明らかに分かるので、過去のある時 点より前のことでも過去形を用いることもできます。

以下はafterを用いた例文です。

I read the book after he had read the book.
「彼がその本を読んだ後で、私はその本を読みました。」

afterがあることで、彼が本を読んだのが前に起きたと明らかに 分かるため、以下のように過去形を用いることもできます。

I read the book after he read the book.
「彼がその本を読んだ後で、私はその本を読みました。」

以下の文の場合は、どちらが前に起きたことか大過去を用いない と分からないため、had givenと必ず過去完了形の形を用いなけれ ばなりません。

I gave Yumi the book which Ken had given me.
「私は、ケンが私にくれた本をユミにあげました。」


問.()の中から適する語を選びなさい。

I gave Yumi the book which Ken (gave, had given) me.

※whichは関係代名詞で、which〜meはthe bookを修飾しています。

解答は10行下にあります。

【解答】

I gave Yumi the book which Ken had given me.
「私は、ケンが私にくれた本をユミにあげました。」

【解説】

過去完了形には、先週解説した継続、経験、完了(結果)以外 に、大過去という使い方があります。

大過去とは、過去より前の過去を現します。

問題の日本語だけみると、「くれた」「あげた」と両方の動作 は過去に起きているから過去形のgaveを用いればよいと思って しまいます。

ところが、以下のように両方gaveにしてしまうと、ケンが「く れた」と同時にユミに本を「あげた」ということになります。

I gave Yumi the book which Ken gave me.
「私は、ケンが私にくれた本を(その場で)ユミにあげました。」

ケンの目の前でケンがくれた本をユミにそのままあげるという ようなことは普通しませんよね。失礼ですよね。。。

普通、ケンがくれた本をしばらく使っていて、その後使わなく なったからユミにあげたという流れになります。

ケンが「くれた」のはユミに「あげた」時より前に起きた動作 です。「くれた」と「あげた」の間には、時間差があるのです。

でも、動詞の活用表では過去形より古い形はないので、過去完 了形の形を用いましょうということです。これが、大過去です。

よって、過去完了形のhad givenが正解となります。

通常、完了形は時間に幅のある線のイメージですが、大過去だけ は過去より前の過去の1点を表します。

過去完了形の大過去は他の完了形とは考え方が異なるので 注意しましょう。


問.()の中から適する語を選びなさい。

I (went, had been) to London twice before I moved there.

解答は10行下にあります。

【解答】

I had been to London twice before I moved there.
「ロンドンに引っ越す前に、私はそこへ2回行ったことがあった。」

【解説】

文中のbefore I movedは、引越したのが過去(moved)で、それ より前の出来事ということを示しているで、この文は当然過去 のことを表しています。

しかし、選択肢の過去形のwent、過去完了形のhad beenともに 過去のことを表すのでこれだけでは答えはでません。

過去形は過去の1点のこと(点のイメージ)、過去完了形は過去 のある時点から過去のある時点までのこと(線のイメージ)を 表すという部分を考える必要があります。

問題の文は生まれた時と引っ越したという過去のある時点を線 で結び、その線上で2回ロンドンへ行ったことがあったという ことを表しています。

よって、過去の1点のことではなく、過去のある時点からある 時点までのこと(線のイメージ)を表しているので過去完了形 のhad beenが正解となります。

また、この文のtwice「2回」は経験の回数を表しているので、 この文は過去完了形の経験の文ということになります。

過去完了形の経験では、過去のいつまでの経験なのかというポ イントを表すためにbefore「〜前に」が良く用いられるので覚 えておきましょう。

以下、過去完了形とbeforeを用いた例文です。

I had seen him on TV once before I met him.
「彼に会う前に、私は1度彼をテレビで観たことがあった。」


問.()の中から適する語を選びなさい。

I (lived, had lived) in London five years ago.

解答は10行下にあります。

【解答】

I lived in London five years ago.
「私は、5年前ロンドンに住んでいました。」

【解説】

five years ago「5年前」が文末に付いているので、問題の 文は過去のことを表していることが分かります。

しかし、選択肢の過去形のlived、過去完了形のhad livedとも に過去のことを表すのでこれだけでは答えは分かりません。

過去形は過去の1点のこと(点のイメージ)、過去完了形は過去 のある時点から過去のある時点までのこと(線のイメージ)を 表すという部分を考える必要があります。

問題の文は5年前にロンドンに住んでいたという事実だけを述べ ており、過去のある時点からある時点まで住んでいたという継 続を表している訳ではありません。

よって、過去の1点の状態を表しているので過去形のlivedが正 解となります。

過去完了形を用いる時は、ほとんどの場合以下のように過去の いつまでというポイントが文中で示されています。

I had lived in London until five years ago.
「私は、5年前までロンドンに住んでいました。」

この文だと、生まれた時か10年前かは分かりませんが過去のあ る時点から5年前までという過去のある期間ロンドンに住んで いたという継続を表すことになります。

過去完了形の文には、過去のある時点までというポイントを表 すuntil(またはtill)「〜まで」がよく用いられるので覚え ておきましょう。


☆TOEIC対策お勧め本☆
TOEIC対策

利用者の評価も高いお勧めのTOEIC対策本(500〜860点まで対応)です。一冊で全パートの対策ができ、英文法の理解にもお勧め。送料無料!

☆単語力とリスニング強化☆
単語耳

きちんと発音できる単語は一生忘れません。一生分の単語力+リスニング力が身に付いて忘れなくなる秘訣を凝縮。英単語八千を一生忘れない英語耳を作れます。送料無料!

英文法問題集 ご案内
英文法問題集

管理人のTomoです。英文法問題集を訪問して頂き有難うございます!無料メルマガ【誰でもできる!毎日5分英文法】で出題した英文法の問題とその解説をアップしています。英文法の学習に役立てて下さい(^_^)/