現在完了形と現在完了進行形の使い分け

B1 · 中級混同しやすい文法

終わった結果か、続いている活動か。日本語ではどちらも「〜ている」と言えますが、英語では動詞の形で違いをはっきり示します。

このレッスンで学ぶこと

  • 現在完了形は「結果」、終わったこと、具体的な数や量に使う
  • 現在完了進行形は活動の「長さ」や、活動そのものに使う
  • 現在完了進行形は、今の状況の理由(疲れている、ぬれているなど)をよく説明する
  • 具体的な数や量(three cups、five books)があれば、進行形ではなく現在完了形にする
  • 日本語の「〜ている」+期間は、英語では現在完了(進行)形 + for(期間)/ since(始まった時点)になる

結果か、続いている活動か

どちらの形も、過去のことを今につなげます。現在完了形(present perfect simple:have +過去分詞)は、結果や「終わったこと」に注目します。現在完了進行形(present perfect continuous:have been + -ing)は経過に注目します。活動がしばらく続いていて、多くの場合まだ続いています。

日本語の「〜ている」は、この2つを区別しません。「その本はもう読んでいる」(読み終わっている)も「その本を2週間読んでいる」(まだ途中)も「〜ている」です。英語ではこの区別は省けません。動詞の形で示します。「もう〜した・〜し終わった」なら現在完了形、「ずっと〜している」なら現在完了進行形、と考えると判断しやすくなります。

"I have read the book. (結果:結末を知っている)"
"I have been reading the book. (経過:最近しているのはこれ。まだ読み終わっていないかもしれない)"

現在完了形:結果と数

大切なのが「何が終わったか」や「何回・どれだけ」のとき、特に具体的な数があるときは、現在完了形を使います。

know、like、want、belong、「持っている」の意味の have などの状態動詞は、ほとんどいつも現在完了形のままです。日本語では「知っている」「持っている」と「〜ている」を使いますが、進行形にはしません。「彼を10年前から知っている」は “I've known him for ten years” です。“I know him since ten years” も “I've been knowing him” も誤りです。

"She has read that book. (終わった:本はもう棚に戻っている)"
"He has written five books this year. (具体的な数、終わったこと)"

現在完了進行形:長さと経過

活動の長さについて話すとき、または長く続いた(あるいは終わったばかりの)活動が原因の今の状況を説明するときは、現在完了進行形を使います。

日本語話者がつまずきやすいのはここです。「彼女はその本を2週間読んでいる」を、「〜ている」につられて “She is reading that book for two weeks” としないようにしましょう。過去から今まで続いていることには現在完了(進行)形が必要です:“She has been reading that book for two weeks.”。期間(2週間、1時間)には for、始まった時点(2018年、月曜日、9時)には since を使います。「〜から」を from にしないことにも注意しましょう。

work、live、teach、study などの動詞は、for/since といっしょなら、どちらの形でも正しいことが多いです:“She has worked / has been working there since 2018.”。誤りになるのは現在形のほうです:“She works there since 2018.”

疲れている理由を言うとき、日本語では「一日中働いていたんです」と「〜ていた」を使いますね。英語では、その活動を今の状態につなげるなら “I've been working all day” がいちばん自然です。“I was working all day” は過去の特定の場面の説明に聞こえます。目が赤い人に「泣いていたの?」と聞くときも “Have you been crying?” です。

"She has been reading that book for two weeks. (まだ途中:長さを強調)"
"Why are you so tired? — I've been working all day. (今の状態の理由)"

便利なチェック:具体的な数はある?

何か具体的なもの(何回、どれだけ)を数えているなら現在完了形です。数えずに活動そのものを説明しているなら、ふつうは現在完了進行形です。

日本語では「今日はもうコーヒーを3杯飲んでいる」「今朝メールを4通送っている」のように、数があっても「〜ている」を使えます。でも英語では、数があれば進行形にはしません:“I have had three cups of coffee today.”。目印として、「一日中」「午前中ずっと」「〜からずっと」は進行形、「もう終わった」「3回」「5冊」は現在完了形、と覚えておきましょう。

"I have had three cups of coffee today. (数えている:現在完了形)"
"I have been drinking coffee all morning. (活動そのもの:現在完了進行形)"

実際の英語

"I've finished the report. (結果:終わっている)"
"I've been working on the report all week. (経過:努力と長さを強調)"
"Your eyes are red — have you been crying?"
"She has written three articles this month."

注意

✗I am waiting here since an hour.
✓I've been waiting here for an hour.

「ここで1時間待っている」は過去から今まで続いていることなので、現在完了(進行)形を使います。期間には since ではなく for です。

✗I have been having three cups of coffee today.
✓I have had three cups of coffee today.

「3杯飲んでいる」のように数があるときは、日本語が「〜ている」でも、進行形ではなく現在完了形を使います。

✗She has read that book for two weeks.
✓She has been reading that book for two weeks.

「2週間読んでいる」(まだ途中)なら進行形です。has read は「読み終わった」という意味になります。

✗How long are you waiting?
✓How long have you been waiting?

「どのくらい待っているの?」は、今までの長さを聞く質問なので現在完了進行形を使います。

✗I've been knowing him for ten years.
✓I've known him for ten years.

「知っている」は「〜ている」でも状態です。know、like、belong などの状態動詞はふつう進行形にしません。

Your eyes are red — were you crying?ここではやや不自然
✓Your eyes are red — have you been crying?

今見えている跡(赤い目)の理由を聞くときは、現在完了進行形のほうが自然です。

日本語と比べてみよう

「〜ている」は、続いている活動(2週間読んでいる)、結果の状態(もう読んでいる)、数(今日はもう3杯飲んでいる)のどれにも使えます

英語では形が分かれます。続いている活動とその長さは現在完了進行形(“She has been reading that book for two weeks.”)、終わった結果や数は現在完了形(“She has read that book.”、“I have had three cups of coffee today.”)です。「〜ている」だから -ing、と考えないようにしましょう。

「1時間待っている」「2018年からあそこで働いている」:日本語は現在の形「〜ている」です

英語の現在形や現在進行形では、過去に始まって今まで続いている期間を表せません。現在完了(進行)形を使います:“I have been waiting for an hour”、“She has been working there since 2018” または “She has worked there since 2018”。“I am waiting for an hour” や “She works there since 2018” は誤りです。期間は for、始まった時点は since で、「どのくらい待っているの?」は “How long have you been waiting?” です。

「一日中働いていた(だから疲れている)」「泣いていたの?(目が赤い)」:日本語では「〜ていた」と言います

英語では、今の状態の理由になっている活動には現在完了進行形を使います:“I've been working all day.”、“Have you been crying?”。過去進行形(“I was working”、“Were you crying?”)は、過去のある時点の話として聞こえます。

💡 「〜ている」は判断の材料になりません。「もう終わった」「数がある」なら現在完了形、「ずっと続いている」なら現在完了進行形です。

💡 「〜から/〜の間ずっと」→ have/has (been) … since(始まった時点)/ for(期間)。「どのくらい〜しているの?」→ How long have you been …?

💡 具体的な数(3回、5冊)→ 現在完了形。「一日中」→ 現在完了進行形。

実際の場面:同僚に進み具合を聞く

"How's the presentation coming along?"

"I've been working on the slides for hours — I still have the data section left."

"Have you finished the introduction, at least?"

"Yes, I've finished that part already — just the data section now."

練習

練習問題 1 · 正しい形を選びましょう

Choose the correct form: I ___ three cups of coffee today. (a completed count)

練習問題 2 · 正しい形を選びましょう

Choose the correct form: I ___ coffee all morning. (emphasis on the ongoing activity)

練習問題 3 · 正しい形を選びましょう

Choose the correct form: She ___ that book — it's on the shelf now. (finished result)

練習問題 4 · 正しい形を選びましょう

Choose the correct form: She ___ that book for two weeks. (still not finished, ongoing)

練習問題 5 · 正しい形を選びましょう

Choose the correct form: Why are you so tired? — I ___ all day.

練習問題 6 · 正しい形を選びましょう

Choose the correct form: He ___ five books this year. (a specific completed number)

練習問題 7 · 正しい答えを選びましょう

Which form emphasizes the RESULT or a completed quantity, rather than the ongoing activity?

練習問題 8 · 正しい答えを選びましょう

Which form emphasizes the DURATION or ongoing nature of an activity?

練習問題 9 · 正しい形で文を完成させましょう

Complete with the correct form of 'wait': I ___ for an hour, and the bus still hasn't come. (emphasis on duration)

練習問題 10 · 正しい形で文を完成させましょう

Complete with the correct form of 'finish': I ___ my homework, so now I can relax. (finished result)

練習問題 11 · よくある間違い:数があるのに「〜ている」を進行形にする

Japanese: "今日はもうコーヒーを3杯飲んでいます。" Which English sentence is correct?

クイックチャレンジ

5つの問題で、学んだことを確認しましょう。

問題 1 / 5

スコア:0/0

Choose the correct form: Your eyes are red — ___ you ___ ?

学んだこと

  • 現在完了形:結果、終わったこと、具体的な数や量に注目します。
  • 現在完了進行形:活動の長さ(duration)や経過に注目します。
  • 現在完了進行形は、今の状況(疲れている、目が赤い、ぬれている)の理由をよく説明します。
  • 具体的な数があれば現在完了形。know などの状態動詞も現在完了形のままです。
  • 日本語の「〜ている」+期間 → have/has (been) … for +期間 / since +始まった時点。英語の現在形は使いません。
このカテゴリーのレッスンをすべて見る