現在完成進行式(Present Perfect Continuous Tense)是 12 英文時態中的一種,經常出現在實用考試和國際學術考試中。與 ELSA Speak 一起學習現在完成進行式用法,以及如何區分現在完成式和一般現在完成時,掌握如何表達動作的持續性!
現在完成進行式是什麼?
現在完成進行式(Present Perfect Continuous Tense)用來描述過去開始、持續至今的動作。這種時態強調動作的過程和連續性,而非最終結果。
現在完成進行式例句:
- I have been studying English for 3 years.(我學習英語已經三年了。)
- It has been raining all morning.(整個上午都在下雨。)

現在完成進行式結構
現在完成進行式的結構是由助動詞和現在分詞(V-ing)組合而成:

肯定式 (Affirmative Form)
用法:將助動詞 have 或 has 與 been 和以 -ing 結尾的動詞一起使用
結構:
| S + have/has + been + V-ing |
請注意主題:
- S = I/You/We/They + have.
- S = He/She/It + has.
例子:
- She has been working here since Monday. (她從星期一開始就在這裡工作了。)
- We have been waiting for an hour. (我們已經等了一個小時了。)

否定式 (Negative Form)
用法:在助動詞“have”或“has”之後立即加上“not”
結構:
| 現在完成進行式(Present Perfect Continuous Tense) |
例子:
- They haven’t been playing football lately.(他們最近沒踢足球。)
- He hasn’t been sleeping well recently.(他最近沒睡好。)

疑問式 (Interrogative Form)
用法:將助動詞“have”或“has”移到主詞前面
結構:
| 是非題 Have/Has + S + been + V-ing? | 回覆 Yes, S + have/has. No, S + haven’t/hasn’t. |
| Wh- 疑問句 | Wh- + Have/Has + S + been + V-ing? |
例子:
- Have you been crying?(你哭過嗎?)
- Has it been snowing in the mountains?(山區下雪了嗎?)
- Where have you been?(你去哪裡了?)

現在完成進行式的用法
現在完成進行式在日常交流中靈活運用,主要體現在以下兩個方面:

描述從過去一直持續到現在的行為。
強調持續不斷的、不間斷的過程或行動時期
例子:
- They have been renovating the house for weeks.(他們已經翻修房子好幾個星期了。)
- I have been working on this project all day.(我今天一整天都在做這個專案。)

描述的是一個剛完成但已在當下留下明確結果的行為
行動可能已經停止,但其物理後果或狀態在說話的這一刻仍然直接存在。
例子:
- Why are your hands dirty? – I have been gardening.(你的手怎麼髒了?—我一直在花園裡工作。)
- She is out of breath because she has been running.(她氣喘吁籲,因為她一直在跑步。)

現在完成進行式的訊號詞
你可以根據句子中出現的時間狀語輕鬆識別並正確變位現在完成進行式:
| 時間標記類型 | 意思 | 例子 |
|---|---|---|
| Since + 時間軸 | 請具體說明行動開始的確切時間 | since 2010 (從2010年) since yesterday(從昨天) |
| For + 時間段 | 僅表示持續動作的持續時間 | for 3 hours(持續3小時) for a long time(很長時間了) |
| All + 表示時間的名詞 | 強調一天/一週中持續發生的行動 | all afternoon(整個下午) all month(整個月) |
閲讀相關:since 用法:意義、規範用法、區分方法及記憶技巧

區分現在完成進行式和現在完成式
這是一個容易讓許多學習者感到困惑的語法點,因為這兩種時態都表示從過去到現在的時間。為了避免在練習現在完成進行式和現在完成式時混淆,請比較以下標準:
| 現在完成進行式 (Present Perfect Continuous) | 現在完成式 (Present Perfect) | |
|---|---|---|
| 公式 | S + have/has + been + V-ing | S + have/has + V3/ed |
| 重點強調 | 強調過程和持續行動的重要性。 | 強調結果和行動的完成情形。 |
| 狀態動詞(Stative Verbs) | 不使用進行式狀態動詞。(例如:不使用 have been knowing.) | 通常與表示狀態的動詞連用,表示長期狀況。 |
| 例子 | I have been writing this report for 2 hours. (我寫這份報告已經兩個小時了。) → 強調寫作時間。 | I have written three reports today. (我今天寫了三份報告。) → 強調所取得的成果。 |

現在完成進行式練習題(有答案)
以下是現在完成進行式練習,詳細彙編,旨在幫助你最有效地鞏固剛剛學到的理論知識:
練習1:使用括號中動詞的正確形式。
题目:請用現在完成式或現在完成進行式填入括號內動詞的正確形式,完成下列句子:
- I ________ (write) emails all morning and my fingers are tired.
- She ________ (write) ten emails so far today.
- They ________ (live) in this city since 2015.
- He ________ (wait) for the bus for thirty minutes.
- I ________ (read) that book you lent me, but I haven’t finished it yet.
- We ________ (clean) the house all afternoon.
- He ________ (lose) his car keys again.
- How long ________ you ________ (learn) Spanish?
- She ________ (know) her best friend for ten years.
- It ________ (snow) since we woke up this morning.
練習1的詳細答案:
| 句子 | 答案 | 簡要說明 |
|---|---|---|
| 1 | have been writing | 強調整個上午持續不斷的電子郵件寫作過程導致了目前的疲勞。 |
| 2 | has written | 強調所取得的数量結果(已完成 10 封信)。 |
| 3 | have been living / have lived | 對於 live/work 這兩個詞,在指長期情況時,兩種時態都有相似的意思。 |
| 4 | has been waiting | 強調,等公車的時間持續了整整 30 分鐘。 |
| 5 | have been reading | 看书行為是一個進行中的過程,尚未完成。 |
| 6 | have been cleaning | 強調打掃房子的工作是整個下午持續進行的 (all afternoon.)。 |
| 7 | has lost | 丟失鑰匙這一行為本身就是一個已完成的事件,它強調的是結果。 |
| 8 | have / been learning | 詢問語言學習過程需要多長時間。 |
| 9 | has known | Know 是狀態動詞,不能用進行時態。 |
| 10 | has been snowing | 描述了從早晨到現在持續不斷的降雪。 |
練習2:選出最佳答案。
题目: 請選擇最精確的選項(A、B、C 或 D)完成以下選擇題:
- Why are your hands dirty? – I ________ in the garden.
A. have worked
B. have been working
C. worked
D. am working - They ________ each other since they were children.
A. have known
B. have been knowing
C. know
D. knew - I ________ this movie three times already.
A. have been watching
B. have watched
C. watch
D. watched - It ________ all week, so the ground is very wet.
A. has rained
B. has been raining
C. rains
D. rained - How long ________ she ________ English?
A. has/learned
B. has/been learning
C. did/learn
D. does/learn - I ________ my homework, so now I can play games.
A. have been finishing
B. have finished
C. finish
D. finished - He ________ on this project since 8 AM.
A. worked
B. has been working
C. works
D. is working - We ________ in Hanoi for ten years.
A. have been living
B. live
C. lived
D. are living - She ________ her purse. She can’t find it anywhere.
A. has been losing
B. has lost
C. loses
D. lost - My eyes are sore because I ________ at the screen all day.
A. stared
B. have been staring
C. stare
D. am staring
練習2的詳細答案:
| 句子 | 答案 | 簡要說明 |
|---|---|---|
| 1 | B | 描述剛完成並留下明顯結果(髒手)的動作。 |
| 2 | A | Know 是一個表示狀態的動詞;它絕對不能用于進行時態。 |
| 3 | B | 強調所取得的成果數量(觀看影片3次)。 |
| 4 | B | 強調本週持續降雨過程。(all week) |
| 5 | B | 問題結構與學習活動的持續時間有關。 |
| 6 | B | 已完成的行動已達到目前的結果。 |
| 7 | B | 強調從早上8點開始的持續工作流程。 |
| 8 | A | 描述了從過去到現在持續不斷的在河內生活。 |
| 9 | B | 錢包遺失事件已經完成, 不用進行式 |
| 10 | B | 強調觀看螢幕的行為在一天中持續發生(整天)(all day.) |
常見問題
在這個時態中 Since 和 For 是如何被使用的?
回答: Since 用來表示過去某個特定時間點開始的某個動作(例如,since 2012,since Monday)。 For用來表示某個動作持續的特定時間(例如,for 3 hours,for 2 years)。
現在完成進行式的被動語態何時使用?
回答: 現在完成進行式被動語態的結構是S + have/has + been + being + p.p,但由於結構過於繁復,在書面語和口語中都很少使用。通常情況下,為了讓句子更簡潔,會使用現在完成式被動語態。
現在完成進行式可以與狀態動詞(stative verbs) 連用嗎?
回答: 絕對不行。表示所有格、情感或感知的動詞,例如:know, believe, understand, love, belong… 不能用現在完成進行式;它們必須用現在完成式。
掌握現在完成進行式有助於你描述事件從過去到現在的完整自然進程。別忘了查看 ELSA Speak 基礎英語文法主題下的其他實用文章,快速提升你的英語基礎!











