have / has + 過去分詞過去と現在のつながりを表す

要点

使い分け

現在完了の3つの用法

一緒に使う語で経験・継続・完了/結果を見分けます。

経験

ever / never / before — I have been to Paris.

継続

for / since / How long — She has lived here for years.

完了・結果

just / already / yet — I have finished my homework.

過去形との使い分け

いつ起きたか明確なら過去形、現在とのつながりを表すなら現在完了。

過去形

明確な過去の時点 — yesterday / last week など

現在完了

現在とのつながり — ever / before / for / since など

been to と gone to の違い

同じ「行く」でも、経験か結果かで使い分けます。

have been to

行ったことがある(経験)— She has been to London.

have gone to

行ってしまって今いない(結果)— She has gone to London.

文法の形

have / has の後ろは過去分詞。用法によって一緒に使う語が変わります。

基本の形
主語 + have / has + 過去分詞

I have seen that movie.

経験
Have / Has + 主語 + ever + 過去分詞?

Have you ever eaten sushi?

継続
have / has + 過去分詞 + for / since ...

She has lived here for 10 years.

完了
have / has + just / already + 過去分詞

I have just finished my homework.

文法のルール

1

have / has の後ろは過去分詞。原形や過去形は使わない。

I have see that movie.

I have seen that movie.

現在完了は have / has + 過去分詞で作ります。原形(see)や過去形(went)ではなく、過去分詞(seen / gone)を使います。

2

三人称単数は has。

She have finished her work.

She has finished her work.

She は三人称単数なので has を使います。have は I / you / we / they のときに使います。

3

yesterday など明確な過去時点があるときは過去形を使う。

I have visited Tokyo yesterday.

I visited Tokyo yesterday.

yesterday のような明確な過去の時点を表す語があるときは、現在完了ではなく過去形を使います。

4

過去から今まで続くことは現在完了で表す。

I live here for 5 years.

I have lived here for 5 years.

for 5 years は「5年前から今まで」という期間です。過去から今まで続いていることは、現在完了 have lived で表します。

5

yet は否定文・疑問文で文末に置く。肯定文の「もう」は already。

I have yet finished my homework.

I haven't finished my homework yet.

yet は否定文・疑問文で「まだ / もう」を表す副詞で、文末に置きます。肯定文の「もう〜した」は already を使います。

6

経験は have been to、結果は have gone to。

He has gone to Paris.(パリに行ったことがあると伝えたいとき)

He has been to Paris.

「〜に行ったことがある」と経験を伝えたいときは have been to を使います。have gone to は「〜に行ってしまって今ここにいない」という結果を表します。