現在完了 (完了・経験・継続・結果)
現在完了(have / has + 過去分詞)は状況に応じて 完了・経験・継続・結果の4つの意味に分かれ、一緒に使う合図の言葉でどの意味かが区別されます。どんな意味で使われているかは文中の時間表現が決めるので、合図の言葉をまとめて覚えるのが実践では一番早いです。
概念の説明
現在完了(have / has + 過去分詞)は状況に応じて 完了・経験・継続・結果の4つの意味に分かれ、一緒に使う合図の言葉でどの意味かが区別されます。どんな意味で使われているかは文中の時間表現が決めるので、合図の言葉をまとめて覚えるのが実践では一番早いです。
A. 完了 — just / already / yet
ちょうど終わったことや、すでに・まだのニュアンスを表すときは、現在完了に just, already, yet をつけます。just / already / yet は完了の意味の代表的な合図の言葉で、just・already は肯定文に、yet は否定文・疑問文に使います。
| 合図の言葉 | 位置 | 意味 | 例 |
|---|---|---|---|
| just | have/has のうしろ | ちょうど | I have just arrived. |
| already | have/has のうしろ | すでに・もう | She has already left. |
| yet (否定) | 文末 | まだ(〜ない) | I haven't finished yet. |
| yet (疑問) | 文末 | もう・そろそろ | Have you eaten yet? |
- The train has just left the station. (電車がちょうど駅を出ました。)
- We have already seen this movie. (私たちはこの映画をすでに見ました。)
- He hasn't called me yet. (彼はまだ私に電話してきていません。)
- Have they arrived yet? (彼らはもう到着しましたか?)
B. 経験 — ever / never / before
今まで生きてきて〜したことがあるかないかの経験を尋ねるときは、現在完了に ever, never, before のような合図の言葉を使います。ever は主に疑問文、never は否定の経験、before は文末につけて「以前に〜したことがある」を表します。
| 合図の言葉 | 使い方 | 例 |
|---|---|---|
| ever | 疑問文(今まで一度でも) | Have you ever been to Japan? |
| never | 否定(一度も〜ない) | I have never tried sushi. |
| before | 文末(以前に〜したことがある) | I have seen this movie before. |
| 回数 (once, twice, ~ times) | 文末 | She has visited Paris three times. |
- Have you ever eaten Korean food? (韓国料理を食べたことがありますか?)
- I have never driven a truck. (私はトラックを一度も運転したことがありません。)
- We have met her before. (私たちは以前、彼女に会ったことがあります。)
- He has flown to New York twice. (彼はニューヨークに2回行ったことがあります。)
C. 継続 — for / since
過去のある時点に始まって今まで続いている状態・動作は現在完了で表し、どのくらいの期間かは for、いつからかは since で表現します。How long ~? で尋ねると継続の意味になります。
| 表現 | うしろに来るもの | 例 |
|---|---|---|
| for | 期間 (five years, two hours) | I have worked here for five years. |
| since | 時点 (2020, Monday, yesterday) | I have worked here since 2020. |
| How long ~? | 期間を尋ねる質問 | How long have you lived here? |
- She has studied Korean for two years. (彼女は韓国語を2年間勉強しています。)
- We have known each other since childhood. (私たちは子どもの頃から知り合いです。)
- They have been friends for a long time. (彼らは長い間友達です。)
- How long have you worked at this company? (この会社でどのくらい働いていますか?)
D. 結果 — gone vs been
現在完了が結果の意味で使われるときは、過去の出来事が今の状態にどんな影響を残したかに焦点を当て、has gone と has been の違いを区別する必要があります。gone は「行って(今)戻ってきていない」、been は「行って(すでに)戻ってきた(経験)」を意味します。
| 表現 | 意味 | 状況 |
|---|---|---|
| has gone to ~ | 〜へ行って(今)いない | 今その場所にいない |
| has been to ~ | 〜へ行ったことがある | 今は戻ってきている |
- Anna has gone to the store. (Anna は店へ行きました。今いません。)
- Anna has been to the store. (Anna は店へ行ってきました。今ここにいます。)
- He has gone to Paris on business. (彼は出張でパリへ行っています。)
- He has been to Paris three times. (彼はパリに3回行ったことがあります。)
重要ポイント
- 1現在完了の4つの意味(完了・経験・継続・結果)は、どの合図の言葉と一緒に使われるかで区別されるという全体像をまず押さえておきましょう。(例: just / ever / for / gone)
- 2just と already は have と過去分詞の間に入れ、yet は文末に置いて否定文・疑問文で使うという位置ルールが重要です。(例: I have already finished. / Have you finished yet?)
- 3for のうしろには期間、since のうしろには時点が来るという組み合わせを混同しないように覚えておきましょう。(例: for five years / since 2020)
- 4has gone to ~ は「行って今ここにいない」、has been to ~ は「行ってきた(経験)」で意味が完全に違うという対比をしっかり区別してください。
- 5経験を尋ねるときは Have you ever ~?、否定の経験は have never を慣用句のようにまとめて覚えておくと、実践ですぐに出てくるという会話のヒントが役立ちます。