本文將為各位說明過去完成式與過去完成進行式。
過去完成式是許多人感到困難的文法。
過去式與過去完成式、過去完成進行式之間的差異,雖然在高中時學過,但應該有許多人對此仍感到曖昧吧。
這次將使用例句來介紹過去完成式與過去完成進行式的用法與功能。除了基本的肯定句,學會正確使用否定句和疑問句的英文文法,讓英語能力再上一層樓吧!
接下來將比較一般過去式與過去完成式、過去完成進行式在語意上的差異,在理解各自所表達的意思與用法之後,說明實際區分使用時的重點。
目次
過去完成式與現在完成式的差異
現在完成式的基本用法是用於「從過去到現在持續進行的事實」。一般來說這被稱為持續用法。
這種持續用法在過去完成式中也同樣出現。
那麼過去完成式是什麼呢?最貼切的解釋應該是「從過去的某個時點到另一個時點持續進行的事實」。反過來說,有時候的意思是「到過去的某個時點為止是這樣,但現在不同了」。
順帶一提,過去完成式是用(主語+had+動詞的過去分詞形)來構成的。
現在完成式與過去完成式在文法上的差異在於,have變成了過去式的had。
現在完成式的持續用法
在現在完成式中,該狀態或動作仍在持續。
例如: I have never been to Canada.(我從未去過加拿大。)
「從未去過」這個狀態仍持續至今。
現在完成式、過去完成式的否定句造法
無論是在現在完成式還是過去完成式,造否定句時都會使用「never」。
過去完成式的用法與功能
如果將這個句子改成過去完成式,會產生什麼樣的差異呢?
讓我們使用剛才的例句來看看過去完成式的用法以及與現在完成式的差異。
用過去完成式表達經驗
將剛才的句子改成過去完成式的形式:
I had never been to Canada.
當我們這樣說時,意思是「過去,我從未去過加拿大。」
也就是說,到某個時間點為止我從未去過,但現在很可能已經有過去加拿大的經驗。
也就是這樣的情況:
I had never been to Canada until I went there last month.
(直到上個月去那裡為止,我從未去過加拿大。)
現在完成式所表達的「有過做〇〇的經驗」的意思,其實在過去完成式形式中不太容易表達,所以實際上,英語母語人士在日常會話中也不太會使用過去完成式。
因為有過經驗的情況是不會改變的。
但是,正如上面提供的,關於「去加拿大」這個經驗,從「沒有去過」變成「去過」的情況,是可以用過去完成式來表達的。
用過去完成式表達持續
讓我們再看看其他例句。
My father has finished his beer.
(我的父親已經喝完啤酒了。)
這個現在完成式的句子也是同樣的道理。在以下這樣的情況下,我們可以使用過去完成式:
My father had finished his beer when I ordered for the next one.
(當我點下一杯啤酒時,我的父親已經喝完啤酒了。)
那麼,為什麼這不是只用過去式呢?
My father finished his beer when I ordered for the next one.
這個只用過去式的句子的意思是「當我點下一杯啤酒時,我的父親喝完了啤酒。」
你能看出這兩個英文句子的語氣差異嗎?
如果只用過去式的句子,意思就會變成在我點下一杯啤酒的那一瞬間,父親喝完了啤酒。
而當用過去完成式時,並沒有特別提及「什麼時候」「喝完啤酒」,意思是「我不知道什麼時候,但當我點下一杯啤酒時,他已經喝完了」。
雖然這兩個英文句子在表面上看起來很相似,但根據使用的是過去式還是過去完成式,情況和句意就會產生差異。
如果能理解這種語氣上的差異,就能很好地運用過去完成式。
翻成中文時語感也會有些微不同,只要記住幾個模式並進行練習,應該就能很快掌握訣竅。
過去完成式也用於時態變化
過去完成式除了持續用法,也被用於配合時態變化。
例如,
有人對你說:
I have been to the UK.(我去過英國。)
但是當你向別人轉述時,可以這樣說:
He said he had been to the UK.(他說他去過英國。)
如果「他」說:
I went to the UK last week.(我上週去了英國。)
你可以說:
He said he had been to the UK last week.(他說他上週去了英國。)
在上面例句中,是為了配合前面的過去式動詞(said),使整個句子的時態一致。
事實是:
He has been to the UK.
(他去過英國。)
或者:
He went to the UK last week.
(他上週去了英國。)
但是由於加入了「He said」這個過去式,就需要改變時態(後面的動作就需要往前推一個時間層級),因此改用過去完成式。
這兩個句子的差異在於是否包含了表示時間的「last week」。
通過這個詞語,我們可以分辨出是在說「上週」「去了」還是「去過」。
用於過去完成式「時態一致」中的副詞
當為了使時態一致而使用過去完成式時,只需要將原本的過去式或現在完成式往前推一個時間層級,改成過去完成式即可,使用時不需要過多考慮其意義和用法。
不過,實際上事情發生的時間與性質,仍然可以透過句中是否出現「上週」「○○的時候」「到○○為止」「○○之後第一次」等表示時間的詞語來區加以判斷。
這類表示時間的詞語,可能會以副詞、連接詞等各種形式出現在句中。
例如:
・when
・since
・until
・till
・as
・yesterday
等等都是常見的表示時間的詞語。
過去完成式在假設語氣中的用法
過去完成式還被用於所謂的假設語氣用法中。
這種用法也是常出現的,雖然文法結構有點複雜,但卻是非常重要的用法。
讓我們也來學習一下這種類型的假設在什麼時候使用,以及其正確的文法。
在這種情況下,過去完成式是用於對與事實相反,或是在現實中實現可能性極低的情況所做的假設。
當在假設語氣中使用過去完成式時,if 子句(也就是 if + SV 的部分)採用過去完成式的形式,而其後的子句採用現在完成式的形式。
同樣地,即使是”I wish SV”這樣的假設,wish後面的子句也會採用過去完成式的形式。
If you had helped me, I would have been finished it much earlier.
(如果你幫助了我的話,我就能更早完成了。)
I wish I hadn’t told a lie to my mother.
(要是我沒有對媽媽說謊就好了。)
之所以會是過去完成式,是因為這些句子是在對過去事實:「You haven’t helped me./You didn’t help me.」和「I have lied to my mother./ I lied to my mother.」進行相反的假設。
過去完成進行式的用法與用途
這裏也稍微說明一下過去完成進行式。
過去完成進行式的句型是(主語+had+been+動詞的ing形)。
而現在完成進行式則是(主語+have+been+動詞的ing形)。
兩者的文法差異就是,have 變成了 had。
意思與過去完成式幾乎相同,只是變成了進行式。
讓我們用例句來思考。
現在完成進行式:
My father has been drinking beer for a while.
(我的父親已經喝了好一陣子的啤酒。)
過去完成式進行式:
My father had been drinking beer for a while, when I ordered the next one.
(當我點下一杯啤酒時,我的父親已經喝了好一陣子的啤酒。)
在過去完成式的情況下,存在著「當我點下一杯啤酒時」的這個時間點,以及到那個時間點為止父親持續在喝啤酒的事實。
過去完成進行式與過去完成式一樣,都是用來指定過去的某個時間,並用進行式表達到那個時間點為止持續進行的動作或狀態。
而且,如例句所示,在大多數情況下,就像過去完成式一樣,我們會使用「○○的時候」這樣的時間表達,並用過去完成進行式表達到過去那個時間點為止持續的動作或情況。
總結:過去完成式與過去完成進行式
本篇文章聚焦於過去完成式・過去完成進行式,並用例句來說明了它們的用法與功能以及與現在完成式的差異。
過去完成式是高中學生在學習英文文法時經常遇到的內容,也是學習英文中無法避開的內容。
如文中提及的,除了時態變化和假設語氣之外,即使是英語母語人士在日常會話中也不太會使用過去完成式。因為它不是一種常用的表達方式。
但是,只要你理解如何翻譯,當別人使用它時、或在英文作文題目中出現時、或在電影台詞中出現時,就能毫不猶豫地理解其意思,並知道何時使用它。
雖然使用頻率較低,但卻是重要的英文文法之一,希望各位能夠學會。
在一對一線上英語會話平台 Native Camp,我們提供從初級到中高級的文法教材。
特別是在中級程度中,會從現在完成式的複習開始,建議大家按部就班地學習。
課程中,將與講師一起學習各種表達方式和句子的說法,但如果你仍不太擅長英語會話文法,推薦你參加台灣人講師的課程。
台灣人講師不僅可以用中文進行說明,還會教授有用的英語學習法。
即使與主題無關,只要有疑問,都不要害羞,隨時提出來詢問吧!
NativeCamp 另外也準備了各式各樣的英語教材。
如果你對 NativeCamp 的線上英語會話課程感興趣,可以先從免費體驗課程開始嘗試看看喔!

















