英検3級 時制

present perfect vs past simple 現在完了形と過去形の違い

現在完了形・過去形・have + 過去分詞

現在完了形でつまずくのは、覚える量が足りないからではありません。完了・経験・継続という3つの用法は、できあがった英文を日本語にどう訳すかの分類であって、これから書く文でどちらを選ぶかの基準ではないからです。選ぶほうの基準は1つしかありません。その文に「終わった時点」が入るかどうかです。

形

現在完了形はどんな形をしていますか?

主語+have / has+過去分詞

主語が he・she・it と単数名詞のときだけ has、それ以外は have。短縮形は I've/he's で、この he's は he is ではありません。

主語+have / has not+過去分詞

haven't / hasn't。don't have ではありません — ここの have は「持っている」の have ではなく助動詞なので、do の助けを借りません。

Have / Has+主語+過去分詞

Have you finished? のように have を前に出すだけ。Did you have finished? のように do と重ねることはできません。

主語+動詞の過去形

比較のために並べておきます。否定と疑問には did を使い、そのとき動詞は原形に戻ります(didn't finish/Did you finish?)。

意味

どちらを使うかは、文に「終わった時点」が入るかで決まる

現在完了形は、過去の出来事を材料にした「いまの話」です。I have lost my key. が伝えているのは、鍵をなくしたという過去の出来事そのものではなく、だからいま鍵がないという現在の状態です。対して I lost my key. は、なくしたという出来事だけを報告して、いま見つかっているかどうかについては何も言いません。同じ「なくした」でも、話している対象が違います。

だから、終わった時点を書いた瞬間に現在完了形は使えなくなります。これが唯一の、そして例外なく効く基準です。yesterday、last week、in 2020、when I was a child — こうした語は「その時点で話は終わっている」と宣言してしまうので、いまの話である現在完了形と両立しません。I have lost my key yesterday. が誤りなのは意味が変だからではなく、文の中で矛盾しているからです。

「3つの用法」は、この1つの基準の結果にすぎません。いまの状態を述べた結果、日本語にすると「〜してしまった」になれば完了、「〜したことがある」になれば経験、「ずっと〜している」になれば継続、というだけのことです。英語の側では3つとも同じことをしています。用法を先に覚えると、書くときに「これは経験か継続か」という答えの出ない問いから始めることになります。

日本語の「〜した」が、両方に化けるのが根本的な原因です。「鍵をなくした」は英語では2つの文に分かれますが、日本語では1つしかありません。だから日本語から考えると、どちらを選ぶ手がかりが文の中に残っていない。手がかりは訳文ではなく、いまの状態の話をしたいのか、終わった出来事の話をしたいのかという自分の意図のほうにあります。

when で始まる疑問文はいつでも過去形です。When have you finished? は誤りで、When did you finish? が正しい。理由は基準そのままで、when は「終わった時点はいつか」と聞く語だからです。時点を尋ねている文が、時点を書けない時制を使えるはずがありません。この一点だけでも、迷ったときの検算に使えます。

例文

例文4本を、単語ごとに

現在完了形 · 結果

中立

.

単語にカーソルを合わせるか、タップしてください。

I

/aɪ/

私

代名詞・一人称単数。文中でも必ず大文字

Rikaiに聞く

have

/hæv/

(現在完了をつくる助動詞)

助動詞・「持っている」の意味はなく、うしろの過去分詞と組んで現在完了形をつくる

Rikaiに聞く

lost

/lɒst/

なくした

lose の過去分詞・過去形も lost で同じ形なので、have があるかどうかで見分ける

Rikaiに聞く

my

/maɪ/

私の

所有格・冠詞の位置に入るので、a や the と同時には使えない

Rikaiに聞く

key

/kiː/

鍵

可算名詞・単数なので冠詞か所有格が必要で、ここは my が務めている

Rikaiに聞く

鍵をなくしてしまった。(だから今、手元にない)

過去形 · 終わった時点あり

中立

.

単語にカーソルを合わせるか、タップしてください。

I

/aɪ/

私

代名詞・一人称単数。文中でも必ず大文字

Rikaiに聞く

lost

/lɒst/

なくした

lose の過去形・yesterday があるので現在完了形はここでは使えない

Rikaiに聞く

my

/maɪ/

私の

所有格・冠詞の位置に入るので、a や the と同時には使えない

Rikaiに聞く

key

/kiː/

鍵

可算名詞・単数なので冠詞か所有格が必要で、ここは my が務めている

Rikaiに聞く

yesterday

/ˈjestədeɪ/

昨日

副詞・終わった時点を指すので、この語が入ると時制は過去形に固定される

Rikaiに聞く

昨日、鍵をなくした。(今どうかは言っていない)

現在完了形 · 経験

中立

?

単語にカーソルを合わせるか、タップしてください。

Have

/hæv/

(現在完了の疑問文をつくる)

助動詞・疑問文では主語の前に出る。Did you have been としてはいけない

Rikaiに聞く

you

/juː/

あなた(たち)

代名詞・単数と複数が同じ形。一般論の「人は」にも使う

Rikaiに聞く

ever

/ˈevə/

これまでに一度でも

副詞・経験を尋ねるときに過去分詞の直前に置く。肯定文では普通は使わない

Rikaiに聞く

been

/biːn/

行ったことがある

be の過去分詞・have been to で「行って戻ってきた」、have gone to は「行ったまま」

Rikaiに聞く

to

/tə/

〜へ/〜すること

前置詞または不定詞の to・後ろが名詞なら前置詞、動詞の原形なら不定詞

Rikaiに聞く

London

/ˈlʌndən/

ロンドン

固有名詞・都市名なので冠詞はつかない

Rikaiに聞く

ロンドンに行ったことはありますか?

現在完了形 · 継続

中立

.

単語にカーソルを合わせるか、タップしてください。

She

/ʃiː/

彼女は

代名詞・三人称単数なので、現在完了形では have ではなく has を使う

Rikaiに聞く

has

/hæz/

(現在完了をつくる助動詞)

助動詞・三人称単数の have。うしろの過去分詞と組んで現在完了形をつくる

Rikaiに聞く

worked

/wɜːkt/

働いてきた

work の過去分詞・規則変化なので過去形と同じ形

Rikaiに聞く

here

/hɪə/

ここで

副詞・場所を表すので前置詞はいらない。in here とはしない

Rikaiに聞く

for

/fə/

〜のために/〜の間

前置詞・目的、または期間の長さ

Rikaiに聞く

ten

/ten/

10

数詞・うしろの可算名詞は複数形になる

Rikaiに聞く

years

/jɪəz/

年間

可算名詞の複数形・for と組んで期間の長さを表す

Rikaiに聞く

彼女はここで10年働いています。(今も働いている)

検算

迷ったら、この順に確かめる

1. 文に「終わった時点」があるか

yesterday、last night、in 2020、three days ago、when I was a student — 1つでもあれば過去形で確定です。現在完了形はこの時点で候補から外れます。

2. when で聞いているか

時点を尋ねる疑問文は必ず過去形です。How long で聞いているなら逆に現在完了形が自然になります。

3. いまの状態の話がしたいか

時点もなく when でもないなら、最後は意図で決まります。「だからいまこうだ」まで言いたいなら現在完了形、出来事だけを報告するなら過去形です。

注意点

つまずきやすいところ

have been to と have gone to

He has been to Osaka. は「行って、もう戻っている」。He has gone to Osaka. は「行って、まだ向こうにいる」。自分のことを He has gone のように言うと、その場にいないことになるので、I have gone to ... はほとんど使いません。

have は「持っている」ではない

現在完了形の have は助動詞で、意味を持ちません。だから否定は don't have ではなく haven't、疑問は Do you have ではなく Have you になります。本動詞の have(持っている)と同じ形なのが混乱の原因です。

just・already・yet の位置

just と already は have と過去分詞の間(I have just finished.)、yet は文末(I haven't finished yet.)。yet は否定文と疑問文だけで、肯定文には入りません。

アメリカ英語では過去形も使われる

I just finished. のように、イギリス英語なら現在完了形にするところをアメリカ英語では過去形で言うことがあります。ただし「終わった時点があれば過去形」という基準のほうはどちらの英語でも崩れません。試験ではこの基準どおりで安全です。

よくある質問

よくある質問

現在完了形は過去形の丁寧な言い方ですか?

違います。丁寧さとは関係がなく、話している対象が違います。I lost my key. は昨日の出来事の報告、I have lost my key. は「いま鍵がない」という現在の状態の報告です。同じ場面で言い換えられる2つではなく、別のことを言う2つです。

「〜したことがある」は全部現在完了形ですか?

いいえ。When I was a child, I visited Kyoto. は「子どものころ京都に行ったことがある」ですが、when I was a child という終わった時点があるので過去形です。日本語の訳ではなく、文の中に時点があるかどうかで決まります。

for と since はどう違いますか?

for のうしろは期間の長さ(for ten years)、since のうしろは始まった時点(since 2015)です。since は「その時点から今まで」という橋を架ける語なので、過去形ではなく現在完了形と組みます。

has been working とは何が違うのですか?

現在完了進行形で、動作が続いていること自体を強調します。She has worked here for ten years. は事実として10年の勤務がある、She has been working here for ten years. はその10年ずっと働き続けている、という差です。live や work のような語では差がほとんど出ませんが、動作を表す動詞ほど差が大きくなります。

現在完了形に ago は使えますか?

使えません。ago は「今から数えて何前」と終わった時点を作る語なので、three days ago と書いた瞬間に過去形が確定します。同じことを現在完了形で言いたいなら for three days のように期間に言い換えます。

関連

となりの文法

公開日にメールを1通だけ

送るのはそれだけです。rikAI は iPhone アプリで、まだ公開されていません。