現在完成式是英文文法中最常讓學習者卡關的時態之一,因為中文裡沒有完全對應的說法。簡單來說,現在完成式就是用來表達「過去發生的事,和現在有關係」。這篇文章會用最簡單的方式,帶你搞懂現在完成式的公式、四大用法、和過去式的差異,以及多益考試中常見的考法。
現在完成式是什麼?先了解它的定義
現在完成式(Present Perfect)是一種連結「過去」與「現在」的時態。它描述的動作雖然發生在過去,但重點其實放在「現在的狀態或結果」,而不是強調動作發生的確切時間。
中文表達時間的方式比較簡單,通常只靠「了」、「過」這類字詞來表示,並沒有像英文一樣,用動詞形態的變化去區分時態。這也是為什麼很多台灣學生第一次接觸現在完成式時,會覺得特別抽象。
先看一組簡單的對比例句,感受一下差異:
- 過去式:I watched that movie yesterday.(我昨天看了那部電影。)→ 單純陳述過去發生的事。
- 現在完成式:I have watched that movie three times.(我已經看過那部電影三次了。)→ 強調「到目前為止」的經驗。
從這兩句可以看出,過去式只是在講一件已經結束的事;現在完成式則是把過去的動作,拉回來跟「現在」做連結。搞懂這個核心概念之後,接下來就可以進一步了解它的句型結構怎麼組成。
現在完成式的句型結構怎麼組成?
現在完成式的公式很固定,只要記住這個架構,套用到任何句子都通用:
主詞 + have / has + 過去分詞(p.p.)
主詞是第三人稱單數(he、she、it 或單數名詞)時用 has,其他情況(I、you、we、they 或複數名詞)則用 have。
肯定句、否定句、疑問句公式
|
句型 |
公式 |
例句 |
|
肯定句 |
主詞 + have/has + p.p. |
She has finished her homework.(她已經完成作業了。) |
|
否定句 |
主詞 + have/has + not + p.p. |
She has not finished her homework.(她還沒完成作業。) |
|
疑問句 |
Have/Has + 主詞 + p.p.? |
Has she finished her homework?(她完成作業了嗎?) |
過去分詞的變化方式
過去分詞(p.p.)是動詞三態中的第三種型態,可以分成規則變化和不規則變化:
- 規則變化:直接在動詞字尾加上 -ed,和過去式的變化方式一樣。例如 watch → watched、talk → talked、live → lived。
- 不規則變化:沒有固定規則,需要個別記憶。例如 take → taken、begin → begun、go → gone、see → seen。
建議初學者先熟悉常見的 20 到 30 個不規則動詞變化,之後閱讀和寫作時會遇到的機率非常高。
現在完成式的被動語態
現在完成式除了主動語態,也有被動語態的用法,公式是:
have/has been + 過去分詞(p.p.)
被動語態強調「動作被誰做了」,主詞是動作的承受者,而不是執行者。例如:
- The proposal has been reviewed by the manager.(這份提案已經被經理審核過了。)
- The car has been repaired several times.(這台車已經被修過好幾次了。)
- Two new employees have been hired this month.(這個月已經雇用了兩名新員工。)
這種句型在新聞報導、商務信件中很常見,因為說話者常常想強調「事情已經被處理」,而不一定需要點出是誰做的。掌握公式與過去分詞變化之後,下一步就是了解現在完成式實際上用在哪些情境。
現在完成式有哪些用法?4大核心情境解析
現在完成式依照語意,大致可以分成四種常見情境,以下逐一說明並附上例句,幫助你更快理解每種用法的差異。
表示經驗
用來描述「到目前為止,是否做過某件事」,重點在於是否具備這個經驗,而不強調發生的確切時間。
- I have been to Japan twice.(我去過日本兩次。)
- He has never eaten sushi.(他從來沒吃過壽司。)
- Have you ever tried Korean food?(你曾經吃過韓式料理嗎?)
表示完成
用來說明某個動作已經結束,而且這個結果對現在有影響或意義。
- I have finished the report.(我已經完成報告了。)
- She has already left the office.(她已經離開辦公室了。)
- They haven’t submitted the form yet.(他們還沒交表單。)
表示持續
用來描述從過去某個時間點開始,一直延續到現在的狀態,通常會搭配 for(持續多久)或 since(從何時開始)。
- I have lived in Taichung for ten years.(我在台中住了十年。)
- She has worked here since 2018.(她從 2018 年就在這裡工作。)
表示結果
強調過去發生的動作,對現在造成了具體的影響或結果。
- I have lost my keys.(我把鑰匙弄丟了,暗示現在還找不到。)
- The price has increased a lot.(價格已經上漲很多,暗示現在變貴了。)
這四種用法看起來各自獨立,但其實都圍繞著同一個核心:過去的動作,和現在產生了連結。也因為這個特性,現在完成式最容易和「只強調過去」的過去簡單式搞混,接下來就來看看兩者的差異。
現在完成式與過去簡單式差在哪裡?
這是學習現在完成式時,最常遇到的困擾。兩者的核心差異可以簡單記成一句話:
過去式只講過去發生的事;現在完成式講的是過去發生的事,和現在的關聯。
來看一組對照,感受語意上的不同:
|
情境 |
過去式 |
現在完成式 |
|
描述動作 |
I lost my wallet.(我弄丟了錢包,單純陳述過去發生的事) |
I have lost my wallet.(我把錢包弄丟了,現在還沒找到) |
|
描述經驗 |
I watched that movie.(我看過那部電影,沒有強調次數或關聯) |
I have watched that movie three times.(強調到目前為止看了幾次) |
有研究指出,台灣學習者在使用現在完成式時,經常過度依賴句中的時間副詞來判斷該用哪個時態,卻沒有真正理解句子想表達的語意重點,導致誤用的情況時常發生。換句話說,比起死背規則,理解「這句話到底想強調過去,還是想強調現在的狀態」更為重要。
要判斷該用哪個時態,有一個簡單的原則:如果句中出現明確的過去時間點(例如 yesterday、last night、two years ago),就必須用過去式,不能用現在完成式。 除了留意過去時間點,現在完成式本身也有幾個常見的搭配用字,可以幫助判斷句子該用哪種時態,下一段就來介紹。
現在完成式常見的搭配用字有哪些?
以下依照四大用法,整理出判斷現在完成式的重要搭配用字:
經驗類
- ever(曾經,用於疑問句):Have you ever visited Australia?(你曾經去過澳洲嗎?)
- never(從未):I have never tried skydiving.(我從來沒試過跳傘。)
- once / twice / three times(一次/兩次/三次):He has been to Korea twice.(他去過韓國兩次。)
- before(以前):I have seen this movie before.(我以前看過這部電影。)
完成類
- already(已經,用於肯定句):She has already left the office.(她已經離開辦公室了。)
- yet(還沒,用於否定句與疑問句):They haven’t arrived yet.(他們還沒到。)
- just(剛剛):I have just finished my lunch.(我剛吃完午餐。)
持續類
- for + 一段時間(持續多久,例如 for ten years):I have lived here for ten years.(我在這裡住了十年。)
- since + 一個時間點(從什麼時候開始,例如 since 2018):She has worked here since 2018.(她從 2018 年就在這裡工作。)
- so far / up to now(到目前為止):We have finished three chapters so far.(到目前為止,我們已經讀完三個章節了。)
for 和 since 的差異
這兩個字很常一起出現,但用法不同,需要特別留意:
- for 後面接「一段時間的長度」,例如 for two years(兩年)、for a long time(很久)、for a while(一陣子)。
- since 後面接「一個明確的時間起點」,例如 since 2020、since last summer、since I graduated(自從我畢業後)。
簡單判斷方式:如果後面接的是「多久」,用 for;如果後面接的是「從什麼時候開始」,用 since。例如 I have known her for five years.(我認識她五年了)和 I have known her since 2019.(我從 2019 年就認識她了),描述的其實是同一件事,只是切入的角度不同。熟悉這些搭配用字後,實際使用時仍然容易踩到一些常見錯誤,接下來一起來看看。
現在完成式常見錯誤有哪些?
錯誤 1:只看搭配用字,忽略句子語意
- 錯誤:I have seen him yesterday.
- 修正:I saw him yesterday.
- 說明:yesterday 是明確的過去時間點,即使句子在描述「看到他」這件事,也必須用過去式。
錯誤 2:have been to 和 have gone to 混用
- have been to:表示「去過」某地,但現在已經回來了。例如 I have been to Japan.(我去過日本,現在人在這裡。)
- have gone to:表示「去了」某地,現在人還在那裡,不在說話現場。例如 He has gone to Japan.(他去了日本,現在還沒回來。)
錯誤 3:現在完成式與現在完成進行式選用錯誤
這兩個時態的公式看起來很像,但用法上有明顯差異,先比較一下公式:
- 現在完成式:have/has + 過去分詞(p.p.)
- 現在完成進行式:have/has been + 現在分詞(V-ing)
兩者的核心差異
have + p.p. 強調「結果」或「已經完成」,重點放在動作完成後,現在呈現的狀態。
have been + V-ing 強調「動作本身持續進行」,重點放在這個動作從過去到現在一直在發生,而且很可能還會繼續下去。
例句對照
用同一個情境對照,感受兩者的語氣差異:
- I have cleaned the house.(我已經打掃完房子了。)→ 強調打掃這個動作已經完成,房子現在是乾淨的結果。
- I have been cleaning the house.(我一直在打掃房子。)→ 強調打掃這個動作進行了一段時間,可能還沒做完,或是想解釋「為什麼現在看起來很累、很忙」。
再看一組例句:
- She has read that book.(她已經看過那本書了。)→ 強調「看過」這個經驗或結果。
- She has been reading that book.(她一直在看那本書。)→ 強調她花時間持續在看,可能還沒看完。
簡單來說,選擇的關鍵在於你想強調的是「事情做完了」還是「這件事一直在進行」。如果句子重點是結果或完成度,用 have + p.p.;如果句子重點是動作的持續性、或想說明某個動作占用了一段時間,用 have been + V-ing。
例外:狀態動詞不能用進行式
另外要注意,狀態動詞(例如 know、like、believe、own、want、need、love、hate、understand 這類不表示動作的動詞)通常不會用進行式,所以也不會出現在 have been + V-ing 的形式中,只能用 have + p.p.。例如只能說 I have known him for years.(我認識他很多年了),不會說 I have been knowing him。
再舉一個常見的比較:
- I have waited for two hours.(我已經等了兩小時,強調結果。)
- I have been waiting for two hours.(我已經等了兩小時,而且還在等,強調動作持續進行。)
兩者都正確,差別在於說話者想強調的是「結果」還是「動作持續中的狀態」。了解這些常見錯誤後,接下來可以透過練習題,確認自己是否真的掌握了現在完成式的判斷邏輯。
現在完成式自我測驗:練習題與解答
請將括號內的動詞改成正確的現在完成式,或判斷是否該用過去式。
- I _______ (visit) Paris three times.
- He _______ (not finish) his homework yet.
- She _______ (move) to Taichung last year.
- They _______ (live) here since 2015.
- _______ you ever _______ (try) Thai food?
- We _______ (see) that movie yesterday.
解答與解析
- have visited 翻譯:我已經去過巴黎三次了。 解析:three times 是經驗類搭配用字,用現在完成式。
- hasn’t finished 翻譯:他還沒完成他的作業。 解析:yet 是完成類搭配用字,用現在完成式否定句。
- moved 翻譯:她去年搬到台中了。 解析:last year 是明確過去時間點,用過去式。
- have lived 翻譯:他們從 2015 年就住在這裡了。 解析:since 表示從過去持續到現在,用現在完成式。
- Have, tried 翻譯:你曾經吃過泰式料理嗎? 解析:ever 是經驗類搭配用字,用現在完成式疑問句。
- saw 翻譯:我們昨天看了那部電影。 解析:yesterday 是明確過去時間點,用過去式。
如果上面六題能全部答對,代表你已經掌握現在完成式的核心判斷邏輯了。接下來,來看看這個時態在多益考試中通常會怎麼考。
現在完成式在多益考題中怎麼考?
多益(TOEIC)的 Part 5(單句填空)與 Part 6(段落填空)中,動詞時態判斷是常見的考點之一,現在完成式經常會是選項之一。解題的關鍵,通常在於「找出句中的搭配用字」以及「掌握句子語意」。以下用幾題模擬考題來說明解題邏輯。
例題 1
She _______ to Singapore twice for business trips this year.
(A) travels (B) traveled (C) has traveled (D) is traveling
例題 2
I _______ this report yet, so please give me another hour.
(A) don’t finish (B) didn’t finish (C) haven’t finished (D) won’t finish
例題 3
The company _______ its profits significantly since it launched the new product line.
(A) increases (B) increased (C) has increased (D) will increase
例題 4
The shipment _______ already arrived at the warehouse, so the team can start the inventory count today.
(A) is (B) was (C) has (D) will
例題 5
Ms. Lopez _______ as the regional sales manager for over five years, and her team’s performance has improved steadily.
(A) serves (B) served (C) has served (D) will serve
解析
- 答案是 (C)。 翻譯:她今年已經去新加坡出差兩次了。 解析:twice 是經驗類搭配用字,加上句子強調「到目前為止」的次數,因此要用現在完成式 has traveled。
- 答案是 (C)。 翻譯:我還沒完成這份報告,請再給我一小時。 解析:yet 通常用於現在完成式的否定句與疑問句,表示「還沒完成」,因此要選 haven’t finished。
- 答案是 (C)。 翻譯:自從推出新產品線以來,這家公司的獲利已經大幅成長。 解析:句中的 since 是現在完成式的典型搭配用字,表示「從過去某個時間點延續到現在」,因此要選 has increased。
- 答案是 (C)。 翻譯:這批貨已經送達倉庫了,所以團隊今天可以開始盤點。 解析:already 是完成類搭配用字,句子的助動詞要選 has,搭配過去分詞 arrived,構成 has already arrived,表示貨物已經送達倉庫的結果。
- 答案是 (C)。 翻譯:洛佩茲女士擔任區域業務經理已經超過五年了,她的團隊表現也穩定進步。 解析:for over five years 是持續類搭配用字,表示動作從過去持續到現在,因此要選 has served。
從這幾題可以看出,多益考現在完成式時,通常會在句中放入明確的搭配用字(since、yet、twice、already、for 等),加上常搭配商務情境的詞彙(shipment、warehouse、regional sales manager 等),只要熟悉這些用字和語意判斷原則,這類題目其實不難掌握。
現在完成式重點總結
綜合以上內容可以發現,現在完成式與過去簡單式最關鍵的差異,在於這件事是否與「現在」有所關聯,這也是判斷經驗、完成、持續、結果四種用法時,共同依循的原則。since、yet、already、twice 這類搭配用字,能為判斷提供方向,但實際作答時,還是要以句子整體的語意為準,這也正是多益考題經常測驗的重點。若想更有系統地掌握現在完成式,或針對多益文法題型加強練習,歡迎預約 Owen 老師的一對一線上課程,依個人程度規劃學習內容。
Owen
擁有近十年英語教學經驗的資深講師,專精於多益測驗與商業英文,曾多次在多益考試中獲得900+的高分。Owen 不僅是企業指定的英語培訓講師,更身兼多益專案主持人,致力於教材編輯與教學方法與學習研究,他善於透過系統化的教學,幫助學生高效學習、突破瓶頸,輕鬆掌握應考技巧,最終達成高分目標!
