解説記事 — フレーズフレーズミー
動詞の形(時制)現在完了進行形 have been doing の使いどころ|「3時間ずっと弾いている」は is playing にならない
30秒でわかる
「(今まで)ずっと〜している」という動作の継続は、現在完了進行形 have/has been doing で表します。「彼女は3時間ずっとピアノを弾いている」は She has been playing——is playing(現在進行形)は「今この瞬間」だけを写す形なので、for three hours という期間を背負えません。部品は have+been+doing の3点セット。been か -ing が抜けると形の誤りで減点です。
まず、実際の間違いを見てください
次の3つは、当サービスの人手添削で実際に繰り返し指摘された誤答です(回数は同じ間違いが添削された実測値)。
例文: 彼女は3時間ずっとピアノを弾いている。
「〜している」につられて現在進行形にするのが最多パターンです(She's playing と短縮した同型の誤答が別に206回あります)。is playing は「今この瞬間」だけの写真。3時間という幅を語るには、過去から今まで届く have been playing が必要です。
例文: 彼女は3時間ずっとピアノを弾いている。
現在完了 has played まで来て、あと一歩の誤りです。play のような動作は、完了形だけだと「弾き終えた」側に読まれがち。「今もまだ弾いている最中」を言うには進行形と合体させて has been playing にします。
例文: 彼女は3時間ずっとピアノを弾いている。
been の抜け落ちです。進行形 be doing の be が、have の後ろで過去分詞 been になったのが have been doing。has playing という形は英語に存在しません。3つの部品を必ずそろえます。
「現在完了進行形」のミスは、よくある誤り全222タイプの中で第47位。当サービスの人手添削12年分で1,887回指摘されました。「進行形で代用する」「been を落とす」という決まったパターンに集中しています。
なぜ間違えるか——日本語のクセ
日本語の「〜している」は働き者で、「今弾いている」(この瞬間の進行)も「3時間ずっと弾いている」(期間の継続)も、まったく同じ形で言えてしまいます。だから「している=be doing」と一対一で覚えていると、期間つきの文でもそのまま is playing と書いてしまうのです。
英語はこの2つを形で分けます。今この瞬間だけなら is playing、始まりから今までの幅を語るなら has been playing。目印は for three hours・since this morning のような期間・起点の言葉です。これが付いた瞬間、ただの進行形では背負いきれなくなります。
図を言葉にすると——波線(動作の進行)が now の一点にしかないのが is playing、3時間前から now まで続いて届いているのが has been playing です。for three hours は「波の長さ」を言う言葉なので、長い波の形としか組めません。
こう考える——書くときの判断手順
- for 〜・since 〜・「ずっと」があり、動作が今も続いているか?——続いているなら have/has been doing(She has been playing the piano for three hours.)
- 部品は have(has)+been+doing の3点セット——been 落ち(has playing)と -ing 落ち(has been play)が定番の減点です
- 「〜し始めた」は継続ではなく開始の一点——過去形で書く(先月から付き合い始めた → He started going out with his girlfriend last month.)。日本語の「〜から」につられて since を足さないこと
- 今この瞬間だけの描写(電話中・目の前の実況)なら、ふつうの進行形 is doing のままでよい
ここまでは同じ、ここからは別
「彼女の最新の小説を読んでいるんですが」のように、期間の言葉がない「している」は、現在進行形でも現在完了進行形でも正解です(I am reading her latest novel. / I have been reading her latest novel. の両方を当サービスの採点で認めています。後者は「前から読み続けている」ニュアンスが足されるだけ)。使い分けが厳しく問われるのは、for・since で期間が明示されたときです。
一方、「先月から付き合い始めた」を has started going out ... since last month とするのは誤りです。「始める」は一瞬で終わる動作なので、継続の形と組むと「始めることを先月から繰り返している」という妙な意味になります。継続で言いたければ has been going out with her since last month(付き合っている状態が続く)、start を使うなら過去形 started ... last month——動詞をどちらの意味で使うかで形が決まります。
なお、経験(〜したことがある)・完了(もう〜した)など現在完了そのものの使いどころは現在完了の記事で扱っています。また「着いたときには2時間ずっと読んでいた」のように基準が過去にずれると、過去版の had been doing になります——こちらは過去完了の記事へ。
まとめ——書いたあとのチェック
- for・since・「ずっと」のある文を is doing(ただの進行形)で書いていないか
- have+been+doing の3点がそろっているか(been 落ち・-ing 落ち)
- 「〜し始めた」を継続の形にしていないか(開始の一点は過去形)
この間違い、自分もやるか試してみる
この記事で見た「彼女は3時間ずっとピアノを弾いている。」を、実際に英語で書いてみてください。「ずっと〜している」をどの形にするかが、そのまま試される問題です。書いた英文は AI がその場で採点します(登録は不要です)。
「彼女は3時間ずっとピアノを弾いている。」を英語で書いてみる登録なしで、この1問をAIが採点しますデータについて: 本文の回数・割合は、フレーズフレーズミーの人手添削データ12年分の集計値です(添削と誤りタグの照合 655,994回のうち、本記事のタグ「現在完了進行形 have/has been doing の意味と用法」への照合が 1,887回・0.3%。集計 2026-08-14)。誤答例の「◯回」は、同じ間違いが人手添削と照合された回数です。誤答例はいずれも実際の学習者の答案に現れた文で、個人が特定できる情報は含みません。