現在完了と現在完了進行形の違いで悩む生徒は多いです。
そもそもの話ですが、現在完了で悩む生徒が多いです。中学3年生の英語でつまずく文法としては有名です。
理由はいくつかあります。
- 「have」が「持っている」という意味ではなく、文法を作るための言葉として出てくる
- 過去分詞を覚えなければならない
- 経験、継続、完了という3つの意味を区別する必要がある
そんな状態の中、現在の中学英語では「現在完了進行形」も学習することになります。
現在完了だけでも分かりづらいのに、そこに現在完了進行形が加わるため余計に混乱してしまうのです。
まずは「状態」と「動作」で分けて考える
まず大まかに言うと、動きが見えにくい状態を表す動詞は「現在完了」、動きが見えやすい動作を表す動詞は「現在完了進行形」になりやすいです。
「動きが見えにくい状態?動きが見えやすい動作?」
このように感じるかもしれません。
簡単に言うと、心の中や頭の中、持っている状態など、外から見ても動きが分かりにくいものが「状態」です。
反対に、外から見て何かをしていると分かりやすいものが「動作」です。
状態動詞とは
状態動詞とは、外から見ても具体的な動きが分かりにくい動詞です。
たとえば、「知っている」、「好きである」、「持っている」などです。
これらは頭の中や心の中、または持っている状態を表しています。
動作動詞とは
動作動詞とは、外から見ても「何かをしている」と分かりやすい動詞です。
たとえば、「勉強する」、「待つ」、「走る」、「読む」などです。
これらは実際にその動きをしている様子がイメージしやすい動詞です。
状態動詞と動作動詞の例
代表的な状態動詞と動作動詞を並べると、次のようになります。
| 状態動詞 | 動作動詞 |
|---|---|
| know(知っている) | study(勉強する) |
| like(好きである) | work(働く・作業する) |
| love(大好きである) | wait(待つ) |
| want(欲しい・したいと思う) | read(読む) |
| need(必要としている) | write(書く) |
| have(持っている) | run(走る) |
| own(所有している) | play(遊ぶ・プレーする) |
| believe(信じている) | watch(見る) |
| understand(理解している) | listen(聞く) |
| remember(覚えている) | cook(料理する) |
どうでしょう。少しはイメージできたかと思います。
状態動詞は現在完了で表す
状態動詞は、基本的に現在完了で表します。
たとえば、次の文を見てください。
I have known him for ten years.
私は彼を10年間知っています。
この場合、「知っている」という状態が10年間続いています。
「知っている動作」をしているわけではないため、現在完了進行形にはしません。
状態動詞を見分ける考え方
そもそもですが、「知っているという動作をしてください」と言われたときに、そこにいる10人が同じ動きをするでしょうか。
おそらく、バラバラになると思います。
このように、外から見ても具体的な動きが分かりにくいものは「状態動詞」と考えると分かりやすいです。
動作動詞は現在完了進行形にしやすい
一方、動作動詞は現在完了進行形にしやすいです。
たとえば、次の文を見てください。
I have been studying for two hours.
私は2時間ずっと勉強しています。
この場合、「勉強している」という動作が2時間続いています。
勉強している様子は外から見ても分かります。そのため、現在完了進行形が自然です。
動作動詞を見分ける考え方
同じように考えてみましょう。
そこに10人いたとして、「勉強しているという動作をしてください」と言われたら、同じような動作をすると思いませんか。
机に向かう、ノートを書く、教科書を読むなど、ある程度似た動きになるはずです。
このように、外から見ても「何かをしている」と分かりやすいものは「動作動詞」と考えると分かりやすいです。
まずはこの分け方で考える
現在完了と現在完了進行形で迷ったときは、まず次のように考えるとよいでしょう。
- 状態動詞は現在完了が基本。
- 動作動詞は現在完了進行形にしやすい。
これだけでも、かなり判断しやすくなります。
ただし、すべての動詞がきれいに分かれるわけではありません。
どちらでも使える動詞もある
たとえば、work、live、study などは、現在完了でも現在完了進行形でも使われることがあります。
I have worked here for five years.
私はここで5年働いています。
I have been working here for five years.
私はここで5年間働き続けています。
どちらも大きな意味では「5年働いている」です。
ただ、現在完了は「勤務歴が5年ある」という事実に近い表現です。
一方、現在完了進行形は「5年間ずっと働き続けている」という動作の継続感が強くなります。
現在完了と現在完了進行形の使い分け
勤務歴や事実を伝えたいなら現在完了。
動作がずっと続いている感じを出したいなら現在完了進行形。
このように考えると分かりやすいです。
現在完了の方が使える場面は広い
個人的には、現在完了と現在完了進行形は、かなり近い意味になることも多いと思います。
ただし、現在完了は現在完了進行形よりも使える場面が広い表現です。
現在完了は、「経験」「継続」「完了」「結果」などに使えるためです。
たとえば、
I have been to Kyoto.
私は京都に行ったことがあります。
I have finished my homework.
私は宿題を終えました。
I have lived here for ten years.
私はここに10年住んでいます。
このように、現在完了はいろいろな場面で使われます。
中学のテストではどう考えるか
ただし、中学のテストでは別です。
現在完了と現在完了進行形の意味が近いからといって、どちらを書いても正解になるわけではありません。
テストでは、文法としてどちらを使うべきかを見られます。
「ずっと〜している」という動作の継続を強く表したい場合は、現在完了進行形を使います。
たとえば、
I have been waiting for you for thirty minutes.
私は30分ずっとあなたを待っています。
I have been studying English since this morning.
私は今朝からずっと英語を勉強しています。
このように、「待っている」「勉強している」など、動作が続いている場合は現在完了進行形を考えるとよいでしょう。
「ずっと」があれば現在完了進行形とは限らない
ただし、「ずっと」という言葉があれば必ず現在完了進行形になるわけではありません。
たとえば、
I have known him for ten years.
私は彼を10年間ずっと知っています。
I have liked soccer since I was a child.
私は子どものころからずっとサッカーが好きです。
このように、「知っている」「好きである」などの状態が続いている場合は現在完了を使います。
つまり、テストで考えるときも、
「ずっと」+動作が続いている → 現在完了進行形
「ずっと」+状態が続いている → 現在完了
と考えるとよいでしょう。
現在完了と現在完了進行形の違いまとめ
現在完了と現在完了進行形の違いは、次のようになります。
| 表したい内容 | 使いやすい形 |
|---|---|
| ずっとそういう状態が続いている | 現在完了 |
| ずっとその動作をしている | 現在完了進行形 |
| 経験・完了・結果・回数を表す | 現在完了 |
英語が苦手な生徒は、最初から細かい違いをすべて覚えようとしなくても大丈夫です。
まずは、
状態動詞は現在完了。
動作動詞は現在完了進行形。
この大きな分け方から理解していくと、現在完了と現在完了進行形の違いがかなり分かりやすくなります。
※中学生にわかりやすい表現を意識して作成しています。

