句型結構
Had 適用於所有主詞(單數與複數)。縮寫 'd(she'd left)容易與 would 混淆;看後面的動詞:'d + V3 是 had,'d + 原形動詞 是 would。
| 形式 | 過去完成式 | 過去完成進行式 |
|---|---|---|
| 肯定句 | S + had + V3/ed | S + had + been + V-ing |
| 否定句 | S + had not (hadn't) + V3 | S + hadn't + been + V-ing |
| 疑問句 | Had + S + V3? | Had + S + been + V-ing? |
過去完成式的用法
- 在過去另一件事之前發生的事(後發生的事用過去簡單式)。
- 在過去某個時間點之前完成的事:
by + 過去時間點、by the time + 過去簡單式。 - 截至過去某一時刻的經驗:
It was the first time she had visited Tokyo. - 用於間接引述,且引述動詞為過去式時:
He said that he had sent the file. - 用於第三類條件句以及對過去的
wish:If we had known, we would have called.
- When I got to the airport, the flight had already departed.我到機場時,班機已經起飛了。
- By the time the auditors arrived, the accountant had prepared all the documents.稽核人員到達時,會計已經備妥所有文件。
- By the end of 2022, the firm had expanded into five new markets.到 2022 年底,公司已拓展至五個新市場。
- Ms. Rossi had never managed a team before she joined our company.Rossi 小姐加入我們公司之前從未管理過團隊。
Before、after、when、by the time
- 有 before/after 時,連接詞已經表明先後順序,所以兩個子句都用過去簡單式也可以接受:
After she signed the contract, she left.過去完成式則強調事情已經完成。 - 比較:
When I arrived, they left(我到的時候他們才離開)和When I arrived, they had left(我到之前他們就已經離開了)。
| 連接詞 | 常見結構 | 說明 |
|---|---|---|
| before | S + had V3 + before + S + V2 | 先發生的事用 had V3 |
| after | After + S + had V3, S + V2 | 先發生的事放在 after 之後 |
| when | When + S + V2, S + had V3 | 意思是「那時另一件事已經完成」 |
| by the time | By the time + S + V2, S + had V3 | Part 5 非常常見 |
| until | S + hadn't V3 + until + S + V2 | 直到……才…… |
過去完成式、過去簡單式還是現在完成式?
這三種時態常常並列在選項中。判斷方法是找出句子的參考時間點:參考點是現在,就用現在完成式;參考點是過去某一刻,在那之前發生的事用過去完成式;單純發生在那個過去時間點的事則用過去簡單式。
- 當參考點在過去時,since 也能搭配過去完成式:
had worked here since 2010(算到 2024 年為止)。 - 句子只有一件過去的事、也沒有其他時間點時,不要用過去完成式:
The company had opened in 1990不自然,只要opened就夠了。 - 在 Part 6 中,如果整段都用過去簡單式敘述,而要選的句子講的是更早之前發生的事,就是使用 had + V3 的時候。
| 參考時間點 | 時態 | 例句 |
|---|---|---|
| 現在(since, so far, to date) | 現在完成式 | Ms. Tran has worked here since 2010. |
| 過去某一刻,之前持續或已發生的事 | 過去完成式 | When Ms. Tran retired in 2024, she had worked here since 2010. |
| 發生在過去時間點,之前沒有其他事 | 過去簡單式 | Ms. Tran retired in 2024. |
| by + 現在的時間點 | 現在完成式 | By now, most guests have checked in. |
| by + 過去的時間點 | 過去完成式 | By noon yesterday, most guests had checked in. |
- By the time the new CEO took over, the company had already lost two major clients.新任執行長接手時,公司已經失去了兩個大客戶。
- The warehouse was empty because the last shipment had left the day before.倉庫是空的,因為最後一批貨前一天就已經出貨了。
過去完成進行式
用 had been + V-ing 強調一個持續的活動一直進行到(或直到緊接著)過去的某個時間點,常搭配 for/since,或用來解釋過去某個狀態的原因。
- The company had been operating at a loss for two years before it was acquired.公司在被收購前已連續虧損兩年。
- The staff were tired because they had been preparing for the trade show all week.員工很疲憊,因為他們整週都在為商展做準備。
過去完成式被動:had been + V3
當主詞是受影響的事物,且這件事在某個過去時間點之前已經完成時,用 had been + V3。這個形式常出現在 Part 5,和 had、has been、was being 等干擾選項並列。
S + had been + V3 (+ by + 行為者)- 空格後沒有受詞,主詞是物品:
By the time we arrived, all the tickets -------→had been sold。 - 與主動的
had + V3區分:The manager had approved the plan(核准的人是主詞)與The plan had been approved(計畫被核准)。 - 常見片語:had already been sent, had been cancelled, had been postponed, had been scheduled for, had not yet been confirmed。
- The order had already been shipped when the customer called to cancel it.客戶打電話來要取消訂單時,貨已經寄出了。
- The flight had been delayed twice before it was finally cancelled.這班飛機在最終被取消之前已經延誤了兩次。
倒裝句:No sooner / Hardly
正式文體用倒裝來表達「一……就……」。前一子句用過去完成式並將助動詞倒裝至主詞前,後一子句用過去簡單式。
No sooner + had + S + V3 + than + S + V2Hardly/Scarcely + had + S + V3 + when + S + V2- No sooner had the store opened than customers rushed in.店門一開,顧客就蜂擁而入。
- Hardly had we launched the campaign when orders began to rise.我們一推出活動,訂單就開始增加。
Had hoped、had expected、had intended:未實現的打算
表示期待、打算的動詞(hope, expect, intend, plan, mean, want)用過去完成式時,表達說話者曾經希望或打算、但最後沒有實現的事。這個句型非常常見於 Part 6、Part 7 的致歉信與改期通知。
S + had hoped/expected/intended/planned + to V, but ...- 後面的子句通常有 but, however, unfortunately,說明計畫改變的原因。
- 意思接近
was/were going to + V,但更正式,也更強調遺憾。 - 用在比較時:
lower than we had expected表示結果低於先前的預期,並不表示結果原本很高。
- We had hoped to complete the renovation by March, but the materials arrived late.我們原本希望在三月前完成整修,但建材晚到了。
- The team had intended to launch the app in spring; however, testing took longer than expected.團隊原本打算在春季推出這款應用程式;然而測試花的時間比預期更久。
- Attendance at the fair was lower than the organizers had expected.展覽會的參觀人數低於主辦單位的預期。
多益解題技巧
- 常見題型:By the time + S + V2(過去簡單式), S + had + V3。例如:
By the time the manager arrived, the meeting ______ already→ 選had ended。相反地,by the time + 現在簡單式時主要子句用will have V3(見未來式單元)。 - By + 過去時間點(by last Friday, by the end of 2022, by then)也是過去完成式的線索:
By the end of last year, we had opened four branches. - 句中若有兩件過去的事,先發生的用
had V3。提示詞:before, after, already, just, never ... before, until, when。 - 在 Part 6 中,文章以過去簡單式敘事;需要填空的句子若提到更早之前發生的事(例如顧客在漲價前就已下單),答案就是
had + V3。
常見錯誤
錯誤: By the time we arrived, the presentation already finished.
正確: By the time we arrived, the presentation had already finished.
By the time + 過去簡單式 → 主要子句用過去完成式。
錯誤: She told me she has sent the invoice.
正確: She told me she had sent the invoice.
過去的間接引述中,更早發生的事要退一個時態變成 had V3。
錯誤: No sooner had the meeting started when the power went out.
正確: No sooner had the meeting started than the power went out.
No sooner 搭配 than;hardly/scarcely 才搭配 when。
錯誤: We had been knowing the supplier for years.
正確: We had known the supplier for years.
狀態動詞不用進行式。
練習題(附解答)
1.By the time the auditors arrived, the accountant ------- all the receipts.
- (A) organizes
- (B) has organized
- (C) had organized
- (D) was organized
查看解答與解析
答案: (C) had organized
By the time + 過去簡單式 → 先發生的動作用過去完成式
had organized。has organized是現在完成式,was organized是被動式卻有受詞。2.The flight ------- when we reached the gate, so we had to book another one.
- (A) has already departed
- (B) already departs
- (C) is already departing
- (D) had already departed
查看解答與解析
答案: (D) had already departed
班機在我們抵達登機門(
reached)之前就起飛了 → 過去完成式had already departed。其他選項都是現在式。3.By the end of last year, Monarch Retail ------- twelve new stores across the Midwest.
- (A) has opened
- (B) had opened
- (C) opens
- (D) will have opened
查看解答與解析
答案: (B) had opened
By the end of last year 是過去的時間點 → 在該時間點前完成的事用
had opened。has opened和opens時態錯誤,will have opened用於未來的時間點。4.The conference room was empty because the meeting ------- an hour earlier.
- (A) ends
- (B) has ended
- (C) is ending
- (D) had ended
查看解答與解析
答案: (D) had ended
會議在房間空著(
was empty)之前就結束了,且有 an hour earlier →had ended。has ended以現在為基準。5.Ms. Clark ------- for the company for twenty years when she retired in 2024.
- (A) has worked
- (B) had worked
- (C) works
- (D) is working
查看解答與解析
答案: (B) had worked
一段時間(for twenty years)持續到某個過去時間點(
retired in 2024)→had worked。has worked只表示持續到現在。6.The quarterly report ------- by the time the board members met on Thursday morning.
- (A) had been finalized
- (B) had finalized
- (C) has been finalized
- (D) is finalized
查看解答與解析
答案: (A) had been finalized
報告在 by the time the board members met 之前被定稿 → 過去完成式被動語態
had been finalized。had finalized是主動,has been finalized和is finalized時態錯誤。7.Fairmont Textiles ------- money for three consecutive years before a new CEO turned the business around.
- (A) has been losing
- (B) is losing
- (C) had been losing
- (D) loses
查看解答與解析
答案: (C) had been losing
持續 for three consecutive years 直到過去時間點 before a new CEO turned 的活動 →
had been losing。has been losing是延續到現在,is losing和loses時態錯誤。8.The sales team was disappointed because they ------- to close the deal before the end of the quarter.
- (A) had expected
- (B) expect
- (C) have expected
- (D) are expecting
查看解答與解析
答案: (A) had expected
期待發生在過去感到失望(
was disappointed)之前 →had expected。各個現在式都與主要子句不一致。9.No sooner had the shuttle left the hotel ------- it started to rain heavily.
- (A) than
- (B) when
- (C) then
- (D) that
查看解答與解析
答案: (A) than
No sooner 一定搭配
than。when搭配 hardly/scarcely,then和that不屬於這個句型。10.Hardly had the technicians restarted the servers ------- the whole booking system crashed again.
- (A) than
- (B) when
- (C) then
- (D) so
查看解答與解析
答案: (B) when
Hardly/Scarcely 搭配
when。than搭配 no sooner,then和so不屬於這個句型。
練習題
60 題 Part 5 題型,一次一題,每題作答後立即附上解析。
常見問題
過去完成式什麼時候用?
過去完成式(past perfect)用於在另一件過去的事或某個過去時間點之前已經發生並完成的事。先發生的事用 had + V3,後發生的事用過去簡單式:When I got to the airport, the flight had already departed。這個時態也出現在間接引述、第三類條件句,以及 wish 之後談過去的情況。
過去完成式的公式是什麼?
肯定句:S + had + V3/ed;否定句:S + had not (hadn't) + V3;疑問句:Had + S + V3?。Had 適用於所有主詞,不隨單複數改變。被動式是 had been + V3,進行式是 had been + V-ing。
過去完成式和過去簡單式有什麼不同?
過去簡單式敘述發生在某個過去時間點的事;過去完成式再往前推一步,講的是那個時間點之前發生的事。比較 When I arrived, they left(我到的時候他們剛好離開)與 When I arrived, they had left(我到之前他們就已經走了)。如果句子只有一件過去的事,用過去簡單式就夠了。
before 和 after 之後一定要用過去完成式嗎?
不一定。因為 before 和 after 已經表明兩件事的先後順序,兩個子句都用過去簡單式仍然正確:After she signed the contract, she left。想強調先發生的事已經完成時才用過去完成式:After she had signed the contract, she left。相反地,搭配 when 和 by the time 時,先後順序取決於時態,所以必須正確選出 had + V3。
By the time 要搭配什麼時態?
取決於時間點。By the time + 過去簡單式 時,主要子句用過去完成式:By the time the auditors arrived, we had prepared all the documents。By the time + 現在簡單式(談未來)時,主要子句用未來完成式:By the time you receive this letter, the policy will have taken effect。by the time 引導的子句不用 will。
過去完成進行式和過去完成式有什麼不同?
had been + V-ing 強調持續到某個過去時間點的活動,常搭配 for 或 since,或用來解釋某種狀態的原因:The staff were tired because they had been preparing for the trade show all week。had + V3 則強調已經完成的事或已完成的數量:They had prepared three booths。