• ベストアンサー

現在完了の事で

I have played the piano for 30 years I have been playing the piano for 30 years I have been to play the piano for 30 years 私は30年間ピアノを弾いています。と訳すときの文を作ったのですがどれも正解になりますか? それともみな意味が違うものになるのですか? ぜひ教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • b-a-d
  • ベストアンサー率44% (4/9)
回答No.5

現在完了形は意味として  (完了)「~してしまった」(継続)「ずっと~している」(経験)「~したことがある」があります。 この場合、ある過去の時点から現在まで 「ピアノをずっとひいています」(特に1秒も休むことなくひく必要はないです)ということですから、 I have been playing the piano for 30 years. が正しいと思います。 継続の意味だなと判断がつくのは、for ~ の部分で、 since~やHow long~?などと同じで、 これはある期間何かが継続されて行われていたことを表しています。 また、動詞には動作動詞と状態動詞があり、 動作動詞は、現在完了進行形にして(継続)の意味を表すことの方が普通です。 状態動詞はloveやknowなどで、ことさら進行形にせずとも継続している状態が表せる動詞です。 しかし、状態動詞でもliveは一時的に住んでいる場合には、進行形にする場合があります。 また、wantが進行形になっている例も見たことがあります。 英語に例外はつきものです。 これらのことは、高校生用の参考書にも出ていることですが、 以前ネイティブに確認したところ、 for~がある以上、動作動詞は進行形にする方が自然であると言っていました。 従って、playは動作動詞ですので、2番目が一番適当な文章ということになると思います。

TAKU24
質問者

お礼

お返事ありがとうございます。 >>動作動詞は、現在完了進行形にして(継続)の意味を表すことの方が普通です。 確かにその通りのようです。 下記のホームページにも同じことが書いてありました。 http://www.englishcafe.jp/english/day37.html

その他の回答 (4)

noname#34556
noname#34556
回答No.4

こんにちは。 他の回答者の方が have been to に関して答えられていますが、そちらは私も同感です。が、前の2文について。こちらのポイントは30年という長い期間と、ピアノなんです。 例えば、 I have been working in the same company for 30 years. I have worked in the same company for 30 years. の2つの例文ですと、ほぼ意味は変わりません。なぜかと申しますと、仕事は通常週に5日程度はするものですから、毎日の習慣的なものになります。でもいつかは仕事を辞める日も来るわけでして、一生仕事をし続けるわけではないので、どちらも使用が可能なんです。日本語で考えますと、 I have been working in the same company for 30 years. →30年同じ会社で働き"続けて"ます。 I have worked in the same company for 30 years. →30年同じ会社に"勤務"しています 程度の違いです。強調感が若干違うだけです。 My parents bought a house 20 years ago and they have lived in there since then. ですと、have been living は使いにくくなります。それは恐らくご両親は一生そこに住み続ける可能性が非常に高いからなんです。ですが、海外に2年ほど勤務している会社員が、1年後には日本に戻るとすれば、それは have been living でも良いのです。 つまり、最近の出来事や、永遠には続かない事柄には、have been も have PP もともに可能なんですが、永遠に続くであろうことには、have pp がふさわしいということになります。 ですので、ピアノを"30年"というのが、職業としてのピアノなのか、趣味としてなのか、ピアノを弾くのは週に1回程度なのか、毎日数時間は必ず弾くのか、音楽家のように、死ぬまで弾きたいと思っているのか、そのうち飽きてやめてしまうのか、それによってどちらがふさわしいかお分かりになるかと思います。 ただ文法として試験などで使用される場合には、やはり#3の方がおっしゃるような訳し方が適切かも知れません。もし試験などで使用される場合は、テキストなどと照らし合わせてみていただければ宜しいと思います。上記で申し上げたことも、文法上間違いではありません。あくまでも言葉のニュアンスとして説明させていただきました。 参考になれば幸いです。

TAKU24
質問者

お礼

事細かに現在完了のしくみを教えて頂きありがとうございました。 自分で改めて調べたところ2番の文の方がいいみたいでした。 現在完了って難しいですね・・・。 http://www.englishcafe.jp/english/day37.html

  • tasuI
  • ベストアンサー率7% (1/13)
回答No.3

私は高校1年生で、専門家ではないので、アドバイス程度にしていただけると幸いです。 I have played the piano for 30 years. →これが1番よい訳だと思います。 I have been playing the piano for 30 years. →現在完了はある時点から現在までを一気に表すので、この文だと、「ある時点から30年間“ずっと”ピアノを弾き続けている」という意味になってしまいます。 I have been to play the piano for 30 years. →これは、文法的に意味が通じません。 ※ have been to ~:~に行ったことがある

TAKU24
質問者

お礼

ご回答していただきありがとうございます。 せっかくお答えしていただうれしいのですがどうやら2番目の文がよろしいようです。 英語は難しいです・・・。 http://www.englishcafe.jp/english/day37.html

  • mackbogey
  • ベストアンサー率31% (32/102)
回答No.2

最初の文章は、間違いではないでしょうが、何か違和感がありますね。2番目なら、『30年間、ずっとピアノを弾いています」となり、一番すっきりしていて問題ないと思います。  3番目は『be to 動詞原形』という形で、文法的には認められない文章で、駄目です。  なお、文章の最後には必ず『.』(ピリオド)をつけてください。

TAKU24
質問者

お礼

お返事していただきありがとうございます。 これからはピリオドをしっかりつけるよう気をつけます。 お答え頂いたとおり2番目の文がいいようです。 http://www.englishcafe.jp/english/day37.html

  • zake
  • ベストアンサー率50% (2/4)
回答No.1

意味的に考えたら一番上が最も適当だと思います。 2番目は極端に言えば「30年もの間一秒も休まず…」ということになりますし、 3番目の「have been to」は「~に行ったことがある」という意味で、文章的には不適当ではないでしょうか?

TAKU24
質問者

お礼

お返事ありがとうございます。 分かりやすく短くまとめた説明でお答えいただいたのですがどうやら2番目の文の方がいいようなのです。 英語のニュアンスは複雑ですね・・・。 http://www.englishcafe.jp/english/day37.html

TAKU24
質問者

補足

みなさん、親切にお答えいただきありがとうございます。 3番が間違いでその理由もはっきり分かったのですが、 残りの1番か2番かできれいに答えが別れてしまってその理由も納得するものでしてますます混乱しています・・・。 こういう文法って難しいですね・・・。

関連するQ&A