
著者: Vocab Team
最終更新日:
現在完了進行形をマスター!have/has been -ingの使い方
「どのくらい待っているの?」と聞かれたとき、英語ではどう答えればよいでしょうか。過去に始めた行動が今も続いていることや、終わったばかりの行動の結果を伝えるには、have/has been + 動詞の-ing形を使います。形の作り方と、現在完了形との違いを例文で確認しましょう。
まずは形を確認
この時制は、過去に始まり、現在も続いているか、あるいはついさっき終わったばかりでその結果が今見えている行動を説明するために使われます。常にプロセスの「継続時間」に焦点が当てられます。
公式を覚えるのはとても簡単です:
主語 + have/has + been + 動詞の-ing形
疑問文は
Have/Has + 主語 + been + 動詞の-ing形?の順です。否定文は主語 + haven't/hasn't been + 動詞の-ing形にします。- Have you been waiting long?(長く待っていますか?)
- I haven't been sleeping well lately.(最近よく眠れていません。)
- I / you / we / they → have been working
- He / she / it → has been working
会話では、ほとんどの場合、短縮形を使います:
- I have been → I've been
- She has been → She's been
- They have not been → They haven't been
例:I've been waiting for you for an hour! / あなたをもう1時間も待っています!
いつこの時制を使う?4つの重要ケース
現在完了進行形の本質を理解するためには、これなしでは表現が難しい4つの主要な状況を覚える必要があります。
1. 過去に始まり、今も続いている行動
これが最も一般的な使い方です。プロセスが過去のある時点で始まり、現在もまだ終わっていないことを強調したい場合に使います。ここでは、キーワードであるfor(〜の間)とsince(〜以来)が役立ちます。
- She has been learning Spanish for two years. / 彼女はスペイン語を2年間学んでいます。(2年前に始め、今も学んでいます)。
- We've been living in this city since 2020. / 私たちは2020年からこの街に住んでいます。(2020年に引っ越してきて、今もここに住んでいます)。
💡 ワンポイントアドバイス: Forは期間(for three hours, for ten years)に使います。Sinceは起点(since Monday, since I was a child)に使います。
2. どのくらいの期間?継続時間を尋ねる質問
何かがどのくらいの期間続いているか尋ねたいときは、How long ...? の構文を現在完了進行形で使います。
- A: You look tired. / 疲れているように見えますね。
- B: I am. I've been working all night. / ええ。一晩中働いていたんです。
- How long have you been waiting for the bus? / どのくらいバスを待っていますか?
3. 行動がたった今終わり、その結果が見える
想像してみてください。キッチンに入ると、散らかっていてお菓子を焼いた匂いがします。友人が小麦粉まみれで立っています。あなたはこう言えます:
- Oh, you've been baking! / ああ、お菓子を焼いていたんですね!(焼くという行動は終わったばかりで、散らかりや匂いという結果が明らかです)。
他の例:
- His eyes are red because he*'s been crying**.* / 彼は泣いていたので目が赤いです。
- The ground is wet. It has been raining. / 地面が濡れています。雨が降っていたんですね。
4. 最近繰り返されている行動
最近、ある行動が何度も繰り返されていることを言いたい場合も、この時制が適しています。lately や recently(最近)という言葉がよく使われます。
- She has been calling me all day. / 彼女は一日中私に電話をかけてきています。(日中の複数回の電話)。
- Recently, I've been watching a lot of historical dramas. / 最近、歴史ドラマをたくさん見ています。
混同注意!現在完了進行形と他の時制との比較
一番の難点は、この時制を似たものと区別することです。一つずつ整理していきましょう。
vs. 現在完了形 (have/has + V3)
- 現在完了進行形 - プロセスとその継続時間に焦点を当てます。
- I've been reading this book. / 私はこの本を読んでいます。(読んでいる最中で、まだ終わっていません)。
- 現在完了形 - 行動の結果や完了に焦点を当てます。
- I've read this book. / 私はこの本を読み終えました。(本は読み終わり、結果があります)。
vs. 現在進行形 (am/is/are + V-ing)
- 現在完了進行形 - 行動は過去と関連があり、すでにある程度の時間続いています。
- I've been working for three hours. / 私はもう3時間働いています。(過去とのつながり)。
- 現在進行形 - 行動は今この瞬間、話している時点で行われています。
- Shhh, I'm working. / しーっ、今仕事をしています。(まさにこの瞬間に)。
よくある間違いを確認
beenを抜かす。have/hasの後にはbeenが必要です。- ❌ I have working here for a year.(「1年間ここで働いています」と言いたい場合)
- ✅ I have been working here for a year.(私はここで1年間働いています。)
forとsinceを取り違える。forは期間、sinceは開始時点を表します。- ❌ He has been studying since two hours.
- ✅ He has been studying for two hours.(彼は2時間勉強しています。)
- 状態を表す動詞を進行形にする。
knowのように状態を表す動詞は、通常この形にしません。- ❌ I have been knowing her for a long time.
- ✅ I have known her for a long time.(私は彼女と長い間知り合いです。)
状態動詞でも、意味によっては進行形になることがあります。まずは
knowなどは進行形にしない、と覚えるとよいでしょう。
-ingのつづりを間違える。発音しない語尾のeは取ります(make → making)。1音節で、語末が母音字1つ+子音字1つの動詞は、最後の子音字を重ねます(run → running)。複数音節の動詞では、語末の音節に強勢がある場合に同じように重ねます。語尾がw、x、yの場合は重ねません。
練習
かっこの動詞を現在完了進行形にして、空所を埋めましょう。
- I ___ (wait) for the bus for twenty minutes.
- ___ she ___ (work) here since May?
- They ___ (not sleep) well lately.
答え
- I have been waiting for the bus for twenty minutes.(私はバスを20分待っています。)
- Has she been working here since May?(彼女は5月からここで働いていますか?)
- They have not been sleeping well lately.(彼らは最近よく眠れていません。)
1は
forの後に期間、2はsinceの後に開始時点が続きます。3の否定文はhave not been + -ingの形です。