- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Nakay702
- ベストアンサー率79% (10068/12613)
以下のとおりお答えします。 >下の英文で答えはウなのですがyesterdayは現在完了形と一緒に使えないだけで現在完了進行形とは一緒に使えるのですか? >The work should ( ) yesterday. We must work overtime till late. ⇒う~ん、むずかしそうですね。 箇条書きしながら、順を追って説明します。 ①まず、問題個所の構文 正解とされる ウ. (should) have been finished は現在完了進行形とかでなく、「仮定法過去完了(の帰結節)」です。ただ、通常の仮定法過去完了であれば、 「条件節: If 過去完了形(had pp.) + 帰結節: should have pp.」 「もし~(言わせてもらう)なら + (昨日は)…しなければならなかった」 のように言うのですが、本文では条件節「もし~なら」の部分が省略されて、帰結節「(昨日は)…しなければならなかった」の部分だけが残った表現なのです。 なお、pp. とは、過去分詞(Past Participle) という意味です。 ②正解の選択肢を選ぶまでのプロセス 問題文:The work should ( ) yesterday. We must work overtime till late. 選択肢:ア. be finished イ. finish ウ. have been finished エ. have finished → ア.~エ. の全ての選択肢を順次原文の( )に入れて(つまり、shouldを前置して)その訳を考えてみると、こんな感じになります。 「should be finished/should finish/should have been finished/should have finished」 訳「終わらせるべきだ/終えるべきだ/終わらせるべきだった/終えるべきだった」。 ③消去法で選択肢を絞り込む yesterdayから過去のことを述べていることが分かります。mustは過去の意味を表わしていますので、別の語で言い換えるならhad to となります。→過去の話なので、現在形の選択肢 ア. be finishedとイ. finishは外れます。 また、The work が主語なので、受身文にしなければなりません。→能動文の選択肢イ. finish とエ. have finished が外れます。 ということで、残るは、受身文の過去形 ウ. have been finished のみで、これが正解ということにます。 ④完成文と訳 以上から、正解を入れた全文はこうなることが分かります。 The work should have been finished yesterday. We must work overtime till late. 内容を訳せばこうなります。 直訳:「その仕事は昨日終わらせられるべきだった。(それで)我々は遅くまで残業しなければならなかった。」 *以上で終わりせですが、十分説明できているかどうか確信はありません。もし不明点や疑問点がありましたら、コメントなさってください。折り返しお返事します。
- gohantookazu
- ベストアンサー率61% (258/417)
まず、ご質問のなかの「現在完了進行形」という部分は、書き間違いか何かだと思いますので、目をつぶります。 結論から言うと、yesterdayをそこで使うのは問題ないと思います。 ただし、現在完了形とyesterdayが一緒に使われている、という事ではないと思います。 「should have been finished」というのは、見た目の雰囲気が現在完了っぽいのですが、受動態の過去形なのでしょう。 「should」の後ろには、原型しか来る事ができないので、shouldで過去形を作るときには、「shoud have + 過去分詞」という、ちょっと特殊な形になります。 そこに受動態が組み合わさって、「should have been + 過去分詞」になっているという事だと思います。ちょっと複雑なコンボですね。 蛇足ですが、「should」を使うことで、「完了されるべきだった(けど実際にはされなかった)」という意味になります。このshouldの用法は反語などと呼ばれたりします。実際に起こったのとは違う事について言うときの語法で、「if~」の部分は無いものの、仮定法に近いニュアンスをもつ表現です。