現在完了は、過去に起きたことを今とつなげて話すための形です。have または has に過去分詞を続けてつくり、英語では present perfect と呼びます。
この記事では、現在完了とは何かという定義から始めて、四つの用法、過去形との違い、一緒に使う語、進行形との使い分けまで順に整理します。
現在完了とは何か(結論)
現在完了とは、過去の出来事を、今の状態や結果と結び付けて表す形のことです。have または has のうしろに過去分詞を置いてつくります。
I have lost my key. は「鍵をなくした」という過去の出来事を述べていますが、伝えたいのは「だから今も鍵がない」という現在の状況です。過去そのものではなく、今どうなっているかに重心があります。
日本語には対応する形がないため、訳語だけでは掴みにくい部分です。過去の出来事と現在をつなぐ線、というイメージで捉えると使い分けが安定します。
現在完了の形のつくり方
形は主語によって have と has を選ぶだけで、あとは過去分詞を置きます。過去分詞は動詞の三番目の形で、規則動詞なら過去形と同じです。
| 主語 | 形 | 例 |
|---|---|---|
| I / you / we / they | have + 過去分詞 | I have finished. |
| he / she / it | has + 過去分詞 | She has finished. |
| 否定 | have / has + not + 過去分詞 | He has not arrived. |
| 疑問 | Have / Has + 主語 + 過去分詞 | Have you eaten? |
短縮形は I’ve、he’s、haven’t、hasn’t です。he’s は he is と he has の両方になりうるため、うしろが過去分詞なら has だと判断します。
現在完了の四つの用法
現在完了が表す内容は、大きく四つに分けられます。どれも「過去と現在のつながり」という一点で共通しています。
| 用法 | 意味 | 例文 |
|---|---|---|
| 完了 | ちょうど〜したところだ | I have just finished my homework. |
| 結果 | 〜してしまって今もその状態だ | He has gone to London. |
| 経験 | 〜したことがある | I have been to Kyoto twice. |
| 継続 | ずっと〜している | She has lived here for ten years. |
この四つは厳密に線が引けるものではなく、文脈によって重なります。分類そのものより、今とのつながりを言いたいときに使う形だと理解しておくほうが実用的です。
現在完了と過去形の違い
現在完了と過去形の違いは、時間の焦点がどこにあるかです。過去形は過去の一点だけを見ており、今とは切り離されています。
I lost my key yesterday. は昨日という過去の時点の出来事です。今も見つかっていないかどうかは述べていません。I have lost my key. は今も手元にないことを含みます。
この違いから、はっきりした過去の時を表す語とは一緒に使えないという決まりが生まれます。yesterday、last night、in 2020、three days ago、when I was a child などが付いたら過去形にします。
現在完了と一緒に使う語
現在完了と相性のよい語には特徴があります。どれも過去の一点を指定せず、今との幅を示す語です。
| 語 | 意味と位置 | 例文 |
|---|---|---|
| just | ちょうど(have の直後) | I have just arrived. |
| already | もう(肯定文) | She has already left. |
| yet | まだ/もう(否定・疑問の文末) | Have you eaten yet? |
| ever / never | 今までに/一度も〜ない | Have you ever seen it? |
| for | 〜の間(期間の長さ) | for three years |
| since | 〜以来(始まった時点) | since 2020 |
for と since の違いは、うしろに来るものが期間か時点かです。for two hours は長さ、since two o’clock は起点を表します。since のうしろに文が来ることもあります。
現在完了の経験を表す使い方
経験を表すときは、回数や ever、never を添えることが多くなります。once、twice、three times、before などが目印です。
I have read this book three times.(この本を三回読んだことがある)が典型です。いつ読んだかは問題にしておらず、経験の有無と回数だけを述べています。
経験でよく使う形に have been to と have gone to があります。have been to は行ったことがある(今はここにいる)、have gone to は行ってしまった(今ここにいない)という違いです。
現在完了の継続を表す使い方
継続は、過去のある時点から今まで途切れずに続いている状態を表します。live、know、have、want のような状態を表す動詞と相性がよい用法です。
I have known him for ten years.(彼とは十年の付き合いだ)は、十年前に知り合って今も知り合いだという意味です。I knew him for ten years. とすると、今はもう関係が終わっている響きになります。
期間を尋ねるときは How long have you 〜? の形を使います。How long have you lived here?(どのくらいここに住んでいますか)が定番です。
現在完了と現在完了進行形の使い分け
継続を表すとき、動作を表す動詞では現在完了進行形(have been + 動詞の ing 形)を使うほうが自然になります。
I have been waiting for an hour.(一時間待っている)は、待つという動作が続いている様子を表します。状態動詞の live や know は、進行形にしなくても継続を表せます。
結果に重点があるなら現在完了、続いている過程に重点があるなら現在完了進行形です。I have written three pages. は書き上げた量、I have been writing all day. は書き続けた時間に焦点があります。
現在完了を使った例文
完了と結果の例です。The train has just left.(電車はちょうど出たところだ)。I have forgotten his name.(彼の名前を忘れてしまった)。
経験の例です。Have you ever tried natto?(納豆を食べたことがありますか)。I have never been abroad.(一度も海外へ行ったことがない)。
継続の例です。We have been friends since high school.(高校からの友人だ)。She has worked here for five years.(彼女はここで五年働いている)。
現在完了のよくある間違い
一つ目は、過去の時を表す語と一緒に使う間違いです。I have finished it yesterday. は誤りで、I finished it yesterday. が正しい形です。
二つ目は、have been to と have gone to の取り違えです。I have gone to Kyoto. と言うと、話し手が今ここにいないことになり不自然です。経験を言いたいなら I have been to Kyoto. にします。
三つ目は、for と since の混同です。for 2020 や since three years とは言えません。うしろが長さなら for、時点なら since です。
現在完了の覚え方のコツ
四つの用法を暗記するより、「今どうなっているかを言いたいかどうか」という一つの問いで判断するほうが早く身につきます。今と切り離してよいなら過去形です。
次に、一緒に使う語をセットで覚えます。just、already、yet、ever、never、for、since が出てきたら現在完了、yesterday、ago、last 〜 が出てきたら過去形、という反射をつくります。
最後に、過去分詞を確実にします。現在完了で崩れる原因の多くは形の不安定さです。go-went-gone、see-saw-seen、write-wrote-written のように三つ並べて口に出す練習が実際の場面で生きてきます。
現在完了についてよくある質問
あります。イギリス英語では I have just eaten. のように現在完了を使う場面で、アメリカ英語では I just ate. と過去形を使うことがあります。どちらも通じるため、実用上の支障はありません。
使えません。When have you finished? は誤りで、When did you finish? とします。when は過去の一点を尋ねる語なので、今とのつながりを表す現在完了とは組み合わせられません。
否定文では「まだ」、疑問文では「もう」の意味で、どちらも文末に置きます。I haven’t finished yet.(まだ終わっていない)、Have you finished yet?(もう終わりましたか)という形です。
基準になる時点が違います。現在完了は今を基準に過去とのつながりを述べ、過去完了は過去のある時点を基準にそれより前の出来事を述べます。過去完了は had + 過去分詞の形です。
現在完了のまとめ
現在完了とは、have または has に過去分詞を続けて、過去の出来事を今の状態と結び付ける形です。完了・結果・経験・継続の四つに分類されますが、どれも今とのつながりを言いたいという点で共通しています。
過去形との違いは、今と切り離しているかどうかです。yesterday や ago のように過去の一点を指す語とは一緒に使えません。just、already、yet、ever、for、since といった語をセットで覚えておけば、選ぶときに迷う場面が大きく減ります。
現在完了の出典・参考にした辞書
英語の present perfect の定義・用法は以下の英英辞典で確認しました。

コメント