STAGE2 Lesson7-3 現在完了(継続用法の基本用法)【ニュートレジャーの道案内】
中2英語の現在完了で迷いやすいのが、for two yearsとsince last yearの使い分けです。
結論からいうと、forは「どれくらいの長さか」、sinceは「いつからか」を表します。
| 使う語 | 判断するポイント | 例 |
|---|---|---|
| for | 期間の長さ | for two years |
| since | 始まりの時点 | since last year |
この記事を読むと、問題文でforとsinceを選び分け、How longへの答えを作り、last yearとsince last yearの違いを判断できるようになります。
現在完了の継続用法とは
現在完了の継続用法は、過去のある時点から今まで続いている動作や状態を表します。日本語では「ずっと~しています」「ずっと~な状態です」と訳すことが多くなります。
基本の形は、次のとおりです。
主語 + have / has + 過去分詞
継続用法では、文の後ろに置かれるforやsinceが、意味を判断する大きな手がかりになります。
- for two years:2年間という長さ
- since last year:去年という始まりの時点
どちらも過去から今までの継続に関係しますが、示しているものが異なります。

forとsinceの違いは「長さ」か「始まり」か
forとsinceは、次のように区別します。
| 使う語 | 考える質問 | 後ろに続くもの | 例 |
|---|---|---|---|
| for | どれくらいの間? | 期間の長さ | two years / a week / a long time |
| since | いつから? | 始まりの時点や出来事 | last year / 2020 / you came here |
forは「期間の長さ」を表す
次の文を見てみましょう。
David has lived in Tokyo for two years.
has livedは、過去に住み始め、今も住んでいることを表します。文末のfor two yearsによって、その状態が「2年間」続いていることが分かります。
デイビッドは2年間東京に住んでいます。
forの後ろには、時間や期間の長さを表す語句を置きます。
| 表現 | 意味 |
|---|---|
| for two years | 2年間 |
| for a week | 1週間 |
| for a month | 1か月間 |
| for a long time | 長い間 |
sinceは「始まりの時点」を表す
次の文を見てみましょう。
He and I have known each other since last year.
each otherは「お互い」という意味です。have known each otherで、過去から今まで知り合いである状態を表します。
文末のsince last yearは「去年から」という意味です。去年を始まりの時点として、その状態が今まで続いています。
彼と私は去年から知り合いです。
迷ったときの判定方法
- 「2年間」「1週間」のような長さなら、for
- 「去年」「2020年」「ここへ来たとき」のような始まりなら、since
文章よりも映像で確認したい場合は、次の動画も利用できます。再生後は、下の説明でsinceの後ろに置けるものを確認してください。
sinceの後ろには時点を表す語句や文を置ける
sinceの後ろには、名詞などの語句だけを置く場合と、主語と動詞を含む文を置く場合があります。
| 表現 | sinceの使われ方 | 意味 |
|---|---|---|
| since last year | 前置詞 | 去年から |
| since you came here | 接続詞 | あなたがここに来てから |
sinceの後ろが語句だけの場合
since last yearでは、sinceの後ろにlast yearという語句が置かれています。このsinceは前置詞です。
sinceの後ろに主語と動詞がある場合
since you came hereでは、sinceの後ろにyou came hereという文が続いています。このsinceは接続詞です。
最初から品詞名だけを覚える必要はありません。まずは、どちらも継続が始まった時点を表していることを押さえましょう。
現在完了の否定文と疑問文の作り方
forやsinceは、肯定文だけでなく、否定文や疑問文でも使われます。
否定文はhaveまたはhasの後ろにnotを置く
David hasn’t seen his friends for a long time.
hasn’tはhas notの短縮形です。現在完了の否定文は、次の形で作ります。
主語 + have / has + not + 過去分詞
この文では、for a long timeが「長い間」という期間を表しています。
デイビッドは長い間、友人たちに会っていません。
疑問文はHaveまたはHasを主語の前に出す
Have you been busy since you came here?
現在完了の疑問文は、次の形で作ります。
Have / Has + 主語 + 過去分詞 …?
since you came hereは「あなたがここに来てから」という意味です。
あなたはここに来てからずっと忙しいのですか。
疑問文でも、sinceの後ろまでをひとまとまりとして読み、いつから続いているのかを確認しましょう。
How longは「どれくらいの間」をたずねる
現在完了の継続用法で、続いている期間を質問するときはHow longを使います。

How longを使った質問の作り方
How long have you lived in this city?
How longは「どれくらいの間」という意味です。
あなたはどれくらいの間この町に住んでいますか。
語順は、次のように考えます。
How long + have / has + 主語 + 過去分詞 …?
How longにはforとsinceのどちらでも答えられる
期間の長さを答えるときはfor、始まりの時点を答えるときはsinceを使います。
| 質問 | 答え方 | 答えている内容 |
|---|---|---|
| How long have you lived in this city? | I have lived here for two years. | 2年間という長さ |
| How long have you known him? | I have known him since last year. | 去年という始まり |
質問の中のin this cityは、答える人がその町にいる場合、hereに置き換えられます。
現在完了とlast yearはそのまま一緒に使えない
現在完了は、過去から今までのつながりを表します。そのため、last year、three days ago、yesterdayのように、終わった過去の時点を示す語句とは、そのまま一緒に使いません。
次の2文を比べてみましょう。
My brother lived here last year.
私の兄は去年ここに住んでいました。
My brother has lived here since last year.
私の兄は去年からここに住んでいます。
last yearだけを使うと、去年の出来事として述べる過去形になります。一方、since last yearにすると、「去年から今まで」という継続を表せるため、現在完了と一緒に使えます。
| 表現 | 現在完了との使い方 | 理由 |
|---|---|---|
| last year | そのまま一緒に使わない | 終わった過去の時点を表すため |
| three days ago | そのまま一緒に使わない | 終わった過去の時点を表すため |
| yesterday | そのまま一緒に使わない | 終わった過去の時点を表すため |
| since last year | 一緒に使える | 去年から今までの継続を表すため |
forとsinceの判定ポイント
問題でforとsinceを選ぶときは、空欄の後ろにある語句を確認します。
| 後ろにあるもの | 選ぶ語 | 例 |
|---|---|---|
| 期間の長さ | for | two years / a week / a long time |
| 年、日、時刻などの開始時点 | since | last year / 2020 / Monday |
| 開始のきっかけとなる出来事 | since | you came here |
Lesson7-3の重要ポイント
- 現在完了の継続用法は、過去から今まで続いていることを表す。
- for + 期間は、続いている長さを表す。
- since + 開始時点は、いつから続いているかを表す。
- How longの答えには、forとsinceの両方を使える。
- last yearは現在完了とそのまま一緒に使わないが、since last yearなら使える。
確認問題
forとsinceの違い、How longの使い方、現在完了と過去を表す語句の関係を確認しましょう。
Q1. 「for」が表すのはどれ?
A: 始まりの時点 / B: 終わった過去 / C: 期間の長さ / D: 場所
正解:C
forは「2年間」「長い間」のように、続いている期間の長さを表します。
Q2. “since last year”のsinceは何として使われている?
A: 動詞 / B: 前置詞 / C: 副詞 / D: 接続詞
正解:B
sinceの後ろがlast yearという語句なので、このsinceは前置詞です。
Q3. “since you came here”のsinceは?
A: 前置詞 / B: 名詞 / C: 接続詞 / D: 助動詞
正解:C
sinceの後ろにyou came hereという文が続いているため、このsinceは接続詞です。
Q4. 「どれくらいの間~しているのですか」と聞く表現は?
A: How soon / B: How long / C: How often / D: How far
正解:B
How longは、続いている期間をたずねる表現です。
Q5. 現在完了の継続用法が表すのはどれ?
A: 未来から今まで / B: 過去の一点だけ / C: 過去から今までの継続 / D: 今だけの状態
正解:C
現在完了の継続用法は、過去に始まった動作や状態が今まで続いていることを表します。
Q6. 現在完了とそのまま一緒に使わない語句はどれ?
A: since 2020 / B: for five years / C: last year / D: since yesterday
正解:C
last yearは終わった過去の時点を表すため、現在完了とはそのまま一緒に使いません。
Q7. “He has lived in Tokyo for two years.”の意味は?
A: 2年前に東京に住んでいた / B: 2年間ずっと東京に住んでいる / C: 昨日東京に住み始めた / D: もう東京に住んでいない
正解:B
has livedは過去から今までの継続、for two yearsは「2年間」という長さを表します。
Q8. 空欄に入る語はどれ? “I have known him ___ last year.”
A: for / B: since / C: ago / D: during
正解:B
last yearは知り合った始まりの時点なので、sinceを使います。
Q9. 現在完了の否定文の形は?
A: have+動詞ing / B: have+not+過去分詞 / C: do+not+動詞の原形 / D: be+not+動詞の原形
正解:B
現在完了の否定文では、haveまたはhasの後ろにnotを置きます。
Q10. 現在完了の疑問文の正しい語順は?
A: 主語 → Have/Has → 過去分詞 / B: 過去分詞 → 主語 → Have/Has / C: Have/Has → 主語 → 過去分詞 / D: 主語 → 過去分詞 → Have/Has
正解:C
現在完了の疑問文では、HaveまたはHasを主語の前に出します。
確認問題の後に進む学習内容
確認問題の結果に合わせて、次に確認する内容を選びましょう。
forとsinceを選び分けられた場合
NEW TREASURE STAGE2の前後のLessonや、ほかの文法事項へ進みましょう。Lesson一覧では、STAGE2で学ぶ英文法の全体像を確認できます。
間違えた問題があった場合
次の3点をもう一度確認してから、問題を解き直してください。
- 期間の長さならfor
- 始まりの時点ならsince
- last yearだけなら過去形、since last yearなら現在完了
英文を読む力や聞き取る力も伸ばしたい場合
forとsinceの区別だけでなく、長文の中で現在完了を見つけることや、音声の中で文法表現を聞き取ることに課題がある場合は、学習目的に合う講座を確認できます。


