EigoPro 準2級 文法 — 現在完了進行形

準2級フォーマット (4択15問) 現在完了進行形 — have/has been + V-ing + for/since。動作の継続を表す。CEFR B1 / 高校2年レベル。

15問合格 60%以上普通

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

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

準2級 · 文法 · 全15

1

I ( ) English for ten years.

  • studied
  • will study
  • am studying
  • have been studying
Pattern

have/has been + V-ing + for + 期間

準2級文法現在完了進行形期間
ひとことで

「I (have been studying) English for ten years.」— 過去から現在まで動作が継続していることを示す。

選択肢の解説Choice Analysis

have been studying

正解

10年間 (for ten years) という期間表現があり、過去のある時点から現在まで継続的に英語を勉強し続けていることを示す。S + have been + V-ing + for + 期間 = 〜の間ずっと〜し続けている。for は「期間の長さ」を示し、現在完了進行形と相性が良い。am studying (現在進行形) は「今この瞬間」のみで継続を示さない。studied (過去形) は完了した動作。will study (未来形) は未来の動作で、いずれも継続の意味なし。

  • am studying

    = 現在進行形 ━ 今この瞬間のみで継続を示さない。

  • studied

    = 過去形 ━ 完了した動作で継続なし。

  • will study

    = 未来形 ━ 未来予定で過去から継続せず。

活用 (主語別 / 時制別)
マーカー
I/You/We/They + have been + V-ing1/2人複数I have been studying for hours.
He/She/It + has been + V-ing3人称単数She has been playing piano.
否定: have/has not been + V-ing否定形I have not been sleeping well.
疑問: Have/Has + S + been + V-ing?疑問文Have you been waiting long?
How long + have/has + S + been + V-ing?期間質問How long have you been studying?
文型バリエーション
文型
肯定文S + have/has been + V-ing + for/since ~I have been working for 3 hours.
否定文S + have/has not been + V-ingShe has not been eating well.
疑問文Have/Has + S + been + V-ing?Have you been crying?
例文
  • I have been studying English for ten years.

    10年間ずっと英語を勉強し続けています。

  • She has been working here for five years.

    彼女は5年間ここで働き続けています。

  • They have been waiting for an hour.

    彼らは1時間待ち続けています。

  • How long have you been learning piano?

    ピアノはどれくらい習い続けていますか?

  • It has been raining all morning.

    午前中ずっと雨が降り続けています。

💡Tip · 覚えるコツ

現在完了進行形 vs 現在完了 (準2級必修) ━ ★ 現在完了進行形 (have/has been + V-ing): 動作の継続を強調、現在も続いている / ★ 現在完了 (have/has + p.p.): 完了・経験・結果を強調 / ★ 例: "I have been studying for 2 hours." (今も勉強中) ↔ "I have studied English for 10 years." (経験・累積)。━━ 状態動詞は進行形NG ━━ ★ know / love / believe / belong / understand などの状態動詞は通常進行形にしない / ★ × "I have been knowing him for 10 years." → ○ "I have known him for 10 years."━━ 時間マーカー ━━ ★ for + 期間 (for 3 hours) / since + 起点 (since 2020) / ★ all morning/day/week (午前中ずっと/一日中/一週間ずっと) / How long ~? (どれくらい〜?)

2

She has been ( ) the violin since she was five.

  • played
  • play
  • plays
  • playing
Pattern

has been + V-ing + since + 起点

準2級文法現在完了進行形起点
ひとことで

「She has been (playing) the violin since she was five.」— since (起点) を伴う継続動作。動詞は -ing 形。

選択肢の解説Choice Analysis

playing

正解

has been + V-ing の構造で、since を伴って継続を示す。since she was five = 5歳の時から (起点を示す副詞節)。現在完了進行形では動詞は必ず -ing 形 (現在分詞)。play (原形) / played (過去形) / plays (3人称単数) は文法的にこの構造に合わない。

  • play

    = 原形 ━ 現在完了進行形では -ing 形が必須。

  • played

    = 過去形 ━ 現在完了進行形では p.p. ではなく -ing。

  • plays

    = 3人称単数 ━ -ing 形が必須。

活用 (主語別 / 時制別)
マーカー
I/You/We/They + have been + V-ing1/2人複数I have been studying for hours.
He/She/It + has been + V-ing3人称単数She has been playing piano.
否定: have/has not been + V-ing否定形I have not been sleeping well.
疑問: Have/Has + S + been + V-ing?疑問文Have you been waiting long?
How long + have/has + S + been + V-ing?期間質問How long have you been studying?
文型バリエーション
文型
肯定文S + have/has been + V-ing + for/since ~I have been working for 3 hours.
否定文S + have/has not been + V-ingShe has not been eating well.
疑問文Have/Has + S + been + V-ing?Have you been crying?
例文
  • She has been playing the violin since she was five.

    5歳からバイオリンを弾き続けています。

  • He has been writing the novel since last year.

    去年から小説を書き続けています。

  • We have been talking since morning.

    朝からずっと話し続けています。

  • My father has been driving since 1990.

    父は1990年から運転し続けています。

  • The dog has been barking since I arrived.

    私が着いてから犬が吠え続けています。

💡Tip · 覚えるコツ

現在完了進行形 vs 現在完了 (準2級必修) ━ ★ 現在完了進行形 (have/has been + V-ing): 動作の継続を強調、現在も続いている / ★ 現在完了 (have/has + p.p.): 完了・経験・結果を強調 / ★ 例: "I have been studying for 2 hours." (今も勉強中) ↔ "I have studied English for 10 years." (経験・累積)。━━ 状態動詞は進行形NG ━━ ★ know / love / believe / belong / understand などの状態動詞は通常進行形にしない / ★ × "I have been knowing him for 10 years." → ○ "I have known him for 10 years."━━ 時間マーカー ━━ ★ for + 期間 (for 3 hours) / since + 起点 (since 2020) / ★ all morning/day/week (午前中ずっと/一日中/一週間ずっと) / How long ~? (どれくらい〜?)

3

They ( ) waiting for the bus for 30 minutes.

  • are
  • will be
  • were
  • have been
Pattern

have been + V-ing + for + 期間

準2級文法現在完了進行形主語複数
ひとことで

「They (have been) waiting for the bus for 30 minutes.」— 複数主語の現在完了進行形。

選択肢の解説Choice Analysis

have been

正解

主語 they (複数) + been + waiting (-ing) で「30分間待ち続けている」。現在完了進行形の助動詞: 主語が I/you/we/they/複数 → have been、主語が he/she/it/単数 → has been。are (現在進行形) や were (過去進行形) は継続マーカー "for 30 minutes" と相性悪く、文脈は現在まで続く動作。

  • are

    = 現在進行形(BE) ━ 今だけの状態、過去からの継続を示さない。

  • were

    = 過去進行形(BE) ━ 過去のみの動作、現在まで続かない。

  • will be

    = 未来 ━ 未来予定で過去からの継続ではない。

活用 (主語別 / 時制別)
マーカー
I/You/We/They + have been + V-ing1/2人複数I have been studying for hours.
He/She/It + has been + V-ing3人称単数She has been playing piano.
否定: have/has not been + V-ing否定形I have not been sleeping well.
疑問: Have/Has + S + been + V-ing?疑問文Have you been waiting long?
How long + have/has + S + been + V-ing?期間質問How long have you been studying?
文型バリエーション
文型
肯定文S + have/has been + V-ing + for/since ~I have been working for 3 hours.
否定文S + have/has not been + V-ingShe has not been eating well.
疑問文Have/Has + S + been + V-ing?Have you been crying?
例文
  • They have been waiting for the bus for 30 minutes.

    30分間バスを待ち続けています。

  • We have been living in Japan since 2010.

    2010年から日本に住み続けています。

  • The students have been studying hard for exams.

    生徒たちは試験のため勉強し続けています。

  • My parents have been working from home.

    両親は在宅勤務を続けています。

  • Have they been here long?

    彼らは長くここにいるのですか?

💡Tip · 覚えるコツ

現在完了進行形 vs 現在完了 (準2級必修) ━ ★ 現在完了進行形 (have/has been + V-ing): 動作の継続を強調、現在も続いている / ★ 現在完了 (have/has + p.p.): 完了・経験・結果を強調 / ★ 例: "I have been studying for 2 hours." (今も勉強中) ↔ "I have studied English for 10 years." (経験・累積)。━━ 状態動詞は進行形NG ━━ ★ know / love / believe / belong / understand などの状態動詞は通常進行形にしない / ★ × "I have been knowing him for 10 years." → ○ "I have known him for 10 years."━━ 時間マーカー ━━ ★ for + 期間 (for 3 hours) / since + 起点 (since 2020) / ★ all morning/day/week (午前中ずっと/一日中/一週間ずっと) / How long ~? (どれくらい〜?)

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

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

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

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