since と for の違い - 「~から」「~間」の使い分け(中学英語)

英語で「どのくらいの期間」を表すとき、since と for はどちらもよく使われます。しかし、この 2 つは後ろに置く言葉がまったく異なるため、混同するとネイティブには不自然に聞こえてしまいます。

since

「~から」という意味で、後ろには起点(いつから)を置く。

for

「~の間」という意味で、後ろには期間の長さ(どのくらい)を置く。

たとえば「私は 3 年間ここに住んでいます」と言いたいとき、3 年間という期間の長さを伝えるので for three years を使います。一方、「2022 年からここに住んでいます」のように始まった時点を伝えるなら since 2022 となります。

since の使い方

since の後ろには「いつから」を表す具体的な時点が入ります。

I have lived here since 2022.
私は 2022 年からここに住んでいます。
She has studied English since last April.
彼女は去年の 4 月から英語を勉強しています。
We have been friends since childhood.
私たちは子供のころからの友達です。

since の後ろに来るのは 2022、last April、childhood のように「いつ始まったか」を示す語句です。「3 年間」のような長さを表す語は置けません。

since を使う文では、現在完了形(have + 過去分詞)がセットになるのが基本です。「過去のある時点から今まで続いている」というニュアンスを持つため、過去形の文では通常使いません。

for の使い方

for の後ろには「どのくらいの長さ」を表す期間が入ります。

I have lived here for three years.
私は 3 年間ここに住んでいます。
He slept for ten hours.
彼は 10 時間眠りました。
We waited for thirty minutes.
私たちは 30 分間待ちました。

for は現在完了形だけでなく、過去形や未来の文でも幅広く使えます。上の例でも He slept for ten hours. は過去形の文で、「過去のある時点で 10 時間眠った」という意味になります。この点が since との大きな違いです。

後ろに来る語句の見分け方

迷ったときは、後ろに来る語句が「時点」か「長さ」かを考えると判断できます。

語句種類使う前置詞
2020時点since
three days長さfor
last Monday時点since
two hours長さfor
this morning時点since
a long time長さfor

this morning のように一見すると長さにも見える表現がありますが、これは「今朝という時点から」を表すので since を使います。

よくある間違い

since と for を取り違える間違いは、英語学習者にとても多く見られます。

since three years(誤り)

three years は期間の長さなので for three years が正しい形です。since は時点にしか使えません。

for 2020(誤り)

2020 は時点なので since 2020 が正しい形です。for は期間の長さにしか使えません。

since と for を含む疑問文

「どのくらい~していますか?」とたずねるときは How long を使います。答えるときに since か for かを選びます。

How long have you lived in Tokyo?
どのくらい東京に住んでいますか?
I have lived in Tokyo since 2019.
2019 年から東京に住んでいます。
I have lived in Tokyo for six years.
6 年間東京に住んでいます。

同じ質問に対して、起点で答えるなら since、長さで答えるなら for を使い分けます。どちらで答えても意味は通じるので、自分が伝えやすいほうを選べば問題ありません。

まとめ

since は「いつから」、for は「どのくらいの長さ」を伝える前置詞です。後ろに来る語句が時点なのか期間なのかを見れば、どちらを使うべきかは自然に決まります。

「私は 5 年間ピアノを弾いています」を英語にすると?

  • I have played the piano since five years.
  • I have played the piano for five years.
  • I have played the piano in five years.
__RESULT__

five years は期間の長さを表すので for を使います。since は時点(例: since 2020)にしか使えません。