進研模試で以下のような問題が出題された。
The construction of the bridge will be completed ( ) three months.
ア by イ for ウ until エ within
正解は、エのwithin。訳は「橋の建設は3ヶ月以内に完了するだろう。」である。なぜ、他の選択肢は誤っているのだろうか。予備校の講師に質問したところ、以下のような回答を頂いた。
※以下の例文はweblioから引用した。
まず、byとuntilは時の一点を指す名詞を受ける前置詞である。
by the end of this month 今月末までに
Wait until two o'clock. 2時まで待て。
そのため、これらの選択肢は時の一点ではないthree monthsを受けられないため、誤答である。
次に、forは three months のような期間を受けられるが、動作継続の期間を意味しており、設問のような
completeでは使われない。おそらく
complete(-を完成させる、仕上げる)では、動作の継続というニュアンスが生じないためであろう。
We stayed there (for) three weeks. 我々はそこに 3 週間滞在した.
I haven't spoken to her for two months. 彼女とは 2 か月話をしていない.
My younger sister will study English for two years. 私の妹は英語を2年間勉強するつもりです。(マーク ピーターセン『日本人の英語』p108)
以上より、「-以内」を表す within が正解となる。