- ベストアンサー
仮定法で現在完了を言う方法について
仮定法で現在完了を言う場合、例えば「もしあなたが今日やり残したことがあったのなら」と言う文を仮定法で言いたい場合は、if there were something you hadn't achieved yet todayになると思っていたのですが、you hadn't achieved yetは仮定法過去完了になって意味があやふやになってしまわないのか急に疑問になってきました。仮定法で完了形を言いたい場合は仮定法過去完了のようにやはりhad~を使っても良いのでしょうか、それとも別の言い方があるのでしょうか。どうぞご回答宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
1。普通言いたいことが、一番たいせつで、それが伝わればいいわけです。 ですから「仮定法で現在完了を言う」と言うのは変です。 2。「もしあなたが今日やり残したことがあったのなら」と言いたければ If there are things you have left to do for today でいいと思います。
その他の回答 (2)
- 92128bwsd
- ベストアンサー率58% (2275/3919)
「もしあなたが今日やり残したことがあったのなら」 まず、日本語で言いたいことを主節も含めて整理する必要があると思います。 1. 「もしあなたが今日やり残したことがあったのなら、それを明日の午前中までに終わらせるべきだ」 1-a. やり残しがあったことを知っている場合 1-b. やり残しがあったかどうか知らない場合 2. 「もしあなたが今日やり残したことがあったのなら、そのことをすぐに私に報告スべきだった」 2-a. やり残しがあったことを知っている場合 2-b. やり残しがあったかどうか知らない場合 2-c. やり残しが無かったことを知っているけれど、もしあったとしたならばと言う場合。 1-a. この場合はif文を使わないですね。 As you have something undone today, you should finish it in tomorrow morning. 1-b. If you have something undone today, you should finish it in tomorrow morning. やり残したのは過去でも、やり残した状態があることは現在なので現在形で良いです。 2-a. この場合もif文は使いません。 You should have told me that you left something undone today. 2-b. この場合も通常if文は使わないと思います。あったかどうかわからない過去の出来事に対して、過去に”こうするべきだった”と言うのは変な文章と思います。その前にやり残しがあったのかどうか確認するのが普通だと思います。 In case you had something undone today, you should have told me that. 2-c. If you had something undone today, you should have told me that. > if there were something you hadn't achieved yet today この場合、仮定法過去完了ではなくif there were something で仮定法過去です。ただ、やり残しがあったかどうかわからない中で仮定するのであれば、やり残した状態は現在も続いているはずなので、1-b. に相当するのであれば if there is something you haven't achieved today. 細かい話ですが、yetは無い方が良いと思います。haven't achieved today を厳密にとらえると、今日話しをしていて、今日達成していないと言うことになるのですが、常識的には今日の業務時間、活動時間中に達成していないと言うことととらえられます。そこにyetが入ると、まだ午前0時まであるように聞こえてきます。
- SPS700
- ベストアンサー率46% (15297/33016)
#1です。補足です。 「仮定法で完了形を言いたい場合は仮定法過去完了のようにやはりhad~を使っても良いのでしょうか、」 この場合の were は形は過去に似ていますが、仮定法と言うだけで事実上の過去ではありませんから、had~を使う必要はないと思います。