EigoPro 3級 文法 — 現在完了 継続

3級フォーマット (4択15問) 現在完了 継続 — have/has + p.p. + for/since

15問合格 60%以上普通

新規登録 または ログイン が必要です

この単元の問題を3問、解説つきで公開しています

3級 · 文法 · 全15

1

I have lived here ( ) five years.

  • for
  • during
  • from
  • since
Pattern

have/has + 過去分詞 + for + 期間 (〜の間ずっと)

3級文法現在完了継続for
ひとことで

for + 期間 = 「〜の間」 ━ 継続の長さを表す。"for five years" (5年間)、"for a long time" (長い間)。

選択肢の解説Choice Analysis
正解

"I have lived here ~ five years." は5年間の継続 = 「for」for + 期間 = 「〜の間ずっと」 ━ 継続の長さ (期間の長さ) を表す。for two hours (2時間), for three days (3日間), for a week (1週間), for five years (5年間)。重要対比: for + 期間 (5 years) / since + 時点 (2020)。

  • since

    = since は時点用 ━ 期間 (5 years) は for。

  • from

    = from は出発点 ━ 期間の継続は for。

  • during

    = during は特定期間 ━ 「〜の間ずっと」は for。

活用 (主語別 / 時制別)
マーカー
for + 期間 (時間)for two hoursI have studied for two hours.
for + 期間 (日数)for three daysShe has been here for three days.
for + 期間 (週)for a weekHe has lived here for a week.
for + 期間 (年)for five yearsI have known him for five years.
for + 期間 (長い時間)for a long timeWe have been friends for a long time.
文型バリエーション
文型
継続肯定S + have/has + p.p. + for + 期間I have lived here for 5 years.
継続否定S + have/has not + p.p. + for + 期間I haven't seen him for a year.
継続疑問How long have S + p.p. ?How long have you lived here?
例文
  • I have lived here for five years.

    ここに5年間住んでいる。

  • She has worked at this company for ten years.

    彼女はこの会社で10年働いている。

  • We have known each other for a long time.

    私たちは長い間知り合いだ。

  • My father has been sick for a week.

    父は1週間ずっと体調が悪い。

  • They have studied English for six years.

    彼らは英語を6年勉強している。

💡Tip · 覚えるコツ

for + 期間 の例 (3級頻出) ━ ★ 時間: for an hour (1時間), for two hours (2時間), for hours (何時間も) ★ 日数: for a day (1日), for three days (3日間), for days (何日も) ★ : for a week (1週間), for two weeks (2週間) ★ : for a month (1ヶ月), for six months (半年) ★ : for a year (1年), for ten years (10年), for ages (長年) ★ 抽象: for a long time (長い間), for a while (しばらく), for ever (永遠に)。

2

She has been busy ( ) last Monday.

  • from
  • in
  • since
  • for
Pattern

have/has + 過去分詞 + since + 時点 (〜から)

3級文法現在完了継続since
ひとことで

since + 時点 = 「〜から/以来」 ━ 継続の始まり (出発点) を表す。"since 2020" (2020年から)、"since last Monday" (先週月曜から)。

選択肢の解説Choice Analysis
正解

"She has been busy ~ last Monday." は先週月曜から継続 = 「since」since + 時点 = 「〜から/以来」 ━ 継続の始まりの時点を表す。since yesterday (昨日から), since last Monday (先週月曜から), since 2020 (2020年から), since I was a child (子供の頃から)。重要対比: since + 時点 (last Monday) / for + 期間 (a week)。

  • for

    = for は期間用 ━ 時点 (last Monday) は since。

  • from

    = from は範囲の出発点 ━ 継続は since。

  • in

    = in は中で ━ 継続の始まりは since。

活用 (主語別 / 時制別)
マーカー
since + 時点 (時刻)since 3 o'clockShe has been here since 3.
since + 時点 (日)since yesterdayHe has been sick since yesterday.
since + 時点 (曜日)since last MondayBusy since Monday.
since + 時点 (年)since 2020We have known him since 2020.
since + 主語 + 動詞since I was a childI have lived here since I was a child.
文型バリエーション
文型
継続肯定S + have/has + p.p. + since + 時点I have lived here since 2010.
継続否定S + have/has not + p.p. + sinceI haven't seen him since last week.
since 節 (時制)since + S + 過去形I have known her since I was a kid.
例文
  • She has been busy since last Monday.

    彼女は先週月曜からずっと忙しい。

  • I have known him since 2015.

    2015年から彼を知っている。

  • It has rained since this morning.

    今朝から雨が降っている。

  • We have been friends since elementary school.

    小学校からの友達だ。

  • My brother has lived in Tokyo since he was twenty.

    兄は20歳から東京に住んでいる。

💡Tip · 覚えるコツ

since + 時点 vs for + 期間 (3級頻出ミス) ━ ★ since + 時点 (特定の点): "since 2020", "since Monday", "since I was 10", "since yesterday" ━ 始まりの時点を示す ★ for + 期間 (長さ): "for 5 years", "for a week", "for 3 days" ━ 期間の長さを示す ★ 判定法: 「いつから?」(時点) → since / 「どれくらい?」(長さ) → for ★ 計算式: "since 2020" (時点) = "for 6 years" (期間、2026 - 2020 = 6) ━ 同じ事実を2通りで表現できる。

3

We have ( ) each other for ten years.

  • known
  • knowing
  • knew
  • know
Pattern

We have + 過去分詞 + for + 期間 (お互いに〜)

3級文法現在完了継続know
ひとことで

know の過去分詞は known。状態動詞 (know, like, love, hate, want) は have + p.p. の継続形で使う (have been knowing は不可)。

選択肢の解説Choice Analysis
正解

"We have ~ each other for ten years." は10年間の知り合い = 「known」know の3活用: know → knew → known (不規則動詞)。状態動詞は進行形にならない: "have been knowing (✗) / have known (○)"。each other = 「お互いに」 ━ 主語が複数の時の関係表現。

  • know

    = 原形は不可 ━ have の後は過去分詞 known。

  • knew

    = 過去形は不可 ━ 完了形は過去分詞。

  • knowing

    = 進行形は不可 ━ 知っているは状態動詞 known。

活用 (主語別 / 時制別)
マーカー
know (知っている)knew → knownI have known him for years.
like (好き)liked → likedI have liked this song.
love (愛する)loved → lovedI have loved her since school.
want (欲しい)wanted → wantedI have wanted this for ages.
be (である)was/were → beenWe have been friends.
文型バリエーション
文型
状態動詞継続S + have/has + p.p. (状態)I have known him for 5 years.
動作動詞継続S + have/has been + ingI have been working for 5 hours.
混同注意have known (○) / have been knowing (✗)状態動詞は ing 禁止
例文
  • We have known each other for ten years.

    10年来の知り合いだ。

  • I have known Tom since we were kids.

    Tomとは子供の頃からの知り合いだ。

  • She has wanted that doll for a long time.

    彼女は長い間その人形を欲しがっている。

  • My parents have been married for 25 years.

    両親は結婚して25年だ。

  • They have had this car since 2020.

    彼らは2020年からこの車を持っている。

💡Tip · 覚えるコツ

状態動詞 vs 動作動詞 (3級超重要) ━ ★ 状態動詞 (進行形にしない): know, like, love, hate, want, need, believe, understand, remember, own, have (所有), be ★ 動作動詞 (進行形にできる): work, study, play, eat, read, write, walk, run ★ 継続表現の使い分け: 状態動詞 → "I have known him for 5 years." (have + p.p.) / 動作動詞 → "I have been working for 5 hours." (have been + ing) ★ 誤りやすい例: "I have been knowing him (✗)" → "I have known him (○)" / "I have been having this car (✗)" → "I have had this car (○)"。

残り12問は、解いて確かめられます

15問すべてに、この形式の解説が付いています。 間違えた問題は記録され、あとから復習できます。

無料で登録して続きを解く

インストール不要・カード登録なし・いま全機能無料