Thì quá khứ hoàn thành (Past Perfect): khái niệm, công thức, cách dùng và bài tập có đáp án

Trong ngữ pháp tiếng Anh, thì quá khứ hoàn thành (Past Perfect) đóng vai trò quan trọng trong việc thể hiện mối quan hệ thời gian giữa các hành động xảy ra trong quá khứ. Nó giúp người sử dụng ngôn ngữ truyền tải thông tin một cách rõ ràng, logic và chính xác, góp phần nâng cao hiệu quả giao tiếp. Bài viết này, TalkFirst sẽ cung cấp khái niệm, công thức, cách dùng và bài tập có đáp án về thi quá khứ hoàn thành này nhé!

Tổng quan về thì quá khứ hoàn thành

1. Khái niệm thì quá khứ hoàn thành

Thì quá khứ hoàn thành (Past Perfect) diễn tả một hành động xảy ra trước một hành động khác trong quá khứ. Hành động xảy ra trước được thể hiện bằng thì quá khứ hoàn thành. Hành động xảy ra sau được thể hiện bằng thì quá khứ đơn.

Ví dụ:

  • I had never been on a plane.
    (Tôi chưa bao giờ đi máy bay.)
  • She had been learning French since she was a child.
    (Cô ấy đã học tiếng Pháp từ khi còn nhỏ.)

Tìm hiểu về: 12 thì trong tiếng Anh

2. Công thức thì quá khứ hoàn thành

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

Câu khẳng định

Cấu trúc: S + had + V3/ed

Ví dụ:

  • They had eaten all the food before we came. 
    (Họ đã ăn hết thức ăn trước khi chúng tôi tới.)
  • The party started after they had cooked for 3 hours. 
    (Bữa tiệc bắt đầu sau khi họ đã nấu ăn 3 tiếng.)

Câu phủ định

Cấu trúc: S + had not + V3/ed

Ví dụ:

  • The children hadn’t done any housework by the time we got home. 
    (Bọn trẻ vẫn chưa làm bất kỳ công việc nhà nào khi chúng tôi về đến nhà.)
  • He hadn’t  completed the task when his boss came back.  
    (Anh ấy vẫn chưa hoàn thành công việc khi sếp của anh ấy quay lại.)

Lưu ý: had not = hadn’t

Câu nghi vấn

Cấu trúc Yes/No: Had (not) + S + V3 + O?

  • Had our daughter finished her homework when you got home?
    (Con gái của chúng ta đã làm xong bài tập về nhà khi bạn về nhà chưa?) 
    ➥ Yes, she had.
  • Had the meeting ended before you called?
    (Buổi họp có kết thúc trước khi bạn gọi không?)
    ➥ No, it hadn’t.

Lưu ý với câu hỏi Yes/ No, ta sử dụng câu trả lời sau:

  • Yes, S + had. (Có)
  • No, S + hadn’t. (Không)

Cấu trúc Wh-question: Wh + had + S + V3 + O?

Ví dụ: 

  • What had they done by the time you entered the hall?
    (Họ đã làm gì vào thời điểm bạn bước vào hội trường?)
  • Where had the host gone when the event started?
    (Người dẫn chương trình đã đi đâu lúc sự kiện bắt đầu?) 

Lưu ý: Từ hỏi Wh-question là: What, Where, When, Why, How, Who, Whom.

3. Dấu hiệu nhận biết thì quá khứ hoàn thành

1. Hai mệnh đề được liên kết bởi một trong các liên từ chỉ thời gian như: before, after, when, by the time, by the end of + time in the past, as soon as, for + [khoảng thời gian],…

Ví dụ: 

  • I hadn’t had lunch when you came.
    (Tôi chưa ăn trưa khi bạn đến.)
  • After I finished my lesson, I went out with my friends.
    (Sau khi học xong bài, tôi đã đi chơi với bạn bè.)
  • She didn’t go to bed because it was too late.
    (Cô ấy không đi ngủ vì đã quá khuya.)

2. Thì quá khứ hoàn thành thường được dùng trong một mệnh đề ở trong một câu phức cùng với một mệnh đề khác dùng thì quá khứ đơn.

Dấu hiệu nhận biếtVí dụ
Mệnh đề 1 Quá khứ đơn, Mệnh đề 2 Quá khứ hoàn thànhWhen they called, we had cooked dinner.
(Khi họ gọi, chúng tôi đã ăn tối.)
Mệnh đề 1 Quá khứ hoàn thành, Mệnh đề 2 Quá khứ đơnThey had lived there until their son turned 10.
(Họ đã sống ở đó cho tới khi con trai họ lên 10.) 

Lưu ý: Khi hai mệnh đề cùng chủ ngữ và liên từ giữa chúng là ‘before’ hoặc ‘after’, ta có quyền lược bỏ chủ ngữ và biến động từ trong mệnh đề chứa ‘before’ hoặc ‘after’ thành V-ing.

Ví dụ:

  • He had called her many times before he left the city.
    (Anh ấy đã gọi cô ấy nhiều lần trước khi rời thành phố.) 
    ➥ He had called her many times before leaving the city. 
  • After they had washed the dishes, they watched TV.
    (Sau khi đã rửa bát, họ xem TV.) 
    ➥ After having washed the dishes, they watched TV. 

Đăng Ký Liền Tay
Lấy Ngay Quà Khủng

★ Ưu đãi lên đến 25%
Khi đăng ký khóa học tại TalkFirst

Đăng Ký Liền Tay
Lấy Ngay Quà Khủng

★ Ưu đãi lên đến 35%
Khi đăng ký khóa học tại TalkFirst

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

1. Diễn tả một hành động đã xảy ra và hoàn tất trước một hành động khác trong quá khứ.

  • Ví dụ: That customer had canceled his order by the time we contacted him. 
    (Khách hàng đó đã hủy đơn hàng trước khi chúng tôi liên lạc với anh ấy.)

2. Diễn tả một hành động đã xảy ra và kéo dài tới một mốc thời gian trong quá khứ.

  • Ví dụ: By the time he changed his job, he had worked for that company for 10 years. 
    (Tính đến thời điểm thay đổi công việc, anh ấy đã làm việc cho công ty đó được 10 năm.) 

3. Diễn tả một hành động xảy ra trước một thời điểm nhất định trong quá khứ.

  • Ví dụ: By 1998, that organization had built 219 houses for poor people. 
    (Trước 1998, tổ chức đó đã xây dựng 219 ngôi nhà cho người nghèo.)   

4. Sử dụng trong mệnh đề If câu điều kiện loại 3 để giả định về một điều trái với quá khứ.

  • Ví dụ: Last night, if you hadn’t left the door open, the burglar couldn’t have gotten in. 
    (Đêm qua, nếu anh không để cửa mở, tên trộm đã không thể vào được.)

5. Sử dụng trong câu ‘wish’ để thể hiện sự tiếc nuối về một điều/ hành động trong quá khứ.

  • Ví dụ: I wish I hadn’t talked to her like that. 
    (Tôi ước tôi đã không nói chuyện với cô ấy như thế.)
Cách dùng thì Quá khứ hoàn thành
Cách dùng thì quá khứ hoàn thành

Cùng tìm hiểu về các thì quá khứ khác:

5. 15 ví dụ thì quá khứ hoàn thành

1. By the end of last year, that team had won 5 prizes. 
(Trước cuối năm ngoái, đội đó đã thắng 5 giải thưởng.)

2. The meeting had ended before we got there. 
(Buổi họp đã kết thúc trước khi chúng tôi tới đó.)  

3. That employee hadn’t completed her task when our boss asked her about it. 
(Nhân viên đó chưa hoàn tất công việc khi sếp của chúng tôi hỏi cô ấy về nó.)  

4. After they had planted the new trees, they reopened the park. 
(Sau khi họ đã trồng những cái cây mới, họ mở lại công viên.)  

5. Our son had eaten a lot of cake before we went to their house. 
(Con trai chúng tôi đã ăn nhiều bánh ngọt trước khi chúng tôi đi đến nhà họ.)   

6. If I hadn’t gone to the party that night, I could have taken care of her.
(Nếu tôi không tới bữa tiệc vào đêm đó, tôi đã có thể chăm sóc cô ấy.)   

7. She wouldn’t feel tired now if she hadn’t stayed up late last night. 
(Bây giờ cô ấy đã không thấy mệt nếu cô ấy không thức khuya đêm qua.) 

8. If you had invited her to your party, she wouldn’t feel sad now.
(Nếu bạn mời cô ấy đến tiệc của bạn, bây giờ cô ấy đã không buồn.) 

9. I wish they hadn’t got on that plane. 
(Tôi ước họ đã không lên chiếc máy bay đó.) 

10. We wish we hadn’t sold our house then.
(Chúng tôi ước đã không bán nhà vào lúc đó.)  

11. Had our son finished cooking when you got home?
(Khi em/ anh về tới nhà, con trai chúng ta đã nấu ăn xong chưa?)

12. When I called you this morning, had you contacted that customer?
(Khi tôi gọi bạn sáng nay, bạn (trước đó) đã liên hệ với khách hàng đó chưa?) 

13. How long had he worked there before he left?
(Anh ấy đã làm ở đó bao lâu trước khi nghỉ?)

14. Where had you lived before you moved to this city? 
(Bạn đã sống ở đâu trước khi bạn chuyển tới thành phố này?)

15. Who(m) had you lived with before you started living alone? 
(Bạn đã sống với ai trước khi bạn bắt đầu sống một mình?) 

Xem thêm: 120+ ví dụ thì quá khứ hoàn thành

6. Phân biệt quá khứ đơn và quá khứ hoàn thành

Sau đây là bảng phân biệt quá khứ đơn và quá khứ hoàn thành:

Đặc điểmQuá khứ đơnQuá khứ hoàn thành
Định nghĩaDiễn tả một hành động đã xảy ra và kết thúc hoàn toàn trong quá khứ.Diễn tả một hành động đã xảy ra và hoàn thành trước một thời điểm hoặc hành động khác trong quá khứ.
Cấu trúcCâu khẳng định: S + was/ were + O
Câu phủ định: S + was/ were + not + O
Câu nghi vấn: Was/ Were + S + N/ Adj?
Câu khẳng định: S + had + V3
Câu phủ định: S + hadn’t + V3 (past participle)
Câu nghi vấn: Had + S + V3 (past participle)?
Dấu hiệu nhận biết– Các từ nối thời gian chỉ thời điểm cụ thể trong quá khứ: yesterday, last week/year/month, ago, in the past, before, after,…
– Các cụm từ chỉ thời gian: at 5 o’clock, on Monday, in 2020,…
– Các từ nối thời gian chỉ hai hành động xảy ra trong quá khứ: before, after, by the time, when, until, as soon as, since, for,…
– Hai hành động xảy ra trong quá khứ, một hành động xảy ra trước và một hành động xảy ra sau.
Ví dụI went to the park yesterday.
(Tôi đã đi công viên vào ngày hôm qua.)
By the time I arrived, she had already left. (Đến khi tôi đến, cô ấy đã đi rồi.)

Trang tự học tiếng Anh – Chia sẻ các bài học tiếng Anh Giao tiếp & tiếng Anh chuyên ngành miễn phí.

7. Bài tập về thì quá khứ hoàn thành

Bài tập 1: Chia các động từ trong ngoặc ở thì quá khứ hoàn thành

1. They________________ (sell) their house before we contacted them. 

2. By 2020, we________________ (export) 25000 products.  

3. They________________  (plant) 50 trees by the time we got there.

4. He________________  (win) many races before he retired in 1991. 

5. My mother________________ (use) that phone for 10 years before she bought a new one last week. 

6. After my brother________________ (cook) lunch, I cleaned up the kitchen  

7. Because he________________ (cheat) on her, she broke up with him.

Đáp án:

1. had sold
2. had exported
3. had planted
4. had won
5. had used
6. had cooked
7. had cheated

Bài tập 2: Chọn từ/ cụm thích hợp để điền vào chỗ trống

1. Where had you________ (go) before you got home?

A. go          B. gone        C. went           D. had hone

2. Jack and I ________ (bake) a cake before she bought this one.

A. baked           B. had bake           C. baking           D. had baked

3. After we had tidied our rooms, we________ (play) football. 

A. played         B. had played           C. were playing           D. play

4. How long had you________ (work) for that company before you left?

A. worked           B. been working          C. work          D. A và B

5. He had lived in that city for many years before we________ (meet) in 2018.

A. meet          B. had met          C. met          D. meeting

6. Anna, you________ (take) the money before you asked, right?

A. took          B. had take          C. had taken            D. had took 

7. They ________ (do) anything when we got there. 

A. didn’t do         B. hadn’t done           C. had done           D. did

Đáp án:

1. B
2. B
3. A
4. D
5. C
6. C
7. B

Bài tập 3: Chia các động từ trong ngoặc ở thì quá khứ đơn hoặc quá khứ hoàn thành

1. We________________ (cook) dinner before she brought us the soup. 

2. After having swum for a while, we________________ (build) some sand castles. 

3. After I________________ (work) here for 2 years, my boss gave me a promotion last month. 

4. We________________ (order) some pizzas after having worked all day

5. Before we got there, the meeting________________ (end). 

6. They________________ (buy) a lot of things before I told them to stop.  

7. By the end of last month, that employee________________ (meet) the sales target. 

Đáp án:

1. had cooked 
2. built
3. had worked
4. ordered
5. had ended
6. had bought 
7. had met

Bài tập 4: Nối mệnh đề ở cột bên trái với mệnh đề ở cột bên phải sao cho hợp lý

1. We had dated for nearly 8 yearsA. so I stopped trusting them. 
2. By the time we started our business,B. we started using plastic ones.
3. They called the policeC. after they had disappointed us many times.
4. They had lied to me so many times, D. they had opened many branches.
5. We ended our contract with that company E. they hadn’t started the meeting. 
6. Because the children had broken so many bowls, F. before we got married in 2025.  
7. When we got there, G. as their motorbike was stolen. 

Đáp án:

1. F
2. D
3. G
4. A
5. C
6. B
7. E

Bài tập 5: Sắp xếp các từ bên dưới để tạo thành các câu đúng

1. getting married/ before/ in 1999/ had dated/ they/ for many years.

2. played games/ had/ before/ they/ the children/ done their homework/ .

3. had/ by the end of last week/ sold many products/ that salesperson/ .

4. you/ before/ had/ went to bed/ locked the door/ you/ ?

5. came to the party/ they/ they/ had/ after/ had dinner/ .

6. last Sunday/ before/ heard a lot about him/ we/ first met him/ had/ we/ .

7. when/ read my message/ texted her again/ she/ I/ hadn’t/ . 

Đáp án:

1. They had dated for many years before getting married in 1999.  

2. The children had done their homework before they played games.  

3. That salesperson had sold many products by the end of last week.  

4. Had you locked the door before you went to bed? 

5. They came to the party after they had had dinner.  

6. We had heard a lot about him before we first met him last Sunday.  

7. She hadn’t read my message when I texted her again. 

Bài tập 6: Hãy tìm lỗi và sửa lại cho đúng

1. The Sales Department had meet their targets by the end of last quarters.

2. By the time we had arrived, another group had taken our table.  

3. We had talk for a while when she got there.  

4. My elder brother lived with my parents until he turned 25.  

5. By the age of 27, he travelled around the world. (Now he’s 29.)

6. They had discussed anything when I entered the meeting. 

7. She worked there for 3 years when she got promoted for the first time. 

Đáp án:

1. had meet → had met

2. had arrived → arrived

3. had talk → had talked

4. lived → had lived

5. travelled → had travelled  

6. had discussed → hadn’t discussed

7. worked → had worked

Bài tập 7: Chia các động từ trong ngoặc ở thì quá khứ hoàn thành hoặc quá khứ đơn để hoàn thành đoạn văn bên dưới

Last week, I________________ (go) camping with my friends (1). I________________ (not go) camping until then (2), so I________ always________ (look) forward to it (3). I________________ (prepared) a lot (4). Before the camping day, I________________ (buy) a lot of snacks (5). I________ also________ (wash) my tent (6). On the camping day, we________________ (have) a lot of fun (7). I really want to go camping again. 

Đáp án:

1. went
2. hadn’t gone
3. had always looked
4. had prepared 
5. had bought
6. had also washed
7. had

Bài tập 8: Đặt câu hỏi cho phần được gạch chân

1. She had worked for that company for 3 years until she decided to leave. 

2. He had gone to the mall with his friend before he came home. 

3. He had lived with his friend before he moved in with her. 

4. Our son had studied poorly before we encouraged him. 

5. They had sold 113 phones before we got there. 

6. They had called another company before they contacted us. 

7. She had watched this movie 5 times when I introduced it to her. 

Đáp án:

1. How long had she worked for that company until she decided to leave?

2. What had he done before he came home? 

3. Who(m) had he lived with before he moved in with her?  

4. How had our/ your son studied before we/ you encouraged him?  

5. How many phones had they sold before we/ you got there?

6. Who(m) had they called before they contacted us/ you? 

7. How many times had he watched this movie when you introduced it to her?

Bài tập 9: Viết lại các câu bên dưới với từ đã cho trước

1. He had called that customer before he entered the meeting. 

→ After… 

2. Someone had turned off the lights before we got out of the room.  

→ By the time… 

3. I checked the reports again after they had corrected them. 

→ Before… 

4. After he had worked for hours, he left home for the gym. 

→ After having… 

5. She had applied for many other jobs before she came to that interview. 

→ Before coming…  

Đáp án:

1. After he had called that customer, he entered the meeting.

2. By the time we got out of the room, someone had turned off the lights.  

3. Before I checked the reports again, they had corrected them.

4. After having worked for hours, he left home for the gym.

5. Before coming to this job interview, she had applied for many other jobs.

➢ Bài tập thì quá khứ hoàn thành

Hy vọng với bài viết hữu ích về thì quá khứ hoàn thành mà TalkFirst chia sẻ, có thể giúp bạn nắm chắc được ngữ pháp tiếng Anh, công thức cũng như cách vận dụng của thì quá khứ hoàn thành và không bị nhầm lẫn với các thì còn lại. Chúc bạn học tập thật tốt nhé!

Khóa học

Tiếng Anh Giao Tiếp Ứng Dụng

Nói tiếng Anh tự nhiên như tiếng Việt

Tiếng Anh cho người mất gốc

Giải pháp học tiếng Anh cho người mất gốc

Khóa tiếng Anh cho dân IT

Tiếng Anh chuyên biệt cho dân CNTT

Khóa Thuyết trình tiếng Anh

Thuyết trình tiếng Anh như tiếng Việt

Khóa luyện thi IELTS

Cam kết tăng 1 band điểm sau 1 khóa học

Khóa luyện thi IELTS Online

Học IELTS trực tuyến = Cam kết đầu ra

Khóa IELTS Writing Online

Học Writing cùng chuyên gia hàng đầu

Bài viết liên quan
Lớp học sáng tạo, giúp học viên ứng dụng tiếng Anh vào các tình huống thực tế

Đăng ký kiểm tra trình độ Miễn Phí
cùng chuyên gia Anh ngữ tại TalkFirst

100+ doanh nghiệp đồng hành
gameloft Hella
Coca-Cola Pepsi DHL Fedex
100+ doanh nghiệp đồng hành
gameloft Hella
Coca-Cola Pepsi DHL Fedex

ĐĂNG KÝ NGAY

Quý Anh/Chị để lại thông tin bên dưới để được hỗ trợ.
Liên hệ Hotline: 028 22 644 666 để được hỗ trợ ngay.

[Happy New Year 2025] Ưu đãi lên đến 35% học phí, cơ hội nhận học bổng tiếng Anh trị giá 4.000.000VNĐ và 2 tháng học tiếng Anh kỹ năng MIỄN PHÍ