現在完成式(Present Perfect):公式、用法、例句與練習題

學英文時態時,最容易卡關的就是現在完成式:明明事情發生在過去,為什麼不用過去式?這篇從公式開始,帶你看懂 4 種用法、時間副詞該放哪裡,再用對照表分清楚它和過去式、現在完成進行式的差別,最後用練習題確認自己真的會用。

簡單來說,事情發生在過去,但重點放在「跟現在的關係」,就用現在完成式,句型是 主詞 + have/has + 過去分詞(p.p.)。例如 I have lost my key.,意思是鑰匙弄丟了,而且到現在還沒找到。

現在完成式是什麼?重點在「跟現在有關」

現在完成式(present perfect tense)描述的是「從過去延伸到現在」的事:可能是到現在為止的經驗、一直持續到現在的狀態,或是剛完成、結果還留在現在的動作。英文文法書有時也寫成 present perfect simple,指的是同一個時態。

和過去式最大的不同在於:過去式只說「那時候發生了什麼」,現在完成式則在說「那件事和現在有什麼關係」。所以現在完成式通常不搭配明確的過去時間,例如 yesterday、last week、in 2020。

把這 12 個項目唸出來,看看你的發音拿幾分。

例如:

  • I lost my key yesterday.
    我昨天弄丟了鑰匙。只是陳述過去的事,現在可能已經找到。
  • I have lost my key.
    我弄丟了鑰匙。重點是現在還進不了家門。
現在完成式是什麼

現在完成式句型:肯定、否定、疑問

句型結構例句
肯定句主詞 + have/has + p.p.She has finished her report.
否定句主詞 + have/has not(haven’t/hasn’t)+ p.p.I haven’t seen that movie.
是非問句Have/Has + 主詞 + p.p.? → Yes, 主詞 + have/has. / No, 主詞 + haven’t/hasn’t.Have you eaten? — Yes, I have.
疑問詞問句疑問詞 + have/has + 主詞 + p.p.?Where have you been?
現在完成式句型公式

使用這個句型時,有幾點要注意:

  • I、you、we、they 和複數名詞用 have;he、she、it 和單數名詞用 has。
  • 口語常縮寫:I’ve、you’ve、she’s、he’s、it’s。注意 she’s 可能是 she is 也可能是 she has,要看後面接的是不是過去分詞。
  • 不規則動詞要用第三態,例如 go → went → gone、eat → ate → eaten。不熟的話可以先複習動詞三態和過去分詞。

英文現在完成式的句型就這一套,比較需要花時間的是判斷什麼時候該用。

現在完成式用法:4 種常見情境

現在完成式大致有 4 種用法,下面每一種都附上現在完成式例句和中文翻譯。

到現在為止的經驗

常搭配 ever、never、before、once、twice、three times。

例如:

  • Have you ever tried bubble tea with cheese foam?
    你喝過奶蓋珍奶嗎?
  • I have been to Kenting three times.
    我去過墾丁三次。

從過去持續到現在的狀態

常搭配 for(一段時間)和 since(起始時間點,用法可參考 since 用法),以及 live、know、be、have 這類表示狀態的動詞。

例如:

  • We have lived in Taichung since 2020.
    我們從 2020 年就住在台中。
  • I have known Kevin for ten years.
    我認識 Kevin 十年了。

剛完成的動作,結果影響現在

常搭配 just、already、yet。

例如:

  • I’ve just sent you the file.
    我剛把檔案傳給你了,你現在可以打開看。
  • She has lost her EasyCard, so she can’t take the MRT.
    她的悠遊卡掉了,所以現在沒辦法搭捷運。

到目前為止的變化或累積

常搭配 so far、recently、lately、this week/this year(時間還沒結束)。

例如:

  • I have read three books this month.
    這個月到目前為止我讀了三本書。
  • The price of bubble tea has gone up a lot recently.
    最近珍奶漲價很多。
現在完成式用法

時間副詞該放哪裡?

時間副詞位置與意思例句
just/already/ever/never放在 have/has 和 p.p. 中間;already 也可放句尾I have already paid.
yet放句尾,用在否定句和疑問句,意思是「還沒/了沒」Have you finished yet?
for + 一段時間for two years、for a long timeShe has worked here for two years.
since + 時間點since 2020、since Monday、since I was a kidI have lived here since I was a kid.
so far/recently/lately句首或句尾都可以So far, we have sold 200 tickets.
現在完成式時間副詞

另外,have been to 和 have gone to 很容易搞混:have been to 是「去過(已經回來)」,have gone to 是「去了(人還在那裡)」。have been 的其他用法可以參考 Have been 用法。

例如:

  • She has been to Japan.
    她去過日本。
  • She has gone to Japan.
    她去日本了,現在不在台灣。

現在完成式和過去式怎麼分辨?

最快的判斷方法是:句子裡有沒有明確的過去時間? 有的話用過去式;沒有、而且重點在「到現在」的經驗、持續或結果,就用現在完成式。

比較過去式現在完成式
時間點明確的過去時間:yesterday、last year、two days ago、in 2020不提明確時間,或時間還沒結束:ever、for、since、this week
重點過去那個時候發生了什麼那件事和現在的關係
例句I visited Tainan last year.I have visited Tainan twice.

例如:

  • He graduated in 2024.
    他 2024 年畢業。
  • He has graduated, so he’s looking for a job now.
    他畢業了,所以現在在找工作。
現在完成式和過去式的差別

現在完成式和現在完成進行式的差別

現在完成進行式(present perfect continuous)的句型是 have/has been + V-ing。兩者都能描述從過去持續到現在的事,差別在於強調的重點:

時態強調重點例句
現在完成式結果、完成了多少I have written three emails this morning.
現在完成進行式過程、持續了多久I have been writing emails all morning.

know、like、own、believe 這類狀態動詞通常不用進行式,所以要說 I have known her for years.,不說 I have been knowing her.

現在完成式和現在完成進行式的差別

現在完成式和過去完成式怎麼選?

兩者都是 have + p.p. 的家族,差別在「參考點」:現在完成式的參考點是現在,過去完成式的參考點是過去的某個時間點。

例如:

  • I have finished the report.
    到現在為止,報告做完了。
  • I had finished the report before the meeting started.
    會議開始前,報告就已經做完了。

想進一步了解,可以看過去完成式的用法與練習。

現在完成式和過去完成式的差別

現在完成被動式怎麼寫?

句型是 主詞 + have/has been + p.p.,用來說「某件事已經被完成」,也就是把被動語態的 be + p.p. 套進現在完成式。

例如:

  • The tickets have been sold out.
    票已經賣完了。
  • Your order has been shipped.
    您的訂單已經出貨。

現在完成式常見的 5 個錯誤

和明確的過去時間一起用

yesterday、last week、in 2020 這類明確的過去時間,要搭配過去式。I have seen him yesterday. 應該改成 I saw him yesterday.

have/has 後面接了過去式

have/has 後面一定接過去分詞。She has went home. 要改成 She has gone home.,不規則動詞特別容易寫錯。

for 和 since 用反

for 接一段時間,since 接起始的時間點。I have lived here since three years. 要改成 for three years,或是 since 2023。

用現在式問「多久了」

問一件事持續了多久,要用現在完成式:How long have you known him?,而不是 How long do you know him?

主詞和 have/has 不一致

單數主詞要用 has。My brother have finished. 應該寫成 My brother has finished.

現在完成式練習題(附解答)

練習 1:用括號內動詞的正確形式填空

  1. I ______ (live) in Taipei since 2019.
  2. ______ you ever ______ (eat) stinky tofu?
  3. She ______ (not / finish) her homework yet.
  4. We ______ (know) each other for ten years.
  5. My brother ______ (lose) his EasyCard, so he can’t take the MRT.
  6. I ______ just ______ (send) you the file.
  7. This is the first time I ______ (visit) Tainan.
  8. How long ______ you ______ (work) at this company?
  9. The new MRT line ______ already ______ (open).
  10. The concert tickets ______ (sell) out.(被動)

練習 2:選出正確的時態

  1. I (have seen / saw) that movie last weekend.
  2. She (has worked / worked) here since 2022.
  3. We (have been / went) to Japan twice.
  4. He (has graduated / graduated) from college in 2024.
  5. (Have you finished / Did you finish) your report yet?

練習 1 解答:

  1. have lived:since 2019 表示從那時住到現在。
  2. Have … eaten:問到現在為止的經驗,have 放到主詞前面。
  3. hasn’t finished:yet 搭配否定句,表示到現在還沒完成。
  4. have known:know 是狀態動詞,for ten years 表示持續到現在。
  5. has lost:悠遊卡掉了的結果影響現在,所以沒辦法搭捷運。
  6. have … sent:just 放在 have 和 p.p. 中間,表示剛完成。
  7. have visited:This is the first time 後面習慣用現在完成式。
  8. have … worked:How long 問持續到現在多久。
  9. has … opened:already 表示已經完成,結果延續到現在。
  10. have been sold:票「被賣出」,用現在完成被動式。

練習 2 解答:

  1. saw(有明確時間 last weekend)
  2. has worked(since 2022 持續到現在)
  3. have been(經驗,去過兩次)
  4. graduated(有明確時間 in 2024)
  5. Have you finished(yet 用在現在完成式疑問句)

這些現在完成式題目如果都答對了,代表你已經掌握最常考的判斷重點。

結語

總結來說,用現在完成式之前先想一想:這件事跟現在有沒有關係?有的話用 have/has + p.p.;句子裡出現明確的過去時間,就改用過去式。口說時 I’ve、she’s 這類縮寫很容易被吞掉,可以用 ELSA Speak 跟讀練習,讓發音更自然。想把時態系統串起來,可以再看 12 種英文時態。

不要錯過具有大量功能的英語學習包

ELSA Premium 終身 – 十月優惠

原價:9,450元 現在 4,415 元

ELSA Premium 還有另外以下的學習包:

ELSA Premium 一年:原價:5,250元 現在 2,199 元

ELSA Premium 三個月:原價:2,100元 現在 1,140 元

超值優惠活動|限時搶購中!