英語
高校生

現在完了でhave+過去分詞のものとhave been〜ingのものの見分け方を教えてください🙇🏻‍♀️動作かどうか を見ると習いましたが、解決しようとする、暮らしているなど動作かどうか怪しいものが出題された時に悩んでしまいます🌀

回答

学校で一般的に教わることを整理すると
①現在完了形 have+過去分詞
4つ用法がある 完了・結果・経験・継続
②現在完了進行形 have been 〜ing
継続 の意味のみ
で、質問は①・②の「継続」の違いですよね。

問題を解くってことでいうと、まずわかっておくことは
・状態動詞は進行形にしない
ということです。
haveとかliveとかknowとかのように元の意味が「〜している」というような動詞(たくさんあります)
例えばhaveは 
持つ(=持ってない→持ってる という変化)ではなく
持っている(という状態)を表します
こういうのは基本的に進行形にしません(一時的に、ということを強調したい場合を除いては)
これは普通の進行形 be動詞+〜ingもそうだし
現在完了進行形 have been 〜ingもそうなんです。
「暮らしている」はliveですかね?
だとしたらこれは、
liveが状態動詞だとわかってれば迷いません。

で、例えば
①I have studied English for a year.
②I have been studying English for a year.
この違いは何ですか?って聞かれたときに
②は動作の継続だからこれだと
1年間ずっと(飲まず食わず、寝ずに)英語を勉強している ことになっちゃうからおかしいよー
とかって説明をたまに見るんですけど、
これは誤解です。
たしかにhave been〜ingは動作のぶっ続けの継続、の意味になりやすいのはあるんですけど、
必ずしもそうではありません。

そもそも進行形が
私最近小説読んでるんだよね
I'm reading a novel these days.
とかも現在進行形で言えるんです。
これも飲まず食わずで小説読んでるわけじゃありませんよね。だけど話者の中で「継続中」って意識があれば言えるんです。
(these days だから、nowより少し幅のある期間ですが、これも現在進行形でカバーできる「いま」の範囲なんです)
そしてこれを完了進行形にした
I have been reading a novel these days.
もおかしくないです。

逆に
①I have studied English for 30 minutes.
②I have been studying English for 30 minutes.
これだってどちらもおかしくないんです。
30分くらいだったらぶっ続けで勉強してると言ってそうだけど、②はもちろん正しいし、①も正しいです。

それともう一つ
②は、今後もその動作が続いていく含みがあり
①はそうとも限らない
みたいな説明もよくされるけど
それもそんなことないです。
①②両方とも、今後も続いていく場合もあるし、今の時点までの継続の話で今後のことは視野に入れてないこともあります。

では①②の何が違うかというと
①の現在完了形は、継続以外にも完了とか結果っていう用法があるように、「ある行為をした」とか「ある状態であった」っていうことの蓄積を言ってる感じなんです。
それに対して
②の現在完了進行形は、その行為自体に焦点を当ててる
というだけなんです。

①②では言いたいことが違うのではなくて
言いたいことの現象は同じでも、それをどういうニュアンス伝えたいかが違うんです。
①I have studied English for a year.
②I have been studying English for a year.
これはどちらも、
飲まず食わずとかではなくて、ご飯も食べるしお風呂も入るし出かけたりもするし、そういう生活の中で英語の勉強もして1年間 ってことが言いたい(常識的に考えて)のですが
①は、「私は1年間英語を勉強してきた」という蓄積ニュアンスなんです。で、「してきた」と言ってるけど今後も勉強はするかもしれないし、これで終わりかもしれないし、それは時と場合による。
②は「1年間英語ずっと勉強してる」という、ずっとのニュアンスなんです。そして、「してる」と言ってるけど、これも同様に今後も続けるかこれで終わりかは、この動詞の形に関係ありません。

30分の場合でも同様で
①I have studied English for 30 minutes.
②I have been studying English for 30 minutes.
①だったら例えば、勉強嫌いな子がテスト直前に「30分勉強してる」(30分蓄積した、から赤点はクリアできるかな)とか
②は「30分勉強してる」(英語嫌いなのに30分やったよ私えらい)とか
同じことを違うニュアンスで伝えている感じです

「解決しようとする」の場合も同様で
どちらのニュアンスで伝えたいのかを考えることが重要です。だから日本語だけ見てうーーんって唸っても何も出てこなくて、この言葉、この文が使われている場面をよく想像することです。
例えば問題を解決するために5年間努力してきた、なのか、問題を解決しようと5年間ずーっと格闘した、みたいなニュアンスなのか
そうすると、自分の日常感覚で考えて普通はこういうことはありえないよね、ということは自然と除外されるので、1年間ぶっ通しで英語勉強する、みたいな常識的におかしい訳にも至らないです。

この回答にコメントする
疑問は解決しましたか?