• ベストアンサー

前置詞について

(1)The heavy rainfall has caused vegetable prices to rise daily () the last two months. 1. for 2. since (2)We haven't seen you () 1. since four years 2. in the past four yaers 3. last four years (1)について forの後ろには不特定な期間がきて、duringの後には特定の期間がきます。ここではtheで特定された期間となっていますが、辞書によると「last,next,序数詞などが入ってる場合はforも可」とありました。いずれにせよduringはないのでforに決まりますが、duringも可能ですよね?またsinceの後ろは過去を表す表現がくると習いましたが、the last two months は過去ではないのでしょうか?それとも「ここ2ヶ月間は」という表現は現在までの継続(?)のような感覚で捉えて過去の表現ではないという判断なのでしょうか? (2)について 似たようなことなのですが、1.のsinceは考えてみるとこのような英語は無いですよね?「4年以来」では意味不明ですから...そこで3.を考えるとlastは過去を表しますから現在完了と共に使えず不適。そもそも3.の英語もあるのでしょうか?… と、ここで(1)の時と考えが矛盾してしまいました。結局the last と last では「現在を含む過去」と「過去」で別々の意味を持ってしまうのでしょうか?どうも、『過去の表現』という意味や『前置詞の対応』が捉えきれてないようです。疑問符をかなり使ってしまいましたが、よろしければ一つ一つ答えていただけると助かります。よろしくお願いします。  

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

  • ベストアンサー
  • Lites
  • ベストアンサー率33% (2/6)
回答No.1

まず、(1)の問題。 この場合はduringやinも確かに使えます。 で、sinceですが感覚的には「起点を表す」前置詞だと考えるとよいでしょう。 原因や理由などをsinceで表す場合もこれなら同じ感覚で捉えられますから。 そして起点となるのはある一点です。 例えばsince my birthで「私が誕生したときから」とかですね。 だからこの場合、the last two monthsでは期間を表してしまうので使えないわけです。 次に(2)の問題です。 1は上と同様の理由で過去の一点でないので不可になります。 lastですが、last yearで去年に、とか、last monthで先月に、と言った表現があります。 これはlastの特殊な使い方で、前置詞も冠詞もつけないと副詞句になるのです。 だからこの場合も副詞句になっているのですが……。 副詞句として使う場合のlastは期間を表す意味がありません。 だからlast four yearsはおかしい表現ということになりますね。 これがin the last four yearsなら正解になるのですが。

rockman9
質問者

お礼

sinceはやはり過去の一点として捉えればいいんですね!lastについてもよく理解できました!ありがとうございます!

その他の回答 (3)

回答No.4

"for" は、はっきりとした期間や時間を表す数詞か、"some" や"few" などを伴う期間の前に付く前置詞です。 "during" は、期間や時間を表す数詞などがなくて、ある一定の期間や「(その期間に)していたこと」を表す語や句の前に付く前置詞です。 "during my stay in Tokyo" は、「東京に滞在中に」で、東京にどのくらいの期間滞在していたのかは問いません。 なお、"durinrg" は、「その期間中ずっと」の意味になるか「その期間の間のあるときに」の意味になるかは文脈によって違ってきます。 普通、完了形の場合には前者の意味に、完了形以外の時制の場合には後者の意味になります。 "He left during the afternoon." 「彼は午後のうちに出発した」は、後者の例です。 それに対して、"through" や"throughout" は「~の間中ずっと」を意味します。 "since" は、「(ある時点)から」を表しますので、"four years" をあとに付けると意味を成しません。 "last four years" は、これだけでは「この4年間」というだけの意味なので、前置詞を伴って"for the last four years" とすればこの文に使えます。 "in the past four years" は、"in" が「の期間に」を表すのでこの文の場合、これが正解です。

rockman9
質問者

お礼

質問の前置詞以外にも触れていただきありがとうございます!勉強になりました!

回答No.3

両方とも現在完了ですよね。 おおざっぱな考え方として、現在完了の時の前置詞はたいていforかsinceしか来ないと考えてもいいと思います。 で、その判断ですがforを使う場合は、期間表す前置詞で、sinceは過去の一点を表す前置詞と考えていいと思います。 で、(1)ですが過去2週間という期間を表しているのでforでいと思います (2)は、2番が答えだと思います。一番は、期間を表しているのでfor four yearsなら正解です。3番は口語では使いますけど、for the lastが付けば正解です。 ちなみにsinceを使うとwe havent see you since we met 4 years agoとなります

rockman9
質問者

お礼

3番は口語では使うんですね!そういう問題はなるべく避けてもらいたいものです...将来は口語を使いますしね。勉強になりました!ありがとうございます!

  • pjman
  • ベストアンサー率48% (31/64)
回答No.2

(1)について いずれにせよduringはないのでforに決まりますが、duringも可能ですよね? → 可能です。 またsinceの後ろは過去を表す表現がくると習いましたが、the last two months は過去ではないのでしょうか?それとも「ここ2ヶ月間は」という表現は現在までの継続(?)のような感覚で捉えて過去の表現ではないという判断なのでしょうか? → 私の理解では、since「~以来」の後ろには過去のある時点が来ます。期間ではありません。従って、"the last two months"(期間)は来ないと思います。 forの後は、一定の時間を表す表現(seven years, five days といった表現)が、 sinceの後は、ある時間の1点を表す表現(yesterday, last week といった表現)が来ると覚えておかれるとよいと思います。 (2)について 似たようなことなのですが、1.のsinceは考えてみるとこのような英語は無いですよね?「4年以来」では意味不明ですから... → 上記のとおり、sinceの後ろには期間を表す表現は不適だと思います。 そこで3.を考えるとlastは過去を表しますから現在完了と共に使えず不適。そもそも3.の英語もあるのでしょうか?… → 何らかの前置詞が必要だと思います。一番良いのは、forですかね。 We haven't seen you for the last four years. なら(1)と同じですね。 そして、"last Friday" であれば過去のある一時点(さんが言われる過去)を表わしていますが、"four years" は幅を持った期間ですので、"last four years" は「現在を含む過去」という使い方しかできないと思います。 従って、正解は2(We haven't seen you in the past four years.)だと思います。

rockman9
質問者

お礼

ご指摘の最後ですが、もし"last four years"を「現在を含む過去」と捉えた場合、現在完了でも使えることになってしまいますが、結局lastのあとに何かがついてしまった時間は副詞句として成立しないということでダメという判断でよろしいでしょうか? 細かく教えていただきありがとうございます!

関連するQ&A