現在完成式用法跟過去式常常搞混,兩個時態感覺很像卻差很多,其實抓到一個重點就能分清楚,講出來的英文更道地。
過去式跟現在完成式,一句話講完差在哪
先講結論:過去式是在講「過去某個時間點發生的事」,現在完成式是在講「這件事跟現在有關係」。差別不是文法規則死背,而是你想表達的重點在哪裡。
如果你講的是一個已經結束、跟現在沒關係的動作,用過去式就對了。如果你講的事情跟現在有連結,例如影響到現在的狀態、還在持續、或是不知道確切時間,那就要用現在完成式用法。
(1)
A: I lost my keys yesterday.
A: 我昨天弄丟鑰匙了。
B: Did you find them?
B: 你找到了嗎?
這句用過去式,因為講的是昨天發生的事,時間點很明確。但如果你想強調「現在還沒找到」這個結果,句子會變成完全不同的說法。
(2)
A: I’ve lost my keys.
A: 我鑰匙不見了。
B: Again? Where did you last see them?
B: 又來?你最後在哪裡看到的?
這裡用現在完成式,因為重點不是鑰匙什麼時候不見的,而是「現在找不到」這個狀態還在持續。同一件事,換個時態,聽起來的重點完全不一樣。
(3)
A: I watched that movie last week.
A: 我上禮拜看了那部電影。
B: Was it good?
B: 好看嗎?
(4)
A: I’ve watched that movie three times already.
A: 我已經看過那部電影三次了。
B: Wow, you must really like it.
B: 哇你一定很喜歡。
第一句在講一個特定的時間點,第二句在講到目前為止累積的經驗,這就是過去式現在完成式差別最直接的例子。

現在完成式用法規則整理
現在完成式用法的公式是 have 或 has 加上過去分詞,主詞是 I、you、we、they 用 have,he、she、it 用 has。這個結構本身不難,難的是判斷什麼時候該用它。
三種常見情況都會用到現在完成式:講經驗(做過什麼事)、講持續到現在的狀態、講剛發生但影響到現在的事。
(5)
A: Have you ever tried Thai food?
A: 你吃過泰式料理嗎?
B: Yeah, I love it.
B: 有啊我超愛。
這是在問經驗,重點是「有沒有做過」,不是哪一天做的。
(6)
A: I’ve worked here for five years.
A: 我在這裡工作五年了。
B: That’s a long time.
B: 那滿久的欸。
這句在講從過去持續到現在的狀態,還在進行中,所以用現在完成式,不能用過去式。
(7)
A: I’ve just finished the report.
A: 我剛把報告寫完。
B: Perfect timing, the meeting starts in ten minutes.
B: 時機抓得剛好,會議十分鐘後開始。
剛發生的事,而且跟現在有直接關係,例如接下來要交出去,這種情況也是用現在完成式。
(8)
A: She has already left the office.
A: 她已經離開辦公室了。
B: Okay, I’ll call her cellphone instead.
B: 好那我打她手機好了。
(9)
A: We haven’t decided on a restaurant yet.
A: 我們還沒決定要去哪間餐廳。
B: Let’s just pick somewhere close.
B: 那就選近一點的地方吧。
already 和 yet 這種字,是現在完成式很常出現的搭檔,一個講已經完成,一個講還沒發生,但都是站在「現在」這個時間點在講話。
常見訊號字,看到就知道要用哪個
有些字一出現,基本上就決定了要用過去式還是現在完成式,記住這幾個訊號字,判斷會快很多。
過去式常搭配明確的時間點,例如 yesterday、last week、in 2020、ago 這種字,因為過去式本來就是在講一個已經結束、有specific時間的事。
現在完成式常搭配 already、yet、ever、never、since、for、just 這類字,因為這些字都在強調「跟現在的關係」,而不是確切發生在哪個時間點。
(10)
A: I moved to Taipei three years ago.
A: 我三年前搬到台北。
B: Do you like living there?
B: 你喜歡住那裡嗎?
(11)
A: I’ve lived in Taipei for three years.
A: 我已經在台北住三年了。
B: Have you gotten used to the weather?
B: 你習慣那邊的天氣了嗎?
同樣是搬到台北住三年,第一句在講一個過去發生的動作(搬家這個動作,已結束),第二句在講從那之後持續到現在的狀態,兩句其實都對,只是重點不一樣。
(12)
A: I haven’t seen that movie since it came out.
A: 那部電影上映之後我就沒看過了。
B: You should watch it, it’s really good.
B: 你應該看一下,真的滿好看的。
since 後面接的是一個時間起點,配上現在完成式,講的是「從那之後到現在」這段期間都沒發生某件事。
(13)
A: He worked at that company for two years before quitting.
A: 他在那間公司做了兩年才離職。
B: Why did he leave?
B: 他為什麼離職?
這句雖然也有 for,但因為後面接了「before quitting」,代表這件事已經結束了,跟現在沒關係,所以要用過去式,不能因為看到 for 就自動套用現在完成式。這也是英文過去式常常被誤用的地方,訊號字只是參考,還是要看整句在講什麼。
職場信件和會議裡的用法
現在完成式用法在職場英文裡出現的頻率其實很高,尤其是在報告進度、寫email跟同事對話的時候,選對時態會讓你的表達更精準。
(14)
A: I’ve completed the first draft of the proposal.
A: 我已經完成提案的初稿了。
B: Great, can you send it to me before the meeting?
B: 太好了,可以在會議前傳給我嗎?
這句用現在完成式,因為重點是「現在已經完成」這個結果,對方接下來要根據這個結果採取行動。如果換成過去式 I completed the proposal yesterday,聽起來就只是在陳述一個過去發生的事實,少了那種「現在可以往下走了」的語感,這種語感差異在寫職場email的時候特別明顯,同一件事用不同時態表達,對方感受到的急迫感或完成度都會不一樣。
(15)
A: We haven’t received your invoice yet.
A: 我們還沒收到你的發票。
B: Sorry, I’ll send it over right away.
B: 不好意思,我馬上傳過去。
寫商業email開頭結尾常常需要用到這種語氣客氣但直接的說法,現在完成式在這種情境特別好用,因為它同時交代了事實跟現在的狀態。
(16)
A: I’ve already talked to the client about the deadline.
A: 我已經跟客戶談過deadline的事了。
B: What did they say?
B: 他們怎麼說?
(17)
A: The team has finished the testing phase.
A: 團隊已經完成測試階段了。
B: So we can move on to launch?
B: 那我們可以進入上線階段了嗎?
開會的時候要report進度,用現在完成式可以很自然地把「這件事完成了」跟「接下來要做什麼」連在一起,這種語感是過去式沒辦法做到的。
TOEIC 常考陷阱
現在完成式用法在TOEIC也是常考重點,題目通常會給你一個時間相關的線索,考你能不能判斷該選過去式還是現在完成式,答錯的人往往是因為只看到動詞沒注意到句子裡的時間線索。
(18)
A: The company has launched three new products this year.
A: 公司今年已經推出三個新產品了。
B: Which one is selling the best?
B: 哪個賣得最好?
this year 因為還沒結束,是一個還在進行中的時間範圍,所以要搭配現在完成式,這是考題很愛出的陷阱,很多人看到具體的時間名詞就直覺選過去式,反而選錯。
(19)
A: The company launched three new products last year.
A: 公司去年推出了三個新產品。
B: Were they successful?
B: 那些產品成功嗎?
同樣的句子結構,只是把 this year 換成 last year,時態就整個不一樣,因為 last year 已經結束了,這就是為什麼TOEIC很喜歡拿這種題型出來考。
(20)
A: Have you finished the sales report yet?
A: 你把銷售報告寫完了嗎?
B: Not yet, I need another hour.
B: 還沒,我還需要一小時。
這種 have done 用法的問句,在TOEIC聽力和閱讀都很常出現,考的就是你能不能分辨這是在問「現在完成了沒」而不是在問「哪一天完成的」。
(21)
A: They have already signed the contract.
A: 他們已經簽好合約了。
B: When did they sign it?
B: 他們是什麼時候簽的?
有趣的是,B的回答用了過去式 did,因為一旦知道合約已經簽了(現在完成式帶出的結果),接下來如果要追問確切時間,就會換回過去式,這種前後轉換也是考題常出現的邏輯,跟轉述句時態怎麼改的邏輯有點像,都是要根據句子想強調的重點去調整時態。
現在完成式用法說穿了就是在判斷你想強調的是「這件事跟現在的關係」還是「這件事發生的時間點」,多看幾個對話情境,慢慢就會抓到那個語感,不用每次都硬背規則。
延伸閱讀:【分不清 Past Perfect?看這張圖就秒懂!過去完成式用法全解析:這是一個關於「順序」的時態】
如果你喜歡這篇文章的話,可以追蹤我們的 Threads 和 Facebook 唷!