OpenTOEIC
Đăng nhậpĐăng ký miễn phíĐăng ký
Tất cả chủ điểm ngữ pháp
Động từ và thìTrung bình

Quá khứ hoàn thành

Past perfect

Quá khứ hoàn thành diễn tả việc xảy ra và hoàn tất trước một thời điểm hoặc một việc khác trong quá khứ; dạng tiếp diễn nhấn mạnh quá trình kéo dài đến mốc quá khứ đó.

Làm 60 câu luyện tập

Cấu trúc

Had dùng cho mọi chủ ngữ (số ít lẫn số nhiều). Dạng viết tắt 'd (she'd left) dễ nhầm với would; nhìn động từ phía sau: 'd + V3 là had, 'd + V nguyên mẫu là would.

DạngQuá khứ hoàn thànhQuá khứ hoàn thành tiếp diễn
Khẳng địnhS + had + V3/edS + had + been + V-ing
Phủ địnhS + had not (hadn't) + V3S + hadn't + been + V-ing
Nghi vấnHad + S + V3?Had + S + been + V-ing?

Cách dùng quá khứ hoàn thành

  • Việc xảy ra trước một việc khác trong quá khứ (việc sau dùng quá khứ đơn).
  • Việc hoàn tất trước một mốc thời gian trong quá khứ: by + mốc quá khứ, by the time + quá khứ đơn.
  • Kinh nghiệm tính đến một thời điểm quá khứ: It was the first time she had visited Tokyo.
  • Trong câu tường thuật khi động từ tường thuật ở quá khứ: He said that he had sent the file.
  • Trong câu điều kiện loại 3 và wish về quá khứ: If we had known, we would have called.
Ví dụ
  • When I got to the airport, the flight had already departed.Khi tôi đến sân bay thì chuyến bay đã cất cánh rồi.
  • By the time the auditors arrived, the accountant had prepared all the documents.Khi các kiểm toán viên đến thì kế toán đã chuẩn bị xong toàn bộ giấy tờ.
  • By the end of 2022, the firm had expanded into five new markets.Tính đến cuối năm 2022, công ty đã mở rộng sang năm thị trường mới.
  • Ms. Rossi had never managed a team before she joined our company.Cô Rossi chưa từng quản lý một nhóm nào trước khi gia nhập công ty chúng tôi.

Before, after, when, by the time

  • Với before/after, thứ tự đã rõ nhờ liên từ nên dùng quá khứ đơn cho cả hai vế cũng chấp nhận được: After she signed the contract, she left. Quá khứ hoàn thành nhấn mạnh việc đã hoàn tất.
  • So sánh: When I arrived, they left (họ rời đi lúc tôi tới) và When I arrived, they had left (họ đã đi trước khi tôi tới).
Liên từCấu trúc thường gặpGhi chú
beforeS + had V3 + before + S + V2Việc trước dùng had V3
afterAfter + S + had V3, S + V2Việc trước nằm sau after
whenWhen + S + V2, S + had V3Nghĩa là "lúc đó việc kia đã xong"
by the timeBy the time + S + V2, S + had V3Rất hay gặp trong Part 5
untilS + hadn't V3 + until + S + V2Chưa ... cho đến khi

Quá khứ hoàn thành, quá khứ đơn hay hiện tại hoàn thành?

Ba thì này hay đứng cạnh nhau trong đáp án. Cách chọn là xác định mốc tham chiếu của câu: mốc là bây giờ thì dùng hiện tại hoàn thành; mốc là một lúc trong quá khứ thì việc xảy ra trước mốc đó dùng quá khứ hoàn thành; còn việc chỉ đơn giản xảy ra tại mốc quá khứ thì dùng quá khứ đơn.

  • since cũng đi được với quá khứ hoàn thành khi mốc tham chiếu là quá khứ: had worked here since 2010 (tính đến năm 2024).
  • Không dùng quá khứ hoàn thành khi câu chỉ có một việc trong quá khứ và không có mốc nào khác: The company had opened in 1990 là thiếu tự nhiên; chỉ cần opened.
  • Trong Part 6, nếu cả đoạn đang kể ở quá khứ đơn mà câu cần chọn nói về việc xảy ra trước đó nữa, đó là lúc dùng had + V3.
Mốc tham chiếuThìVí dụ
Bây giờ (since, so far, to date)Hiện tại hoàn thànhMs. Tran has worked here since 2010.
Một lúc trong quá khứ, việc kéo dài hoặc xảy ra trước đóQuá khứ hoàn thànhWhen Ms. Tran retired in 2024, she had worked here since 2010.
Tại mốc quá khứ, không có việc nào xảy ra trướcQuá khứ đơnMs. Tran retired in 2024.
by + mốc hiện tạiHiện tại hoàn thànhBy now, most guests have checked in.
by + mốc quá khứQuá khứ hoàn thànhBy noon yesterday, most guests had checked in.
Ví dụ
  • By the time the new CEO took over, the company had already lost two major clients.Khi tân giám đốc điều hành tiếp quản thì công ty đã mất hai khách hàng lớn.
  • The warehouse was empty because the last shipment had left the day before.Nhà kho trống vì chuyến hàng cuối đã rời đi từ hôm trước.

Quá khứ hoàn thành tiếp diễn

Dùng had been + V-ing để nhấn mạnh một hoạt động kéo dài cho đến (hoặc ngay trước) một thời điểm trong quá khứ, thường với for/since hoặc để giải thích nguyên nhân của một tình trạng trong quá khứ.

Ví dụ
  • The company had been operating at a loss for two years before it was acquired.Công ty đã làm ăn thua lỗ suốt hai năm trước khi bị mua lại.
  • The staff were tired because they had been preparing for the trade show all week.Nhân viên mệt vì họ đã chuẩn bị cho hội chợ thương mại suốt cả tuần.

Bị động ở quá khứ hoàn thành: had been + V3

Khi chủ ngữ là vật hoặc việc chịu tác động và việc đó đã hoàn tất trước một mốc quá khứ, dùng had been + V3. Dạng này hay gặp ở Part 5, đứng cạnh các đáp án gây nhiễu như had, has been, was being.

S + had been + V3 (+ by + tác nhân)
  • Sau chỗ trống không có tân ngữ, chủ ngữ là đồ vật: By the time we arrived, all the tickets ------- → had been sold.
  • Phân biệt với had + V3 chủ động: The manager had approved the plan (người duyệt là chủ ngữ) và The plan had been approved (kế hoạch được duyệt).
  • Các cụm hay gặp: had already been sent, had been cancelled, had been postponed, had been scheduled for, had not yet been confirmed.
Ví dụ
  • The order had already been shipped when the customer called to cancel it.Đơn hàng đã được gửi đi khi khách gọi đến để hủy.
  • The flight had been delayed twice before it was finally cancelled.Chuyến bay đã bị hoãn hai lần trước khi cuối cùng bị hủy.

Đảo ngữ: No sooner / Hardly

Văn phong trang trọng dùng đảo ngữ để nói "vừa mới ... thì ...". Mệnh đề đầu dùng quá khứ hoàn thành đảo trợ động từ, mệnh đề sau dùng quá khứ đơn.

No sooner + had + S + V3 + than + S + V2Hardly/Scarcely + had + S + V3 + when + S + V2
Ví dụ
  • No sooner had the store opened than customers rushed in.Cửa hàng vừa mở cửa thì khách hàng đã ùa vào.
  • Hardly had we launched the campaign when orders began to rise.Chúng tôi vừa tung chiến dịch thì đơn hàng bắt đầu tăng.

Had hoped, had expected, had intended: dự định không thành

Quá khứ hoàn thành của các động từ chỉ mong đợi, dự định (hope, expect, intend, plan, mean, want) diễn tả điều người nói đã mong hoặc đã định nhưng cuối cùng không xảy ra. Mẫu này rất hay xuất hiện trong email xin lỗi và thông báo đổi lịch ở Part 6, Part 7.

S + had hoped/expected/intended/planned + to V, but ...
  • Mệnh đề sau thường có but, however, unfortunately để nêu lý do kế hoạch thay đổi.
  • Nghĩa gần với was/were going to + V nhưng trang trọng hơn và nhấn mạnh sự tiếc nuối.
  • Với so sánh: lower than we had expected nghĩa là kết quả thấp hơn kỳ vọng trước đó, không có nghĩa là kết quả đã cao.
Ví dụ
  • We had hoped to complete the renovation by March, but the materials arrived late.Chúng tôi đã hy vọng hoàn tất việc cải tạo trước tháng Ba, nhưng vật liệu đến muộn.
  • The team had intended to launch the app in spring; however, testing took longer than expected.Nhóm đã định ra mắt ứng dụng vào mùa xuân; tuy nhiên, việc thử nghiệm mất nhiều thời gian hơn dự kiến.
  • Attendance at the fair was lower than the organizers had expected.Lượng khách đến hội chợ thấp hơn mức ban tổ chức đã dự kiến.

Mẹo làm bài TOEIC

  1. Mẫu ra đề quen thuộc: By the time + S + V2 (quá khứ đơn), S + had + V3. Ví dụ: By the time the manager arrived, the meeting ______ already → chọn had ended. Ngược lại, by the time + hiện tại đơn thì mệnh đề chính dùng will have V3 (xem bài tương lai).
  2. By + mốc quá khứ (by last Friday, by the end of 2022, by then) cũng là dấu hiệu quá khứ hoàn thành: By the end of last year, we had opened four branches.
  3. Nếu câu có hai việc trong quá khứ, việc xảy ra trước dùng had V3. Các từ gợi ý: before, after, already, just, never ... before, until, when.
  4. Trong Part 6, đoạn văn kể chuyện ở quá khứ đơn; câu cần chọn nhắc lại việc xảy ra trước đó (ví dụ khách hàng đã đặt hàng trước khi giá tăng) thì đáp án là had + V3.

Lỗi hay gặp

Sai: By the time we arrived, the presentation already finished.

Đúng: By the time we arrived, the presentation had already finished.

By the time + quá khứ đơn → mệnh đề chính dùng quá khứ hoàn thành.

Sai: She told me she has sent the invoice.

Đúng: She told me she had sent the invoice.

Tường thuật ở quá khứ, việc xảy ra trước đó lùi thành had V3.

Sai: No sooner had the meeting started when the power went out.

Đúng: No sooner had the meeting started than the power went out.

No sooner đi với than; hardly/scarcely mới đi với when.

Sai: We had been knowing the supplier for years.

Đúng: We had known the supplier for years.

Động từ trạng thái không dùng dạng tiếp diễn.

Bài tập có đáp án

  1. 1.By the time the auditors arrived, the accountant ------- all the receipts.

    1. (A) organizes
    2. (B) has organized
    3. (C) had organized
    4. (D) was organized
    Xem đáp án và giải thích

    Đáp án: (C) had organized

    By the time + quá khứ đơn → hành động xảy ra trước dùng quá khứ hoàn thành had organized. has organized là hiện tại hoàn thành, was organized là bị động nhưng có tân ngữ.

  2. 2.The flight ------- when we reached the gate, so we had to book another one.

    1. (A) has already departed
    2. (B) already departs
    3. (C) is already departing
    4. (D) had already departed
    Xem đáp án và giải thích

    Đáp án: (D) had already departed

    Chuyến bay cất cánh trước khi chúng tôi đến cổng (reached) → quá khứ hoàn thành had already departed. Các lựa chọn khác là thì hiện tại.

  3. 3.By the end of last year, Monarch Retail ------- twelve new stores across the Midwest.

    1. (A) has opened
    2. (B) had opened
    3. (C) opens
    4. (D) will have opened
    Xem đáp án và giải thích

    Đáp án: (B) had opened

    By the end of last year là mốc trong quá khứ → việc hoàn tất trước mốc đó dùng had opened. has opened và opens sai thì, will have opened dùng cho mốc tương lai.

  4. 4.The conference room was empty because the meeting ------- an hour earlier.

    1. (A) ends
    2. (B) has ended
    3. (C) is ending
    4. (D) had ended
    Xem đáp án và giải thích

    Đáp án: (D) had ended

    Cuộc họp kết thúc trước thời điểm phòng trống (was empty), có an hour earlier → had ended. has ended dùng mốc hiện tại.

  5. 5.Ms. Clark ------- for the company for twenty years when she retired in 2024.

    1. (A) has worked
    2. (B) had worked
    3. (C) works
    4. (D) is working
    Xem đáp án và giải thích

    Đáp án: (B) had worked

    Khoảng thời gian (for twenty years) kéo dài đến một mốc quá khứ (retired in 2024) → had worked. has worked chỉ kéo dài đến hiện tại.

  6. 6.The quarterly report ------- by the time the board members met on Thursday morning.

    1. (A) had been finalized
    2. (B) had finalized
    3. (C) has been finalized
    4. (D) is finalized
    Xem đáp án và giải thích

    Đáp án: (A) had been finalized

    Bản báo cáo được hoàn thiện trước mốc by the time the board members met → bị động quá khứ hoàn thành had been finalized. had finalized là chủ động, has been finalized và is finalized sai thì.

  7. 7.Fairmont Textiles ------- money for three consecutive years before a new CEO turned the business around.

    1. (A) has been losing
    2. (B) is losing
    3. (C) had been losing
    4. (D) loses
    Xem đáp án và giải thích

    Đáp án: (C) had been losing

    Hoạt động kéo dài for three consecutive years cho đến mốc quá khứ before a new CEO turned → had been losing. has been losing kéo dài đến hiện tại, is losing và loses sai thì.

  8. 8.The sales team was disappointed because they ------- to close the deal before the end of the quarter.

    1. (A) had expected
    2. (B) expect
    3. (C) have expected
    4. (D) are expecting
    Xem đáp án và giải thích

    Đáp án: (A) had expected

    Sự kỳ vọng có trước cảm giác thất vọng trong quá khứ (was disappointed) → had expected. Các thì hiện tại không khớp với mệnh đề chính.

  9. 9.No sooner had the shuttle left the hotel ------- it started to rain heavily.

    1. (A) than
    2. (B) when
    3. (C) then
    4. (D) that
    Xem đáp án và giải thích

    Đáp án: (A) than

    No sooner luôn đi với than. when dùng với hardly/scarcely, then và that không thuộc cấu trúc này.

  10. 10.Hardly had the technicians restarted the servers ------- the whole booking system crashed again.

    1. (A) than
    2. (B) when
    3. (C) then
    4. (D) so
    Xem đáp án và giải thích

    Đáp án: (B) when

    Hardly/Scarcely đi với when. than dùng với no sooner, then và so không thuộc cấu trúc này.

Bài tập luyện tập

60 câu kiểu Part 5, làm lần lượt từng câu, có lời giải ngay sau mỗi câu.

Bắt đầu luyện tập

Câu hỏi thường gặp

Thì quá khứ hoàn thành dùng khi nào?

Thì quá khứ hoàn thành (past perfect) dùng cho việc xảy ra và hoàn tất trước một việc khác hoặc một mốc thời gian trong quá khứ. Việc xảy ra trước dùng had + V3, việc xảy ra sau dùng quá khứ đơn: When I got to the airport, the flight had already departed. Thì này cũng xuất hiện trong câu tường thuật, câu điều kiện loại 3 và sau wish khi nói về quá khứ.

Công thức thì quá khứ hoàn thành là gì?

Khẳng định: S + had + V3/ed; phủ định: S + had not (hadn't) + V3; câu hỏi: Had + S + V3?. Had dùng cho mọi chủ ngữ, không đổi theo số ít hay số nhiều. Dạng bị động là had been + V3, dạng tiếp diễn là had been + V-ing.

Quá khứ hoàn thành khác quá khứ đơn như thế nào?

Quá khứ đơn kể việc xảy ra tại một thời điểm quá khứ; quá khứ hoàn thành lùi thêm một bước, nói về việc xảy ra trước thời điểm đó. So sánh When I arrived, they left (họ rời đi đúng lúc tôi đến) với When I arrived, they had left (họ đã đi trước khi tôi đến). Nếu câu chỉ có một việc trong quá khứ thì dùng quá khứ đơn là đủ.

Sau before và after có bắt buộc dùng quá khứ hoàn thành không?

Không bắt buộc. Vì before và after đã cho biết thứ tự hai việc, dùng quá khứ đơn cho cả hai vế vẫn đúng: After she signed the contract, she left. Quá khứ hoàn thành được dùng khi muốn nhấn mạnh việc trước đã hoàn tất: After she had signed the contract, she left. Ngược lại, với when và by the time thì thứ tự phụ thuộc vào thì, nên phải chọn đúng had + V3.

By the time đi với thì nào?

Tùy mốc thời gian. By the time + quá khứ đơn thì mệnh đề chính dùng quá khứ hoàn thành: By the time the auditors arrived, we had prepared all the documents. By the time + hiện tại đơn (nói về tương lai) thì mệnh đề chính dùng tương lai hoàn thành: By the time you receive this letter, the policy will have taken effect. Mệnh đề sau by the time không dùng will.

Quá khứ hoàn thành tiếp diễn khác quá khứ hoàn thành ra sao?

had been + V-ing nhấn mạnh một hoạt động kéo dài cho đến một mốc quá khứ, thường đi với for hoặc since, hoặc giải thích nguyên nhân của một tình trạng: The staff were tired because they had been preparing for the trade show all week. had + V3 nhấn mạnh việc đã hoàn tất hoặc số lượng đã xong: They had prepared three booths.