質問: When Mary finally came into the room,we had been talking about the problem for a long time. という文なのですが、Whenで特定の時間を指定している場合は現在完了は使えないと考えていたため、 had been を were とテストで答えてしまいました。 どのような時にwhenと現在完了が共に使えるのか、また私の回答ではどう間違いなのかなど知りたいです、よろしくお願いいたします。
回答: 英語ネイティブレベルの者です。 この場合、wereと普通の会話で言いますよ。 実際、そんなにこだわることじゃあないのに。 まあ、英語のテストならしょうがないか。 > 私の回答ではどう間違いなのかなど まず、では2つのイベントが起きているので、 文を2つにわけます。 1) Mary finally came into the room, 2) we were talking about the problem for a long time. 例えば、1)は、午後3時にMaryが部屋に来たとします。 2)は、話をしていたのが、午後2時から4時までしていたとします。 この場合は、2)は1)よりもPast tense (過去形)を示していますね。 しかも、1)はすでにPast Tense. 2つの文章を組み合わせて、Past Tenseよりもさらに以前の過去を示すには、 文法的にはPast Perfect (過去完了)しかありません。 したがって、以下のようにhad beenになります。 When Mary finally came into the room,we had been talking about the problem for a long time. ただし、日常的な会話ではWe were talking... と言って全く問題ありません。 私が英語のテストの採点していたら、間違いなくOKにしますね。 > どのような時にwhenと現在完了が共に使えるのか 以下の例を見てください。 映画が終わった時、私は準備をします。 3) I will get ready when the films finishes. 4) I will get ready when the films have finished. どちらも正しいです。 ただ、普通は口語でネイティブは3)を使います。 別の例を出しましょうか。 5) When have you been to Italy? 6) When did you go to Italy? 7) Have you been to Italy? 5) については、いつ(過去に)イタリアに行ったことがあるのか? と聞いています。 6)は、過去のいつの時点(去年とか先月とか)でイタリアに行ったのか? と聞いています。 5)に関しては、数回行ったことがあるだろうなと、聞いている人が わかっているときに使います。一方、 ほんとにイタリアに行ったことがあるの?みたいな 皮肉にも聞こえますね。 例えば、誰かが「俺ってイタリアのことをよく知っているんだよ!」って 言ってきて、それに対してあなたが「イタリアにも行ったこともないのに、 何言ってるんだ?」「いつイタリアに行ったことがあるんだ?」 というニュアンスで、5)When have you been to Italy?と 皮肉っぽく言うこともできます。 普通はそういう言い方はしませんが。。。。。 通常の会話では、以下のように話をしますね。 Frank: Have you been to Italy? Jennifer: Yes (I have). Frank: When (did you go to Italy)? Jennifer: Last August.