現在完了の形と意味
現在完了形は<have(has)+過去分詞>で表します。 主語が3人称単数であれば<has+過去分詞>という形になります。 意味は「(ずっと)~している[継続]」「~したことがある[経験]」「~したところだ・~してしまった[完了・結果]」の3つがあります。
~現在完了<have(has)+過去分詞>の意味~
①[継続]「ずっと~している」
②[経験]「~したことがある」
③[結果・完了]「~してしまった/~したところだ」
上記のように3種類の日本語に分かれますが、どれにも共通する現在完了の根っこの意味は<過去に起こったことが現在につながっている>です。①[継続]「ずっと~している」は「過去に始まったことが現在まで続いている」というニュアンスで過去と今がつながっています。②[経験]「~したことがある」は「過去にした経験が、今経験値として残っている」というニュアンスで過去と今がつながっています。最後の③[結果・完了]「~してしまった/~したところだ」は、「過去に始めったことが、今終わった」というニュアンスで過去と今がつながっています。今回は①[継続]を学習していきます。
現在完了[継続]「ずっと~している」
肯定文
I have lived in Japan for ten years. | 「私は日本に10年間住んでいる」 |
現在完了のニュアンスは<過去の出来事が現在につながっている>です。上の例文も「過去に日本に住み始めて、そのまま今に至る」という意味で過去が現在につながっています。過去形と区別してみましょう。
【過去形】 I lived in Japan. | 「私は日本に住んでいた」 |
【現在完了形】 I have lived in Japan. | 「私は日本にずっと住んでいる」 |
【過去形】の例文では、今も日本に住んでいるかは判断できません。一方、【現在完了形】の例文では、今も日本に住んでいることが分かります。現在完了は過去形や現在形とは全く異なり、過去でも現在でもなく、<過去に起こったことが現在につながっている>ということを表します。日本語では考えるとごちゃごちゃになりやすいので、上記のニュアンスで理解をしておいてください。
継続「(ずっと)~している」の現在完了とよくいっしょに使われる語句
現在完了の意味は「(ずっと)~している[継続]」「~したことがある[経験]」「~したところだ・~してしまった[完了・結果]」の3つでしたが、以下の語句が文中にある場合は「(ずっと)~している[継続]」という訳をあてはめるとうまくいきやすいです。
〇 for+期間を表す語句…「~の間」
・for three years「3年間」/for many years「何年もの間」/for a long time「長い間」
〇 since+過去のある時点…「~以来」
・since yesterday「昨日から」/since then「その時以来」/since yesterday「昨日から」
・since I was a child「私が子供だったとき以来」
〇 how long「どれくらいの間」
〇 その他よく出てくるもの
・all day「一日中」/today「今日」/this week「今週」
I have lived in Japan for ten years. | 「私は日本に10年間住んでいる」 |
We have known each other since we were children. | 「私たちは子供のころからお互いを知っている」 |
Tom has studied English all day. | 「彼は一日中英語を勉強している」 |
How long has Mary lived in Japan? | 「メアリーはどのくらいの間日本に住んでいますか?」 |
否定文
<【主語】+have+not+過去分詞>とすると否定文になります。<have+not>の短縮形は<haven’t>、<has not>の短縮形は<hasn’t>です。
I have not used my car since yesterday. | 「私は昨日から車をずっと使っていない」 |
Tom has not stayed here for a long time. | 「トムは長い間ここにとどまってはいない」 |
疑問文
<Have+【主語】+過去分詞~?>とすると疑問文になります。答え方は<Yes, 【主語】+have(has).><No,【主語】+haven’t(hasn’t).>です。
Have you lived in Japan for two years? ーYes, I have. ーNo, I haven’t. | 「あなたは2年間日本に住んでいるのですか?」 ー「はい、そうです」 ー「いいえ、ちがいます」 |
Has Tom stayed at this hotel since yesterday? ーYes, he has. ーNo, he hasn’t. | 「トムは昨日からこのホテルに滞在していますか?」 ー「はい、そうです」 ー「いいえ、ちがいます」 |
疑問詞を使った疑問文
「(ずっと)~している[継続]」という意味の現在完了とよくいっしょに使われる疑問詞は<how long「どれくらいの間」>です。疑問詞のあとは疑問文の語順にします。
How long have you lived in Japan? ーI have lived in Japan for two years. ※単にFor two years.と答えてもよい。 | 「あなたは日本にどれくらい住んでいますか?」 ー「2年間です」 |
How long has Tom studied English? ーHe has studied English since this morning. ※単にSince this morning.と答えてもよい。 | 「トムはどれくらいの間英語を勉強していますか?」 ー「今朝からです」 |