月影

日々の雑感

【大人の学び直し英語】現在完了進行形 (have been ~ing) 実践ドリル | 完了形との違いをクイズでマスター

 

【大人の学び直し英語】現在完了進行形 (have been ~ing) 実践ドリル

前回の記事「【大人の学び直し英語】時制(6) 現在完了進行形 (have been ~ing) の使い方」では、「(過去から)ずっと~し続けている」という動作の継続を表す have been ~ing の基本的な役割と使い方を学びました。

www.namuamidabu.com

今回は、その大切な知識を「記憶に定着させる」ための実践ドリルです。簡単な解説のすぐ後にクイズを用意しました。「わかる」を「できる」に変えるために、ぜひチャレンジしてみてください!


1. 現在完了進行形の「基本の形」ドリル

まずは基本の確認です。現在完了進行形は「過去に始まった動作が、今も続いている」ことを表し、「動作の継続」に焦点が当たります。

  • 基本の形: have / has + been + 動詞のing形
  • 相性が良い言葉: for(~間)、since(~以来)、How long ...?(どれくらいの期間?)

このルールを思い出しながら、( ) に適切な語を入れて文を完成させましょう。

やってみよう!基本の形クイズ(10問)

  1. I (        ) (        ) waiting for the bus for 30 minutes. (私は30分間ずっとバスを待っています。)
    答えを見る

    have been
    (主語が I なので have を使います。形は have + been + ~ing です。)

  2. She (        ) (        ) studying Japanese since last year. (彼女は去年からずっと日本語を勉強し続けています。)
    答えを見る

    has been
    (主語が She(三人称・単数)なので has を使います。)

  3. How long (        ) you (        ) living in this city? (あなたはこの街にどれくらいの間住み続けているのですか?)
    答えを見る

    have / been
    (疑問文なので have が主語 you の前に出ています。)

  4. It has been (        ) (rain) all day. (一日中、雨が降り続いています。)
    答えを見る

    raining
    (been の後は動詞の ing形 です。)

  5. We (        ) been playing this game ( for / since ) three hours. (私たちは3時間ずっとこのゲームをしています。)
    答えを見る

    have / for
    (主語が We なので have。「3時間」は「期間」なので for を使います。)

  6. He has been teaching English ( for / since ) 2010. (彼は2010年からずっと英語を教えています。)
    答えを見る

    since
    (「2010年」は動作が始まった「起点」なので since を使います。)

  7. They (        ) (        ) traveling around the world. (彼らは世界中を旅し続けています。)
    答えを見る

    have been
    (主語が They(複数)なので have を使います。)

  8. He (        ) (        ) (        ) (not / sleep) well recently. (彼は最近、よく眠れていません。)
    答えを見る

    has not been sleeping
    (否定文は has/have と been の間に not を置きます。hasn't been sleeping でもOKです。)

  9. (        ) it (        ) snowing since last night? (昨夜からずっと雪が降っているのですか?)
    答えを見る

    Has / been
    (疑問文なので Has が主語 it の前に出ています。)

  10. My father (        ) (        ) watching TV for two hours. (父は2時間ずっとテレビを見ています。)
    答えを見る

    has been
    (主語が My father(三人称・単数)なので has を使います。)


2.【最重要】現在完了形 vs 現在完了進行形ドリル

ここが最大の難関であり、最重要ポイントです。「状態動詞」「動作動詞」かで使い分けるルールを思い出しましょう。

  • 状態動詞 (know, like, have, believe, want...)
    → 進行形 (~ing) にできない。継続を表すときは現在完了形 (have + 過去分詞) を使う。
  • 動作動詞 (study, wait, run, rain...)
    → 継続を表すときは現在完了進行形 (have been ~ing) を使うことが多い(臨場感が出る)。
  • live, work など(どちらも使える動詞)
    → (have been ~ing) なら「動作の継続」を強調、(have + 過去分詞) なら「状態の継続」を淡々と述べる。

文脈や動詞の種類に注目して、( ) 内の正しい形を選びましょう。

やってみよう!使い分けクイズ(10問)

  1. I ( have known / have been knowing ) him for a long time. (私は彼を長年知っています。)
    答えを見る

    have known
    (know (知っている) は「状態動詞」なので、進行形にできません。必ず現在完了形を使います。)

  2. She ( has wanted / has been wanting ) this bag since last month. (彼女は先月からこのカバンをずっと欲しがっています。)
    答えを見る

    has wanted
    (want (欲しい) も「状態動詞」です。進行形にはしません。)

  3. He ( has studied / has been studying ) for five hours. (彼は5時間ずっと勉強し続けています。)
    答えを見る

    has been studying
    (study (勉強する) は「動作動詞」です。「動作の継続」を強調するため、現在完了進行形が最適です。)

  4. We ( have lived / have been living ) here since 2015. (私たちは2015年からここに住んでいます。)
    答えを見る

    どちらもOK
    (live はどちらも使える動詞です。 have been living なら「住み続けている」という動作の継続を、have lived なら「住んでいる状態だ」という事実を強調します。どちらも文法的に正しいです。)

  5. They ( have talked / have been talking ) on the phone for an hour. (彼らは1時間ずっと電話で話し続けています。)
    答えを見る

    have been talking
    talk (話す) は「動作動詞」です。「今も話し続けている」という臨場感を出すため、現在完了進行形が適しています。)

  6. I ( have had / have been having ) this smartphone for three years. (私はこのスマホを3年間持っています。)
    答えを見る

    have had
    (「所有している」という意味の have は「状態動詞」です。進行形にしません。)

  7. How long ( have you waited / have you been waiting ) for me? (どれくらい私のことを待っているの?)
    答えを見る

    have you been waiting
    (wait (待つ) は「動作動詞」です。「どれくらいの期間、待ち続けているの?」と「動作の継続期間」を尋ねる典型的な使い方です。)

  8. I ( have always liked / have always been liking ) chocolate. (私は昔からずっとチョコレートが好きです。)
    答えを見る

    have always liked
    (like (好きである) は「状態動詞」なので、進行形にできません。)

  9. It ( has rained / has been raining ) hard since this morning. (今朝からずっと雨が激しく降り続いています。)
    答えを見る

    has been raining
    (rain (雨が降る) は「動作動詞」です。「雨が降る」という動作が今も続いていることを強調するため、現在完了進行形が使われます。)

  10. He ( has worked / has been working ) at that company for 10 years. (彼はあの会社で10年間働いています。)
    答えを見る

    どちらもOK
    (work も live と同様、どちらも使える動詞です。has been working は「働き続けている」動作を、has worked は「働いている状態」を強調します。)


3. 応用(直前までの動作と結果)ドリル

最後は、もう一つの使い方「過去からついさっきまで続いていた動作と、その結果(今)」のドリルです。

  • 動作は今終わったばかりかもしれないが、その「結果」が現在の状況に影響を与えていることを表します。
  • 例:息が切れている(現在の結果) → なぜなら(さっきまで)走っていたから。

現在の状況(結果)をヒントに、( ) 内の動詞を使って「(さっきまで)~し続けていた」という文を完成させましょう。

やってみよう!応用クイズ(10問)

  1. A: Your clothes are all wet. (服がびしょ濡れだね。)
    B: Yes, it (        ) (        ) (        ). (rain) (うん、ずっと雨が降っていたんだ。)
    答えを見る

    has been raining
    (「服が濡れている」という現在の結果から、「(さっきまで)雨が降っていた」と推測できます。)

  2. I'm so tired. I (        ) (        ) (        ) all day. (work) (すごく疲れた。一日中ずっと働き通しだったんだ。)
    答えを見る

    have been working
    (「今、疲れている」という結果は、「一日中働き続けていた」という直前までの動作が原因です。)

  3. A: Your hands are dirty. What (        ) you (        ) (        )? (do)
    B: I was in the garden. (手が汚れていますね。何をしていたのですか?)
    答えを見る

    have / been doing
    (「手が汚れている」という現在の結果から、直前まで継続していた動作を尋ねています。)

  4. He is out of breath because he (        ) (        ) (        ). (run) (彼は(さっきまで)ずっと走っていたので、息が切れています。)
    答えを見る

    has been running
    (「息が切れている」という現在の結果は、「走っていた」という直前までの動作が原因です。)

  5. The kitchen smells good. (        ) you (        ) (        )? (bake) (キッチンがいい匂いがする。パンでも焼いていたの?)
    答えを見る

    Have / been baking
    (「いい匂いがする」という現在の結果から、「(さっきまで)パンを焼いていた」動作を推測して尋ねています。)

  6. I (        ) (        ) (        ) (look) for you. Where have you been? ((さっきまで)ずっと君を探していたんだよ。どこに行ってたの?)
    答えを見る

    have been looking
    (「今、見つけた」という状況の直前まで、「探す」という動作が継続していたことを示します。)

  7. My eyes are tired. I (        ) (        ) (        ) (read) a book for hours. (目が疲れた。(さっきまで)何時間も本を読んでいたんだ。)
    答えを見る

    have been reading
    (「目が疲れている」という現在の結果は、「何時間も本を読んでいた」という直前までの動作が原因です。)

  8. She (        ) (        ) (        ) (cry). Her eyes are red. (彼女は(さっきまで)泣いていたようだ。目が赤い。)
    答えを見る

    has been crying
    (「目が赤い」という現在の結果から、「(さっきまで)泣いていた」という動作を推測しています。)

  9. He (        ) (   ) (        ) (use) my computer without permission. (彼は(さっきまで)私のパソコンを無断で使っていた。)
    答えを見る

    has been using
    ((発見した)という現在の状況から、直前まで継続していた「使っていた」という動作を表します。)

  10. The children are sleepy. They (        ) (        ) (        ) (play) outside all afternoon. (子供たちは眠そうだ。午後ずっと外で遊び続けていたからだ。)
    答えを見る

    have been playing
    (「眠そう」という現在の結果は、「午後ずっと遊び続けていた」という直前までの動作が原因です。)


まとめ

お疲れ様でした!現在完了進行形のドリルはいかがでしたか?

特に重要なのは、「状態動詞 (know, like など)」は進行形にできず、現在完了形 (have known) を使うというルールです。この区別さえできれば、have been ~ing は「動作の継続」を表す便利な表現として使いこなせるようになります。

今回のドリルで間違えてしまった問題も、なぜそうなるのかを解説で確認し、例文ごと声に出して読んでみてください。そうすることで、知識がしっかりと記憶に定着していきます。

これからも「大人の学び直し英語」シリーズで、楽しく英語の基礎を固めていきましょう!