現在完了形は現在までの「状態の継続」を表すのに対し、現在完了進行形は現在までの「動作の継続」を表す。
したがって、現在完了形には状態動詞、現在完了進行形には動作動詞を用いる。
《現在完了形》
He has studied law for 2 hours.
彼は2時間法律を勉強した(今勉強しているかはわからない)
《現在完了進行形》
He has been studying law for 2 hours.
彼は2時間法律を勉強している(今も勉強し続けている)
《現在完了形》
I have worked in the office for 10 years.
その会社で10年間働いた(今働いているかはわからない)
《現在完了進行形》
I have been working in the office for 10 years.
その会社で10年間働いている(今も働いている)
【ワンポイント解説】
状態動詞→ある一定期間継続する状態を表す動詞(like, know, belong, etc.)
動作動詞→動作や行為を表す動詞(run, eat, study, etc.)