OpenTOEIC
登入免費註冊註冊
所有文法主題
動詞與時態中級

現在完成式與現在完成進行式

Present perfect simple and continuous

現在完成式連結過去與現在:結果延續至今、經驗、以 since/for 表示持續到現在的事;進行式則強調過程的持續。

練習 60 題

句型結構

V3 是過去分詞:規則動詞加 -ed;不規則動詞必須背誦(write – written、send – sent、grow – grown、rise – risen、choose – chosen、take – taken)。

形式現在完成式現在完成進行式
肯定句S + have/has + V3/edS + have/has + been + V-ing
否定句S + have/has + not + V3 (haven't/hasn't)S + haven't/hasn't + been + V-ing
疑問句Have/Has + S + V3?Have/Has + S + been + V-ing?
例句We have signed the contract.We have been negotiating for weeks.

現在完成式的用法

  • 剛發生的事/對現在仍有影響的結果,不說明具體時間:The shipment has arrived(貨已經在這裡了)。
  • 到目前為止的經驗,常搭配 ever, never, before, once, twice, many times。
  • 從過去開始並持續到現在的狀態,搭配 since/for,尤其是狀態動詞:She has worked here since 2020.
  • 尚未結束的時間範圍:today, this week, this year, so far, to date。
  • 用於 It is the first/second time ... 之後,以及最高級之後:This is the best quarter we have ever had.
例句
  • The finance department has already approved your travel budget.財務部已經核准了你的差旅預算。
  • Have you ever used this scheduling software?你用過這套排程軟體嗎?
  • Mr. Okafor has been the head of logistics since the company opened its Lagos office.自公司在拉哥斯設立辦公室以來,Okafor 先生一直擔任物流主管。
  • Online orders have increased by 30 percent over the past six months.過去六個月,線上訂單增加了 30%。

Since、for 與常搭配的副詞

  • since + 子句:since 之後的子句用過去簡單式,主要子句用現在完成式:We have hired 15 people since we moved to the new office.
  • It has been + 一段時間 + since + 過去簡單式:It has been two years since we last updated the catalog.
  • 注意 yet 也可當連接詞(= 但是),以及 have yet to + V(= 尚未):The board has yet to make a decision.
詞語用法例句
since+ 時間點,或 + 過去簡單式子句since March, since 2021, since she joined the firm
for+ 一段時間for three weeks, for a long time, for the past decade
already已經……了(通常用於肯定句,放在 have 與 V3 之間)We have already paid.
yet還沒/……了嗎?(用於否定句、疑問句;放在句尾)The results haven't come out yet.
just剛剛(放在 have 與 V3 之間)The client has just called.
recently, lately最近Prices have risen recently.
so far, to date, up to now, thus far到目前為止So far, 200 people have registered.
over/in/during the past/last + time在過去的……期間over the last two years

現在完成進行式

  • 強調持續到現在的動作的過程、時間長度(可能仍在進行):How long have you been waiting?
  • 動作剛停止但仍留下痕跡:The floor is wet because the cleaners have been mopping.
  • 簡單式強調結果、已完成的數量;進行式強調活動本身:I have written five reports / I have been writing reports all morning.
  • live, work, study, teach + for/since 時,兩種形式通常都正確,意思相近。
  • 狀態動詞不用進行式:I have known him for years(不是 have been knowing)。
例句
  • Our engineers have been testing the new model since early January.我們的工程師從一月初就一直在測試新機型。
  • The team has been working on the merger for nearly a year.團隊已經為這樁併購案工作將近一年了。

區分 have + V3、have been + V3 與 have been + V-ing

這三種形式都以 have/has 開頭,因此常常並列在 Part 5 的選項中。判斷時問兩個問題:主詞是自己做還是被做,以及句子強調的是結果還是過程。

  • rise, increase, grow, decline, arrive, happen 等不及物動詞表示自然發生的變化時,用 have + V3:Sales have increased by 8 percent。has been increased 只有在有人施加作用時才正確:The price has been increased by the supplier。
  • 狀態動詞(own, know, belong)沒有進行式,只剩兩種選擇:has owned 或 has been owned。
  • 進行式被動 have been being + V3 幾乎不用;多益不會把它當作正確答案。
形式意思選擇線索例句
have/has + V3主動,強調結果空格後有受詞,或動詞是不及物動詞The team has completed the audit.
have/has + been + V3被動主詞是受影響的事物,空格後沒有受詞The audit has been completed.
have/has + been + V-ing主動,強調持續的過程for/since + 仍在進行的活動、all morning、latelyThe team has been working on the audit since May.
have/has + been + 形容詞/名詞be 是主要動詞been 後面接形容詞、名詞或介系詞片語Ms. Lin has been our client since 2015.
例句
  • All the meeting rooms have been booked for the training week.培訓週的所有會議室都已被訂滿。
  • Our customer base has grown steadily since we launched the mobile app.自從我們推出行動應用程式以來,客群穩定成長。

與過去簡單式的比較

以 When 開頭的問句是問具體時間,所以用過去簡單式:When did you send it?(不用 When have you sent it?)。

現在完成式過去簡單式
不說明時間點,或時間範圍尚未結束有明確、已結束的時間點
since, for(到現在), so far, yet, already, this yearago, yesterday, last week, in 2020, when I was ...
We have launched three products this year.We launched three products last year.
She has worked here for five years(仍在職).She worked here for five years(已離職).

電子郵件與報告中的現在完成式句型

Part 6、Part 7 的書信、公告與報告用現在完成式來說明剛完成、讀者現在就需要知道的事。熟記下列句型有助於快速閱讀並選對時態。

  • 開頭句用現在完成式,但下一句提到具體時間點時就改用過去簡單式:We have received your order. It arrived at our warehouse on May 3.
  • As you may have heard 是 modal + have + V3 結構,不是現在完成式,但同樣在講寫信前已發生的事。
句型意思例句
We have received ...我們已收到We have received your application for the position of sales manager.
I have attached / enclosed ...我已附上I have attached the revised schedule for your review.
It has come to our attention that ...我們得知It has come to our attention that some invoices were sent twice.
S + has been promoted / appointed ...獲得升遷、獲得任命Mr. Adams has been appointed head of the Seoul office.
Since its founding in + 年份, S + has ...自創立以來Since its founding in 2001, the firm has opened 40 stores.
As you may have heard, ...您可能已經聽說As you may have heard, Ms. Chen will retire in June.
例句
  • We have reviewed your proposal and would like to discuss a few details.我們已審閱您的提案,想再討論幾個細節。
  • Since its founding in 1995, Corvo Logistics has expanded to twelve countries.Corvo Logistics 自 1995 年創立以來,已拓展至十二個國家。

Have been to、have gone to 與作為主要動詞的 have

  • have been to + 地點:曾經去過(且已回來):Ms. Park has been to the Jakarta plant twice.
  • have gone to + 地點:已經去了那裡,目前還沒回來:Mr. Bell has gone to the bank; he'll be back in ten minutes.
  • have/has had:have 是主要動詞(擁有、經歷),以現在完成式變化:We have had a very busy quarter. 這不是重複用字的錯誤。
  • 問一段時間的長度用 How long have/has ...?(現在完成式),問時間點則用 When did ...?(過去簡單式)。
例句
  • Have you ever been to our showroom in Bangkok?您去過我們在曼谷的展示中心嗎?
  • The feedback from our pilot customers has been extremely positive.試用客戶的回饋非常正面。

多益解題技巧

  1. 這是 Part 5 出題頻率極高的文法點。可靠的線索:since + 時間點(since 2019, since last May, since the merger)、for/over/in + the past/last + 一段時間(for the past five years, over the last decade)、so far, to date, up to now, thus far,以及 already/yet/just/recently/lately。
  2. 看到 ago, yesterday, last + 時間, in + 過去的年份,就刪去 have/has + V3,選過去簡單式。這是 has increased 和 increased 兩個選項之間的經典陷阱。
  3. 注意一致性:單數主詞用 has,複數主詞用 have。像 The number of applicants 這種長主詞 → has;Sales figures for the region → have。
  4. 在 Part 6 中,電子郵件常以現在完成式開頭,說明目前的結果:We have received your application、Your order has been shipped。如果後面的句子明確指出時間(on May 3),就改用過去簡單式。

常見錯誤

錯誤: We have shipped the order two days ago.

正確: We shipped the order two days ago.

Ago 表示明確的過去時間點,所以用過去簡單式。

錯誤: She works here since 2019.

正確: She has worked here since 2019.

Since + 時間點,事情持續到現在 → 現在完成式。

錯誤: Sales have risen since three months.

正確: Sales have risen for three months.

Since 搭配時間點,for 搭配一段時間。

錯誤: The number of complaints have dropped.

正確: The number of complaints has dropped.

真正的主詞是 the number(單數),所以用 has。

錯誤: I have been knowing Ms. Kim for years.

正確: I have known Ms. Kim for years.

Know 是狀態動詞,不用進行式。

練習題(附解答)

  1. 1.Mr. Tanaka ------- as the regional sales director since March.

    1. (A) has served
    2. (B) serves
    3. (C) served
    4. (D) is serving
    查看解答與解析

    答案: (A) has served

    since March → 現在完成式 has served(從過去開始,持續到現在)。served 是過去簡單式,serves/is serving 不與 since 搭配。

  2. 2.The Tulsa plant has operated at full capacity ------- the past eight months.

    1. (A) since
    2. (B) ago
    3. (C) until
    4. (D) for
    查看解答與解析

    答案: (D) for

    the past eight months 是一段時間 → for。since 需要具體的時間點,ago 放在時間片語之後並搭配過去簡單式,until 需要一個結束時間點,因此無法與 the past eight months 搭配。

  3. 3.So far, more than 200 attendees ------- for the logistics summit in Rotterdam.

    1. (A) has registered
    2. (B) registers
    3. (C) have registered
    4. (D) are registering
    查看解答與解析

    答案: (C) have registered

    So far(到目前為止)→ 現在完成式;主詞 200 attendees 是複數 → have registered。has registered 主詞動詞不一致,registers 和 are registering 不能與 so far 連用。

  4. 4.Ms. Ahmed has just ------- the revised schedule to all conference speakers.

    1. (A) sent
    2. (B) send
    3. (C) sending
    4. (D) sends
    查看解答與解析

    答案: (A) sent

    has + just + V3 的結構 → sent(send 的過去分詞)。send、sending、sends 都不能接在 has 之後構成完成式。

  5. 5.Riverton Bank ------- its downtown branch two years ago and moved all staff to the new tower.

    1. (A) has closed
    2. (B) closes
    3. (C) closing
    4. (D) closed
    查看解答與解析

    答案: (D) closed

    two years ago 是明確的過去時間點,與 moved 對等 → 過去簡單式 closed。has closed 不能與 ago 連用,closes 是現在式,closing 缺少助動詞。

  6. 6.The number of job applicants ------- risen sharply since the firm started offering remote work.

    1. (A) have
    2. (B) is
    3. (C) was
    4. (D) has
    查看解答與解析

    答案: (D) has

    真正的主詞是 The number(單數),且有 since → has risen。have 誤與 applicants 一致;is risen/was risen 錯在 rise 是不及物動詞,沒有被動語態。

  7. 7.Ms. Bello ------- for the airport shuttle for forty minutes, and it still has not arrived.

    1. (A) has been waiting
    2. (B) is waiting
    3. (C) waits
    4. (D) have been waiting
    查看解答與解析

    答案: (A) has been waiting

    for forty minutes 且動作仍在持續(it still has not arrived)→ has been waiting。is waiting 和 waits 不能與「for + 到現在的期間」連用,have been waiting 主詞動詞不一致。

  8. 8.The fitness app ------- more than a million times since it was launched in March.

    1. (A) has downloaded
    2. (B) has been downloaded
    3. (C) was downloaded
    4. (D) is downloaded
    查看解答與解析

    答案: (B) has been downloaded

    since it was launched → 現在完成式;應用程式是被下載的對象 → 被動語態 has been downloaded。has downloaded 是主動,was downloaded 和 is downloaded 不能與 since 連用。

  9. 9.This is the first time our firm ------- a contract with a European partner.

    1. (A) signs
    2. (B) has signed
    3. (C) signed
    4. (D) is signing
    查看解答與解析

    答案: (B) has signed

    This is the first time + S + have/has + V3 的結構 → has signed。這個句型之後不用其他時態。

  10. 10.The board has yet ------- a decision on the proposed merger with Lanford Group.

    1. (A) making
    2. (B) made
    3. (C) to make
    4. (D) make
    查看解答與解析

    答案: (C) to make

    has yet to + V 意思是「仍然還沒做」→ to make。making 和 made 句型錯誤,make 少了 to。

練習題

60 題 Part 5 題型,一次一題,每題作答後立即附上解析。

開始練習

常見問題

現在完成式什麼時候用?

現在完成式(present perfect)連結過去與現在。用於剛發生且結果仍留在現在的事(The shipment has arrived);談到目前為止的經驗(Have you ever used this software?);搭配 since/for 表示從過去開始一直延續到現在的狀態;以及搭配 this year, so far, to date 等尚未結束的時段。

現在完成式的公式是什麼?

肯定句:S + have/has + V3/ed;否定句:S + have/has + not + V3;疑問句:Have/Has + S + V3?。單數主詞(he, she, it, the company)用 has,複數用 have。進行式是 have/has + been + V-ing,被動式是 have/has + been + V3。

Since 和 for 有什麼不同?

Since 接時間點(since 2019, since last May, since the merger)或過去簡單式子句(since she joined the firm)。For 接一段時間(for three weeks, for the past decade)。兩者都是現在完成式的常見線索;since three months 是錯的,要寫成 for three months。

現在完成式和過去簡單式有什麼不同?

過去簡單式連結一個已經結束的時間點(yesterday, last year, ago, in 2020)。現在完成式不提具體時間點,或搭配尚未結束的時段(this year, so far)。比較 She worked here for five years(現在已離職)與 She has worked here for five years(仍在這裡工作)。在 Part 5 看到 ago 或 last + 時間,就立刻刪去 have/has + V3 的選項。

什麼時候用現在完成進行式?

想強調某個延續到現在的活動的過程、時間長度時用 have/has been + V-ing(We have been negotiating for weeks),或用於剛停止但仍留下痕跡的事。如果強調結果或已完成的數量,就用簡單形式:I have written five reports。know, own, belong 等狀態動詞不用進行式。

"Have yet to" 是什麼意思?

have/has yet to + V 表示仍未做某事(儘管這件事被期待著),相當於 have not + V3 + yet,但更正式:The board has yet to make a decision = The board has not made a decision yet。這個結構常出現在 Part 7 的公告與新聞報導中;yet to 後面接原形動詞,不是 V3。