【第6回】過去完了形・未来完了形|3つの完了形は基準点が違うだけ

文法

第4回、第5回で現在完了形について見てきました

現在完了形は「過去の出来事が、今につながっている」ことを表す形でした
そして、このときの基準はいつも「今」でした

過去完了形と未来完了形は、この基準を「今」から別の時点にずらすだけです
新しく覚えることは、ほとんどありません

3つの完了形は「基準点」が違うだけ

現在完了形・過去完了形・未来完了形は、すべて同じ構造をしています
違うのは「どこを基準にするか」だけです

① 現在完了形 → 「今」を基準に、そこにつながる過去を表す
② 過去完了形 → 「過去のある時点」を基準に、それより前を表す
③ 未来完了形 → 「未来のある時点」を基準に、そこまでを表す

どれも「基準点」と「そこにつながる出来事」という同じ形です
基準が今なら現在完了、過去なら過去完了、未来なら未来完了、というだけです

そして3つとも、継続・経験・完了結果の3用法があるのも同じです

過去完了形

過去完了形は had + 過去分詞 という形で表します

過去完了形は「過去のある時点」を基準にして、
「基準より前の出来事」を表すときに使います

現在完了形との違いは、基準が「今」ではなく「過去のある時点」になることだけです

過去完了形を使うときに迷いやすいのが、
2つの出来事のうちどちらを had + 過去分詞にするか、という点です

これは基準を決めれば、はっきりします

基準点になる出来事(後に起きたこと) → 普通の過去形

基準より前の出来事(先に起きたこと) → had + 過去分詞

例えば「動物園に着いたとき、入園時間を過ぎていた」なら、
「動物園に着いた」が基準なので過去形、
「入園時間を過ぎていた」は基準より前なので had + 過去分詞になります

ここでひとつ補足しておきます

過去完了形の文には、「あなたが帰ってきたとき」のように
時を表すまとまり(副詞節)がよく出てきます

このまとまりは、文の前に置いても後ろに置いても問題ないです

これは英語でも日本語でも同じです

「あなたが帰ってきたとき、私は掃除をしていた」でも
「私が掃除をしていたとき、あなたが帰ってきた」でも、
表している状況は変わりません

大事なのは語順ではなく、「どこが基準点か」を読み取ることです

語順が前でも後ろでも、基準点さえ見抜ければ同じ時制にたどり着きます

これから出てくる例文は、
前に置く言い方と後ろに置く言い方、両方の英文を並べて載せていきます

継続用法

[前]When you came home, I had been cleaning for two hours.
[後]I had been cleaning for two hours when you came home.
あなたが家に帰ってきたとき、私は2時間ずっと掃除をしていた。

基準は「あなたが帰ってきたとき」という過去の時点です
その時点まで、2時間ずっと掃除が続いていたことを表します

経験用法

[前]When I watched the movie, I had read the original story once.
[後]I had read the original story once when I watched the movie.
その映画を見たとき、私は原作を一度読んだことがあった。

基準は「映画を見たとき」という過去の時点です
その時点より前に、原作を読んだ経験があったことを表します

完了・結果用法

[前]When I arrived at the zoo, the opening time had already passed.
[後]The opening time had already passed when I arrived at the zoo.
私が動物園についたとき、既に入園時間を過ぎていた。

基準は「動物園についたとき」という過去の時点です
その時点ですでに『入園時間が過ぎてしまっている状態』だったことを表します

補足:過去完了形は「2つのこと」を話している

過去完了形を使おうとすると気づくことがあります
それは、過去完了形には大きな意味が2つあるということです

動物園の例で言うと、「動物園についた」ことと「入園時間が過ぎていた」ことの2つです

これは現在完了形にはなかった特徴です

現在完了形の基準は常に「今」なので、わざわざ基準を示す必要がありませんでした
でも過去完了形は「過去のどの時点が基準なのか」を別に示す必要があります

そのため、英作するときは「基準となる過去の時点」を意識すると書きやすくなります

まず基準となる過去の時点を決めて、そこから「それより前のこと」を過去完了形でつなげていく
この感覚がつかめれば、過去完了形が使えるようになりそうです

未来完了形

未来完了形は will have + 過去分詞 という形で表します

未来完了形は「未来のある時点」を基準にして、
基準までに完了・継続することを表すときに使います

例えばこんな文です

[前]By the time you fight the next boss, you will have reached level 40.
[後]You will have reached level 40 by the time you fight the next boss.
次のボスと戦う頃には、40レベルになっているだろう。

基準は「次のボスと戦う頃」という未来の時点です
その時点までに「40レベルになる」が完了していることを表しています

過去完了形と全く同じ構造で、基準が未来に移っただけです

過去完了形では「どちらを had + 過去分詞にするか」を考えましたが、
未来完了形も同じように考えます

基準点を決めれば、どちらを will have + 過去分詞にするかがはっきりします

基準点になる出来事(未来のある時点) → 現在形(未来を表す条件節)

基準までに完了・継続すること → will have + 過去分詞

「次のボスと戦う頃には、レベル40になっている」なら、

「次のボスと戦う」が基準点、
「レベル40になる」が基準までに完了することなので will have + 過去分詞になります

なお、基準点を表す部分(by the time you fight the next boss)が未来のことでも
will を使わず現在形になるのは、英語のルールです

時や条件を表すまとまりの中では、未来のことでも現在形で表します

起点は過去・現在・未来のどこでもいい

未来完了形にはもうひとつ大事なポイントがあります

それは、決まっているのは「基準点(未来のある時点)」だけで、
そこにつながる出来事の起点は、過去・現在・未来のどこにあっても問題ないということです

例えば
「来月で結婚20年になる」なら起点は20年前(過去)、
「次のボス戦までにレベル40になる」なら起点は今から未来のどこか、

というように、起点は文によってバラバラです

大事なのは「基準点が未来にある」ということだけです

継続用法

[前]By tomorrow morning, I will have been playing games for ten hours straight.
[後]I will have been playing games for ten hours straight by tomorrow morning.
明日の朝には、10時間ぶっ通しでゲームをし続けていることになる。

経験用法

If I climb Mt. Fuji next week, I will have climbed it 100 times in total.
来週富士山に登ったら、通算で100回目になります。

※この文は「If(もし〜したら)」で始まる条件文です

条件文の場合も前後を入れ替えられますが、入れ替えると少し不自然になることがあります
条件を先に示す「If 〜」から始める順番の方が自然です

完了・結果用法

If I get this item, I will have collected them all.
このアイテムが手に入れば、全部集め終わったことになる。

※この文も経験用法と同じく「If(もし〜したら)」で始まる条件文です

前後を入れ替えることもできますが、条件を先に示す「If 〜」から始める順番の方が自然です

未来形と未来完了形の違い

未来完了形でつまずきやすいのが、未来形との違いです

具体的な場面で考えてみましょう

2人で次のボス戦に挑もうとしているとします

2人はレベル38くらいで、
レベル42になるとボスに有効な新しい技が覚えられるとします
順調に進めばレベル45にはなれそうな状況です

この場面で、まず未来形のセリフを見てみます

・そろそろレベル45になるよ
・レベル42になると、新技を習得できるようになるよ

これらはどちらも未来形です

「レベル45になる」も「新技を取得する」も、
未来の一点で起きる出来事だからです

2つ目のセリフには「レベル42になれば」という条件がついていますが、
この日本語であれば未来形で英訳されます
(後述:同じ出来事でも、話し手の視点で変わる)

条件がついていても、注目しているのが一点の出来事なら未来形になります

次に、未来完了形のセリフを見てみます

・次のボス戦のときには、レベル45くらいにはなっているだろう
・次のボス戦までには新技を覚えているだろうから、それをうまく使っていこう

こちらは「次のボス戦」という未来の時点を基準にして、
その時点までに「レベル45になる」「新技を覚える」が完了している、という言い方です

一点の出来事ではなく、基準点までに完了している状態になる点に注目しています

同じ出来事でも、話し手の視点で変わる

ここで、こんな疑問が浮かぶかもしれません

「次のボス戦」も「レベル42になる」も、どちらも未来に起こることです
なぜ「次のボス戦」は基準点になるのに、「レベル42になる」は基準点にならないのでしょうか

実は、「レベル42になる」も基準点にできます
次の2つを比べてみてください

If you reach level 42, you will be able to learn the new skill.
レベル42になれば、新しい技が取得できる。(未来形)

By the time you reach level 42, you will have learned the new skill.
レベル42になる頃には、新技を覚えているだろう。(未来完了形)

どちらも「レベル42になる」という同じ出来事を扱っています
でも上は未来形、下は未来完了形です

違いは「一番言いたいことが何か」です

上の文が一番言いたいのは「新技が取れること」です
レベル42という条件で、新技が取得できるようになる、という一点を伝えています

下の文が一番言いたいのは「レベル42になる時点までに、その結果が成立している」ことです
今回であればその結果とは「新技を覚えていること」になります

レベル42という未来の基準点を立て、
その時点では新技取得が完了した状態になっていることを伝えています

あるイベントが未来形になるか未来完了形になるかは、
イベント自体で決まっているのではありません

そのイベントを「一点の出来事として扱うか」「基準点として使うか」という、
話し手の視点で決まります

2つの文を図にすると、違いがはっきりします

上の文は、「レベル42になる」という出来事そのものに注目しています
基準点を立てず、レベル42になるという一点だけを見ています

下の文は、「レベル42になる」ことを一点の出来事としてではなく、
その時点までに完了した出来事の一つとして見ています

未来完了形では、この基準点をどこに置くかを話し手が選べます

「レベル42になる時点」を基準点にすることもできますし、
レベル45や次のボス戦など、もっと先の時点を基準点にすることもできます

図では、起点から基準点までを線でつなげ、基準点をはっきりした棒で示しました
中段はレベル42を基準点にした場合、下段はもっと先を基準点にした場合です

どの時点から振り返るかは、話し手が自由に選べます

同じ「レベル42」でも、それを一点の出来事として見れば未来形、
基準点として立てれば未来完了形になります

どのイベントを基準点にするかは、話し手が選んでいるのです

この視点が持てれば、未来完了形が使いやすくなっていけそうです

なお、未来完了形には by the time(〜する頃には)by tomorrow(明日までに) のような
「基準点を示す表現」がよく一緒に使われます

補足:未来完了形の使われ方

「次のボス戦のときには、レベル45くらいにはなっているだろう」

こんなお堅い言い方をしてくる友達、いるでしょうか
未来完了形の例文を見ていて、こんな文法は日常で使わないんじゃない?
と思いませんでしたか?

私は最初そう感じました

でも調べてみると、そんなことはないことが分かってきました
日本語訳が堅く見えているだけでした

例えばこんな場面で、未来完了形は自然に使われるそうです

・金曜までにはレポートを終えているよ
・来月で、付き合って5年になる
・試験までには全部終わっている

どれも普通の会話です

日本語にすると「〜し終えているだろう」のように訳されがちですが、
実際に使われる場面はごく日常的なものでした

未来完了形でないと困る場面

それどころか、未来完了形でないとうまく伝わらない場面もあるようです
2つ挙げてみます

① レポートの提出

I will finish the report by Friday.
金曜までにレポートを終えるつもりだよ。(未来形)

I will have finished the report by Friday.
金曜までにはレポートを終えているよ。(未来完了形)

未来形だと「終わらせるつもり」という意志は伝わりますが、
金曜の時点で本当に終わっているかどうかは、はっきりしません

未来完了形なら「金曜という基準点では、すでに終わった状態になっている」というニュアンスが出てきます

責任をもって終わらせるという意思が伝わってきます

② 付き合った年数

Next month, we will be together for five years.
来月、5年間一緒にいることになる。(未来形・不自然)

Next month, we will have been together for five years.
来月で、付き合って5年になる。(未来完了形)

未来形だと「来月」という一点の話になってしまい、
そこに至るまでの5年間がうまく表現できません

これから5年間一緒にいる、
というような別の意味に受け取られることもあるようです

未来完了形なら「来月という基準点までに、5年間の付き合いが積み重なっている」と表せます

ずっと続いてきたという継続のニュアンスは、未来完了形でないと出せません

結論

未来完了形は、そんなに変な文法ではありませんでした
日本語訳が堅くなりがちなだけで、英語としてはごく自然に使われているようです

「〜までにはもう終わっている」「〜で何年になる」という気持ちを伝えたいとき、
未来完了形が使えると、言いたいことがきちんと伝わりそうです

雑談:不思議な文

調べている途中で、こんな文に出会いました

He will have arrived by now.
彼はもう到着しているだろう。

待ち合わせの場面で「あいつはもう着いてるだろう」と言いたいときに使える文です

ちなみに、これを未来形にすることはできません

He will arrive by now.
彼は今までに到着しているだろう。(不自然)

日本語では、ギリギリ意味が伝わらなくもない気がします
でも英語では、この文は成り立たないそうです

“by now” は「今までに」という完了を表す表現です
一方 “arrive” は「到着する」という一点の動作を表します
「今までに」という区切りと「これから到着する」という一点の動作は、共存できないそうです

完了形にすれば、
「今までに」という基準点より前に「到着する」という動作が置かれるので、
矛盾がなくなります

ただ、この文をよく見ると、基準点が “by now”、つまり「今」にあります
未来完了形の形をしているのに、基準点が未来にないのです

一見未来完了形に見えますが、実は違うものなのかもしれません
このあたりは助動詞について調べたときに、改めて書いてみたいと思います

まとめ

3つの完了形を整理します

① 現在完了形 → 基準は「今」
② 過去完了形 → 基準は「過去のある時点」
③ 未来完了形 → 基準は「未来のある時点」

3つとも構造は同じで、基準点が違うだけです
そして3つとも継続・経験・完了結果の3用法があります

新しい形に見えても、やっていることは現在完了形と同じです

英訳問題

次の会話を英訳してみましょう

場面:友人AとBがオンラインゲームの話をしている

A:昨日イベントやった?
B:イベント報酬は確保していたから、昨日はログインしなかった
A:俺はやったよ
A:昨日でようやく報酬取り切れた
B:今日はやるの?
A:しばらくはいいかな
A:でも来月のイベントは真面目にやりたいから、
A:それまでにレベル50にはなってると思う

参考:筆者の英訳

A: Did you play event?
B: I had had event’s item, so I didn’t play it.
A: I played it.
A: I compleated item.
B: Will you play event today?
A: No, I won’t play it.
A: But I want to play next month event,
A: I will have been fifty level.

Claude に修正してもらいました

文法ミスとスペルミスのみ修正しています
語彙や表現はそのままにしています

A: Did you play the event?
B: I had gotten the event’s items, so I didn’t play it.
A: I played it.
A: I completed the items.
B: Will you play the event today?
A: No, I won’t play it.
A: But I want to play next month’s event,
A: so I will have been at level fifty by then.

主な修正ポイント

1行目のA:
“play event” の event の前に “the” が必要です
“Did you play the event?” が正しい形です

2行目のB:
“had had” は不自然です。”had gotten”(手に入れていた)が自然です
“event’s item” は “the event’s items” と冠詞と複数形を補いました

4行目のA:
“compleated” はスペルミスです。正しくは “completed” です
“item” の前に “the” を補い、複数形にしました

5行目のB:
“play event” に “the” を補いました

7行目のA:
“next month event” は “next month’s event” が正しい形です

8行目のA:
“will have been fifty level” は have been の後ろが不自然です

have been(〜である)の後ろに「レベル50」を続けるには、
前置詞 at を使って “at level fifty”(レベル50という状態に)とする必要があります

“will have been at level fifty” に修正し、
基準点を示す “by then”(その頃までに)を補いました

原文を Claude が評価

過去完了形と未来完了形を使う場面の判断は正しくできています
2行目で過去完了形、8行目で未来完了形を使おうとしていることが読み取れます

日本語のニュアンスをどの程度英語で表現できているかという観点での評価は
10点中4点です

時制の選択という一番大事な部分はできています

冠詞・スペル・語彙の正確さに課題が残りますが、
これは使い続けるうちに自然と身についていく部分です

模範解答(例)

A: Did you do the event yesterday?
B: I’d already gotten the event rewards, so I didn’t log in yesterday.
A: I did.
A: I finally got all the rewards yesterday.
B: Are you going to play today?
A: Not for a while.
A: But I want to take next month’s event seriously,
A: so I’ll have reached level 50 by then.

模範解答の解説

2行目のB(過去完了形):
“I’d already gotten the event rewards”(I’d は I had の縮約)で過去完了形

「昨日ログインしなかった」という過去の時点より前に、報酬を確保し終えていたことを表します
過去完了形(理由)+過去形(結果)という自然な組み合わせです

4行目のA:
“I finally got all the rewards yesterday.” は過去形です

「昨日ようやく取り切れた」は昨日その時点で起きた出来事なので、
過去完了形ではなく過去形が自然です

8行目のA(未来完了形):
“I’ll have reached level 50 by then”(I’ll は I will の縮約)で未来完了形

「来月のイベント」という未来の時点までに
「レベル50になる」が完了していることを表します

“by then”(その頃までに)が基準点を示しています

修正版では “will have been at level fifty”(レベル50という状態である)としましたが、
模範解答では “will have reached level 50″(レベル50に到達する)を使いました

どちらも文法的に正しいですが、
「レベルになる・到達する」という動作には reach(到達する)を使う方が自然で、
日本語の「レベル50になってる」の「なる」のニュアンスにも近いためです

コメント

タイトルとURLをコピーしました