現在完了進行形
B1 Present perfect continuous 32 / 50
要点
現在完了進行形(have/has been + 動詞-ing)は、過去に始まって今も続いている動作や、たった今終わったばかりでその結果が今見えている動作について話すときに使います。動作そのものと、それがどれくらい続いているかに焦点を当てます。
規則
この時制は、動詞の have/has + been + -ing形 で作ります。
主な使い方は2つあります:
| 用法 | 意味 | 例 |
|---|---|---|
| 1.まだ続いていること | 過去に始まって今も続いている動作。for や since がよく使われる。 | I’ve been waiting for an hour. / She’s been working here since May. |
| 2.最近終わったばかりで、結果が見えること | たった今終わったばかりの動作で、その影響を今見たり感じたりできるもの。 | I’m tired because I’ve been running. / Your eyes are red - have you been crying? |
for では期間の長さを示します(for two hours, for ages)。since では起点を示します(since 9 o’clock, since Monday)。
その起点は、動作が始まったきっかけとなる出来事を表す節全体であることもあります。その節の動詞は過去形になりますが、主動詞は現在完了進行形のままです。ever since は since を強調した形です。
She’s been working here since the shop opened.(since the shop has opened ではない)
状態動詞(動作ではなく状態を表す動詞:know, like, love, want, need, believe, have =所有する、understand)には注意してください。ふつう進行形では使いません。代わりに現在完了形(単純形)を使います。
I’ve known her for years.(I’ve been knowing her… ではない)
語形と文型
| 型 | 形の組み立て | 例 |
|---|---|---|
| 肯定文 | 主語 + have/has been + 動詞-ing | They’ve been talking all morning. |
| 否定文 | 主語 + haven’t/hasn’t been + 動詞-ing | He hasn’t been sleeping well. |
| 疑問文 | Have/Has + 主語 + been + 動詞-ing? | Have you been waiting long? |
| 短い答え方 | Yes, I have. / No, she hasn’t. | Have they been studying? - Yes, they have. |
| How long を使う場合 | How long have/has + 主語 + been + 動詞-ing? | How long have you been learning English? |
短縮形:I’ve / you’ve / we’ve / they’ve been…、he’s / she’s / it’s been…(ここでの ‘s = has)。
-ingのつづりの注意点: make -> making、sit -> sitting、lie -> lying、study -> studying。
例文
| English | 注 |
|---|---|
| How long have you been learning English? | まだ続いている動作の継続時間に焦点を当てる。 |
| We’ve been living in Madrid since 2019. | 過去に始まり、今も当てはまる。since + 起点。 |
| Sorry I’m late - have you been waiting long? | 話している瞬間まで続いている動作。 |
| The ground is wet because it’s been raining. | 最近終わったばかり。地面が濡れているのが目に見える結果。 |
| You look exhausted! Have you been working all night? | 現在の状態を説明する動作についてたずねる。 |
| My sister has been studying Japanese for three years. | For + 期間の長さ。 |
| Ever since the rules changed, we’ve been queuing outside. | 起点は出来事で、過去形になる。ever since は強調を加える。 |
| I’ve been trying to call you all day. | 今に至るまでの期間に繰り返された動作。 |
よくある間違い
- I’ve been knowing him for years. -> I’ve known him for years.:状態動詞(know, like, have =所有する)は進行形ではなく単純形を取ります。
- I am waiting for an hour. -> I’ve been waiting for an hour.:今に至るまでの時間には、現在形ではなく現在完了形を使います。
- She’s been work here since May. -> She’s been working here since May.:been + -ing 形を忘れないでください。
- I’ve been living here for 2015. -> I’ve been living here since 2015.:起点には since を、期間の長さには for を使います。
- How long are you learning English? -> How long have you been learning English?:今までのことを「how long」とたずねるには、この時制を使います。
ヒント
- 自分に問いかけてみましょう:動作か、結果か? 動作とその継続時間を強調したいなら進行形を使います(I’ve been reading)。完了や数量を強調したいなら単純形を使います(I’ve read three books / I’ve read it twice)。
- 「今、目に見える証拠がある」ことは、進行形を使う強い手がかりです:濡れた地面、赤くなった目、息が切れていること、手に付いたペンキなど。
- For =どれくらいの間;since =いつ始まったか、時点として(since Monday)または過去形の節として(since we moved in)示します。どちらもこの時制で使えます。
- 動詞が動作ではなく状態を表す場合は(know, believe, own)、現在完了形(単純形)に切り替えます。