現在完成式常讓人覺得難,因為它不像一般時態那樣有明確的時間點,而是同時連結「過去」和「現在」,一開始容易混淆。
其實關鍵不在背句型,而是理解一個概念:事情已經發生,但影響延續到現在。掌握這一點,就會更容易判斷什麼時候該用。
現在完成式是什麼?先看句子怎麼組成
在了解現在完成式怎麼用之前,可以先看看句子是怎麼組成的,會比較容易抓到重點。
現在完成式有一個固定的結構,通常會看到 have 或 has,加上動詞的第三型(p.p.)。
不過它不只是表示「做過某件事」,而是要表達這件事情和現在還有關係。
先看兩個簡單的句子:
.I have finished my homework.
(作業已經完成 → 現在是完成的狀態)
.She has lived here for five years.
(她住在這裡五年 → 現在還住在這裡)
在這兩個句子裡,have finished、has lived 就是現在完成式出現的位置。
如果把句子拆開來看,會更清楚它的結構:

在這個句子中,have + finished 就是現在完成式的關鍵。
也可以這樣理解:現在完成式不是一個單字,而是「助動詞 + 動詞第三型」組成的一段結構。
當你看到 have / has + 動詞第三型 時,就可以知道這是現在完成式了。
現在完成式怎麼用?常見4種情況整理
當你知道現在完成式的句型之後,可以先記住一個重點:現在完成式在講的是「現在的結果」,而不是事情發生在什麼時候。
帶著這個概念,其實就可以比較容易理解它的用法。下面整理了幾種常見的情況:
一、表示經驗(曾經做過)
用來描述「有沒有做過某件事」,重點是經驗本身,而不是發生的時間。
例如:
I have been to Japan.(我去過日本)
She has never tried sushi.(她從來沒有吃過壽司)
這種用法常會搭配 ever、never,來表達是否有過某種經驗。
二、表示結果(已經發生)
用來表示事情已經完成,重點在於現在的狀態已經改變。
例如:
I have finished my work.(我已經把工作做完了)
He has just left.(他剛剛離開)
這類句子常會搭配 already、just,表示事情已經發生,現在的情況和之前不同。
三、表示持續(從過去到現在)
用來描述一件事情從過去開始,一直到現在都還在持續。
例如:
I have studied English for three years.(我已經學英文三年了)
She has lived here since 2020.(她從 2020 年就一直住在這裡)
這種用法常會搭配 for、since,表示事情一直持續到現在。
四、表示變化(和以前不同)
用來描述現在和以前相比,有了改變。
例如:
The weather has become colder.(天氣變冷了)
My English has improved.(我的英文變好了)
這類句子通常會搭配 become、improve、change,來描述狀態的改變。
快速整理常見用法:
| 用法 | 中文說明 | 例句 | 常見搭配 |
| 經驗 | 表示有沒有做過某件事 | I have been to Japan.(我去過日本) | ever、never |
| 結果 | 表示事情已經發生,現在狀態改變 | I have finished my homework.(我已經把作業做完了) | already、just |
| 持續 | 從過去開始,一直到現在 | I have studied English for 3 years.(我已經學英文三年了) | for、since |
| 變化 | 和以前相比產生改變 | My English has improved.(我的英文變好了) | become、improve |
👉在 Winning Plus,把現在完成式放進生活情境中練習
現在完成式句子怎麼組?have / has 的用法整理
前面已經認識現在完成式的用法,接下來可以來看看句子是怎麼組出來的。
其實可以把現在完成式想成三個步驟:
第一步:先放主詞
先決定「是誰做這件事」
例如: I / She / They
第二步:選 have 或 has
接著看主詞,選擇要用 have 還是 has。
- I / You / We / They → 用 have
- He / She / It → 用 has
例如:
They have finished the work.
He has finished the work.
第三步:動詞要變成第三型(p.p.)
在 have / has 後面,動詞一定要變成第三型。
例如:
eat → eaten
go → gone
放進句子會變成:
I have eaten breakfast.(我已經吃過早餐)
She has gone home.(她已經回家了)
當你把「主詞 + have / has + 動詞第三型」組在一起,就完成現在完成式的句子了。
例如:
I have cleaned my room.(我已經把房間整理好了)
She has learned a lot this year.(她今年學了很多東西)
只要照著這三個步驟,就可以把現在完成式的句子組出來,其實沒有想像中那麼難。
現在完成式和過去式的差異
在學英文的時候,很多人會分不清「現在完成式」和「過去式」,因為兩個都在講已經發生的事情。
但其實,它們在講的重點不一樣。

👉 過去式是在講「什麼時候發生」
👉 現在完成式是在講「現在的狀態或經驗」
先看一個例子:
I played basketball yesterday.(我昨天打了籃球)
這句話有一個很明確的時間「yesterday」,所以是在描述一件已經發生的事情。
但如果換成:
I have played basketball.(我有打過籃球)
這句話就不是在講什麼時候,而是在表達「我有這個經驗」。
再看另一個情境:
She ate breakfast.(她吃了早餐)
這句只是描述一個已經發生的動作。
但如果說:
She has eaten breakfast.(她已經吃過早餐了)
這句話會讓人想到「她現在不餓」或「不用再吃了」。
怎麼快速分辨?
如果句子裡有像 yesterday、last night、two hours ago 這種明確時間,通常會用過去式。
如果沒有特別說時間,而是在講經驗或現在的結果,就會用現在完成式。
常見錯誤
有時候會不小心把兩種用法混在一起,例如:
❌ I have finished my homework last night.
這句會出錯,因為 last night 已經是明確時間,所以應該用過去式:
✔ I finished my homework last night.
現在完成式常搭配哪些關鍵字?
在用現在完成式的時候,句子裡常會出現一些固定的單字。
當你看到這些單字時,可以先留意一下,這句話很可能是在講「經驗」或「現在的結果」。
先從幾個最常見的開始認識:
| 單字 | 中文意思 | 常見用法 | 例句 |
| already | 已經 | 表示事情已經完成 | I have already finished my homework.(我已經把作業做完了) |
| yet | 還沒/了嗎 | 放在句尾,常用在還沒完成或詢問 | I haven’t finished my homework yet.(我還沒做完作業)Have you finished your homework yet?(你做完了嗎?) |
| just | 剛剛 | 表示事情剛發生 | He has just left.(他剛剛離開) |
| ever | 曾經 | 用來問有沒有做過某件事 | Have you ever played basketball?(你有打過籃球嗎?) |
| never | 從來沒有 | 表示完全沒有發生過 | I have never tried that.(我從來沒有試過) |
現在完成式怎麼練?用生活句子就可以開始
學會現在完成式之後,可以先從生活中很常做的事情開始練習。
例如:
● 你剛寫完作業,可以說:
I have finished my homework.(我已經把作業做完了)
● 你剛看完一支影片,可以說:
I have watched that video.(我看過那支影片)
● 你剛整理好房間,可以說:
I have cleaned my room.(我已經整理好房間了)
● 你剛看完這篇文章,也可以說:
I have just read this article.(我剛剛看完這篇文章)
這些句子,其實都是在描述剛完成的事情,或是已經做過的事情。
一開始不用想太多規則,只要試著把自己剛做完的事情,用英文說出來就可以了。
如果想再進一步,也可以用同一件事情,換成過去式來比較:
● I did my homework yesterday. (我昨天寫了作業)
● I have done my homework. (我已經把作業寫完了)
這樣練習幾次,就會更容易分辨兩種用法。
👉如果這些用法你還不太熟,跟著 Winning Plus 把現在完成式放進生活情境中練習