Là một người đã và đang học ngữ pháp, tôi từng mất điểm oan khi chia sai động từ, sử dụng thì không phù hợp với ngữ cảnh, … Tuy nhiên, bạn đừng quá lo lắng, bởi theo kinh nghiệm của tôi, chỉ cần nắm vững cấu trúc, cách dùng và dấu hiệu nhận biết thì bài tập về thì quá khứ hoàn thành không còn là nỗi sợ nữa.
Trước khi bắt đầu, hãy xem qua những điểm quan trọng trong bài mà bạn cần nắm:
- Ôn tập lại lý thuyết về thì quá khứ hoàn thành.
- Thực hành các dạng bài tập về thì quá khứ hoàn thành từ cơ bản đến nâng cao.
Cùng thực hành để nắm vững kiến thức thôi nào!
1. Luyện tập kiến thức về thì quá khứ hoàn thành
Hãy cùng chuẩn bị kiến thức về thì quá khứ đơn trước khi bắt đầu làm bài tập:
Tóm tắt kiến thức |
1. Định nghĩa và cách dùng: Thì quá khứ hoàn thành là thì dùng để diễn tả một hành động xảy ra trước một hành động khác trong quá khứ. Cụ thể hơn những hành động diễn ra trước thì đó là: – Hai hành động cùng xảy ra trong quá khứ, ta dùng thì quá khứ hoàn thành cho hành động xảy ra trước và quá khứ đơn cho hành động xảy ra sau. – Hành động đã xảy ra và đã hoàn thành trước một thời điểm cụ thể trong quá khứ, hoặc trước một hành động khác cũng đã kết thúc trong quá khứ. – Hành động xảy ra như là điều kiện tiên quyết cho hành động khác. – Hành động xảy ra trong 1 khoảng thời gian trong quá khứ, trước 1 mốc thời gian khác. – Thì quá khứ hoàn thành còn được dùng trong câu điều kiện loại 3 để diễn tả hành động hoặc điều gì đó không có thực ở trong quá khứ. – Thì hiện tại hoàn thành rất thường xuyên đi cùng với thì quá khứ đơn. 2. Cấu trúc: (+) Thể khẳng định: S + had + Vp2. (-) Thể phủ định: S + had not/ hadn’t + Vp2. (?) Thể nghi vấn: – Câu có từ để hỏi: Từ để hỏi + had + S + Vp2 … ? – Câu không có từ để hỏi: Had + S + Vp2 … ? => Trả lời: Yes, S + had/ No, S + hadn’t. 3. Dấu hiệu nhận biết: After, before, by the time, by the end of + thời gian trong quá khứ …; for, as soon as, by, prior to that time, until then … |
Nếu bạn còn băn khoăn về lý thuyết, hãy xem ngay video dưới đây để hiểu rõ cấu trúc, cách sử dụng đúng của điểm ngữ pháp này.
2. Bài tập thực hành về thì quá khứ hoàn thành
Dưới đây là hơn 100 bài tập về thì quá khứ hoàn thành đã được tổng hợp từ những nguồn đáng tin cậy. Bài tập này giúp bạn củng cố kiến thức, nâng cao khả năng phản xạ và áp dụng vào bài thi một cách hiệu quả.
Trong bài này sẽ có các loại bài tập sau đây:
- Chia động từ trong ngoặc ở thì quá khứ hoàn thành.
- Viết lại câu dựa vào những từ cho sẵn, kết hợp thì quá khứ đơn và quá khứ hoàn thành.
- Chọn đáp án đúng với A, B, C, D.
- Hoàn thành đoạn văn.
Bài tập 1: Hãy chia các động từ trong khung đơn giản thành thì quá khứ hoàn thành
(Bài tập 1: Chia động từ trong ngoặc thành thì quá khứ hoàn thành)

- The tornado destroyed the tent that we (build) ……….
- She (not/ be) ………. to Hanoi before 2018.
- When he went out to play, he (do/ already) ………. his homework.
- My sister ate all of the cake that our mum (make) ……….
- The nurse took off the plaster that she (put on) ………. six weeks before.
- The waitress brought a drink that I (not/ order) ……….
- I could not remember the song we (learn) ………. three week before.
- The children collected mangos that (fall) ………. from the tree.
- (she/ phone) ………. Nam before she went to see him in Laos?
- He (not/ ride) ………. elephants before that day.
Xem đáp án
Đáp án | Giải thích |
1. had built | Ở đây, chúng ta sử dụng “had built” vì động từ “destroyed” xảy ra trước “built” trong quá khứ. |
2. had not been | “Had not been” được chọn vì nó diễn đạt hành động không xảy ra trước một điểm cụ thể trong quá khứ (2018). |
3. had already done | “Had already done” diễn đạt rằng việc làm bài tập đã hoàn thành trước một điểm cụ thể trong quá khứ (khi anh ấy đi chơi). |
4. had made | “Had made” được sử dụng để diễn đạt rằng việc làm bánh đã hoàn thành trước việc ăn bánh. |
5. had put on | “Had put on” được chọn vì hành động đặt bông băng đã xảy ra trước một điểm cụ thể trong quá khứ (sáu tuần trước). |
6. had not ordered | “Had not ordered” diễn đạt rằng việc đặt đồ uống chưa xảy ra trước khi bồi bàn mang đến. |
7. had learned | “Had learned” được sử dụng vì hành động học bài hát đã xảy ra trước một điểm cụ thể trong quá khứ (ba tuần trước). |
8. had fallen | “Had fallen” được chọn vì trái xoài đã rơi xuống trước khi trẻ con thu thập chúng. |
9. had she phoned | “Had phoned” được sử dụng vì việc gọi điện đã xảy ra trước việc đi thăm Nam ở Lào. |
10. had not ridden | “Had not ridden” diễn đạt rằng hành động đi xe Voi đã không xảy ra trước ngày đó. |
Bài tập 2: Viết lại câu sử dụng các từ cho sẵn, kết hợp thì quá khứ đơn và quá khứ hoàn thành
(Bài tập 2: Viết lại câu dựa vào những từ cho sẵn, kết hợp thì quá khứ đơn và quá khứ hoàn thành)
1. David had already gone home by the time we arrived.
⇒ Sau khi …………………………………………..…………..…………..……….
2. After having lunch, we explored the shops.
⇒ Prior to ……………………………………………………………………………
3. The light had extinguished before we departed the office.
⇒ Whenever ………………………………………………………………………
4. Following her thorough explanation, we commenced our tasks.
⇒ As of the moment ……………………………………………………………
5. When my mother arrived home, my father had already watered all the plants in the garden.
⇒ Prior to ……………………………………………………………………………
Xem đáp án
1. After David had left home, we arrived.
⇒ Giải thích: Trong câu gốc, “David had gone home” (David đã về nhà) xảy ra trước “we arrived” (chúng tôi đến). Bằng cách sử dụng “After” chúng ta làm nổi bật thứ tự của hai hành động trong quá khứ.
2. Prior to examining the shops, we had lunch.
⇒ Giải thích: Trong câu gốc, “We had lunch” (chúng ta đã ăn trưa) xảy ra trước “we took a look around the shops” (chúng ta đi xem quanh các cửa hàng). Để làm rõ sự chênh lệch thời gian, ta sử dụng “Before” và thì quá khứ hoàn thành “had had lunch”.
3. As we exited the office, the light had gone out.
⇒ Giải thích: Trong câu gốc, “The light had gone out” xảy ra trước “we got out of the office”. Khi viết lại, chúng ta sử dụng “When” để làm nổi bật thời điểm xảy ra sự kiện thứ hai.
4. By the time we began our work, she had clearly explained everything.
⇒ Giải thích: Trong câu gốc, “After she had explained everything clearly” (Sau khi cô ấy đã giải thích mọi thứ rõ ràng) và “we started our work” (chúng tôi bắt đầu công việc của mình) đều là hai hành động đã xảy ra trong quá khứ, nhưng để làm nổi bật thứ tự của chúng, chúng ta có thể sử dụng “By the time” (Đến lúc) để chỉ ra rằng việc giải thích đã xảy ra trước khi chúng ta bắt đầu công việc của mình.
5. Prior to my mother’s return, my father had watered all the plants in the garden.
⇒ Giải thích: Trong câu gốc, “My father had watered all the plants in the garden” xảy ra trước “my mother came home”. Khi viết lại, chúng ta sử dụng “Before” để chỉ ra thứ tự của hai sự kiện.
Exercise 3: Select the correct answer A, B, C, D
(Bài tập 3: Chọn đáp án đúng A, B, C, D)

1. When he arrived home, we had already slept.
- A. had sleep
- B. had slept
- C. slept
- D. have sleep
2. I watched a movie after completing my homework.
- A. have completed
- B. had complete
- C. had completed
- D. completed
3. My father had gone out when my sister arrived at the zoo.
- A. goes
- B. have gone
- C. has gone
- D. had gone
4. I had studied a bit of English before I went to Singapore.
- A. study
- B. had studied
- C. had study
- D. have studied
5. Alice hadn't learned Vietnamese until she met Nam.
- A. had never met
- B. have never met
- C. never met
- D. never have met
6. Before exploring the shops, we had lunch.
- A. had had
- B. had
- C. have had
- D. have
7. Where had she lived before she moved to Shanghai?
- A. Where did she live
- B. Where had she lived
- C. Where had she live
- D. Where she had lived
8. Before I went to bed, I had brushed my teeth.
- A. have brushed
- B. had brushed
- C. brushed
- D. brush
9. Before my mother arrived home, my brother had prepared food on the table.
- A. had prepared
- B. have prepared
- C. prepared
- D. had prepare
10. If she had told me the truth yesterday, I would have helped her.
- A. have tell
- B. had told
- C. to
- D. tell
Xem đáp án
Đáp án | Giải thích |
1. B | “By the time” thường đi kèm với thì quá khứ hoàn thành để chỉ ra rằng một hành động đã hoàn thành trước một điểm cụ thể trong quá khứ. Do đó, đáp án đúng là “had slept”. |
2. C | Thì quá khứ hoàn thành “had completed” được sử dụng vì hành động xem phim đã xảy ra sau hành động hoàn thành bài tập. |
3. D | Trong câu này, chúng ta sử dụng thì quá khứ hoàn thành “had gone” để chỉ rằng hành động “đi ra khỏi nhà” đã xảy ra trước sự kiện “chị tôi đã tới sở thú”. |
4. B | Thì quá khứ hoàn thành “had studied” được sử dụng để diễn đạt rằng việc học tiếng Anh đã xảy ra trước chuyến đi đến Singapore. |
5. A | Chúng ta sử dụng thì quá khứ hoàn thành “had never met” để diễn đạt rằng trước khi gặp Nam, Alice chưa từng gặp một người Việt Nam nào. |
6. A | Sử dụng “had had” để diễn đạt rằng việc ăn trưa đã hoàn thành trước khi chúng ta đi xem quanh các cửa hàng. |
7. B | Sử dụng thì quá khứ hoàn thành để hỏi về nơi cô ấy đã sống trước khi chuyển đến Shanghai. |
8. B | Đáp án đúng là “had brushed” được sử dụng để diễn đạt rằng việc đánh răng đã hoàn thành trước khi đi ngủ. |
9. A | Chúng ta sử dụng thì quá khứ hoàn thành “had prepared” vì hành động “prepare” xảy ra trước một sự kiện khác trong quá khứ (mẹ về nhà). Cấu trúc đúng là had + quá khứ phân từ. |
10. B | Sử dụng “had told” để biểu thị điều kiện giả định trong quá khứ: Nếu cô ấy đã nói sự thật, tôi đã giúp đỡ cô ấy. |
Exercise 4: Conjugate the appropriate verbs to fill in the blanks
(Bài tập 4: Chia động từ thích hợp để điền vào chỗ trống)
- I was exhausted at the end of the test. I (write) ………. for over three hours.
- When thieves stole my favorite leather wallet, I was really upset. I (have) ………. it for over five years.
- Please step out of the truck, Mr. Dat. Do you realize you (drive) ………. at over 100mph?
- We didn’t really want to go and see the film again. We (already see) ………. it twice – so we said “no” and we went to a shopping mall instead!
- I arrived over two hours late to the office and everyone in my company was working. Actually, they (work) ………. for over three hours on the new project and I felt really guilty.
- The kitchen was full of pans when we arrived. Loan was in the kitchen and she (cook) ………. a big meal for everyone at the party.
- 7It was a bit discomfiture to arrive at their house and find Linh looking so depressed. I think she (cry) ………. before I got there.
- No-one even noticed when he got home. They (all watch) ………. the favorite show on television.
Xem đáp án
Đáp án | Giải thích |
1. had been writing | Sử dụng “had been writing” để diễn đạt rằng việc viết đã bắt đầu trước một điểm cụ thể trong quá khứ và kéo dài cho đến thời điểm trước khi cảm giác mệt mỏi. |
2. had had | “I had had it” diễn đạt rằng sự sở hữu của ví da đã tồn tại (kể từ khi mua ví) cho đến trước thời điểm bị mất, thể hiện thời gian duy trì sở hữu. |
3. were driving | “Were driving” được sử dụng để diễn đạt rằng hành động lái xe đã xảy ra trong quá khứ, đặc biệt là tại thời điểm kiểm tra khiến cho việc lái xe với tốc độ hơn 100 mph. Thì quá khứ đơn “were driving” là lựa chọn đúng trong ngữ cảnh này. |
4. had already seen | “Had already seen” diễn đạt rằng việc xem phim đã kết thúc trước một điểm thời gian cụ thể ở quá khứ, làm cho quyết định không muốn xem lại. |
5. had been working | “Had been working” được sử dụng để mô tả một hành động đã bắt đầu trước một thời điểm cụ thể trong quá khứ và kéo dài cho đến một thời điểm khác trong quá khứ. |
6. was cooking | “Was cooking” diễn đạt rằng hành động nấu ăn đã bắt đầu và đang diễn ra khi chúng ta đến. |
7. had been crying | “Had been crying” được sử dụng để diễn đạt rằng hành động khóc đã xảy ra trước một sự kiện cụ thể (là lúc bạn đến). |
8. were all watching | “Had all been watching” diễn đạt rằng hành động xem truyền hình đã bắt đầu và kéo dài cho đến một thời điểm khác trong quá khứ, làm nổi bật một chuỗi hành động đã diễn ra. |
Exercise 5: Fill in the blank boxes with the appropriate verbs
(Bài tập 5: Chia động từ thích hợp vào chỗ trống)

- The leaf was yellow because it ………. (not/ rain) all summer.
- The lamp went off because I ………. (not/ pay) the electricity bill.
- Hoa ………. (not/ do) her homework, so she was in trouble.
- She ………. (not/ eat) so we went to a restaurant.
- I couldn’t go into the cinema because I ………. (not/ bring) my tickets.
- He said that He ………. (not/ visit) the US before.
- Hoa and Lan ………. (not/ meet) before the exam.
- I ………. (not/ have) lunch when she arrived.
- She ………. (not/ use) smartphone before, so I showed her how to use it.
- Linh ………. (not/ study) for the exam, so she was very anxious.
Xem đáp án
Đáp án | Giải thích |
1. hadn’t rained | “all summer” chỉ ra một khoảng thời gian trải dài từ đầu đến cuối mùa hè. Khi đó thì quá khứ hoàn thành được dùng nhằm diễn đạt rằng không có mưa xảy ra suốt cả mùa hè, dẫn đến lá cây chuyển sang màu vàng. |
2. hadn’t paid | Trong câu này, “lamp went off” (việc đèn tắt) xảy ra sau hành động “not paid the electricity bill” (không thanh toán hóa đơn điện). Dấu hiệu “because” (vì) cho biết có một mối quan hệ nguyên nhân – kết quả giữa việc không thanh toán hóa đơn và việc đèn tắt. Do đó, chúng ta sử dụng thì quá khứ hoàn thành “hadn’t paid” để diễn đạt rằng hành động không thanh toán đã hoàn thành trước khi đèn tắt. |
3. hadn’t done | Hoa in trouble (gặp rắc rối) vì cô ấy not done her homework (không làm bài tập). Dấu hiệu “so” cho biết có một mối quan hệ nguyên nhân – kết quả giữa việc không làm bài tập và tình trạng rắc rối của Hoa. Do đó, chúng ta sử dụng thì quá khứ hoàn thành “hadn’t done” để diễn đạt rằng hành động không làm bài tập đã hoàn thành trước khi Hoa gặp rắc rối. |
4. hadn’t eaten | Việc quyết định đi đến nhà hàng xuất phát từ việc cô ấy không ăn. Dấu hiệu “so” cho biết có một mối quan hệ nguyên nhân – kết quả giữa việc không ăn và quyết định đi ăn ở nhà hàng. Vì vậy, chúng ta sử dụng thì quá khứ hoàn thành “hadn’t eaten” để diễn đạt rằng hành động không ăn đã hoàn thành trước quyết định đi đến nhà hàng. |
5. hadn’t brought | I couldn’t go into the cinema (Tôi không thể vào rạp) là kết quả của việc hadn’t brought my tickets (không mang theo vé). Dấu hiệu “because” cho biết có một mối quan hệ nguyên nhân – kết quả giữa việc không mang theo vé và việc không thể vào rạp. Khi đó, ta dùng thì quá khứ hoàn thành “hadn’t brought” nhằm diễn đạt rằng hành động không mang theo vé đã hoàn thành trước khi không thể vào rạp. |
6. hadn’t visited | “He said that” (Anh ấy nói rằng) cho biết chúng ta đang trích dẫn lời nói của ai đó trong quá khứ. Hành động hadn’t visited the US (không ghé thăm Hoa Kỳ) đã hoàn thành trước thời điểm người nói nói chuyện. Sử dụng thì quá khứ hoàn thành giúp chúng ta diễn đạt hành động đã hoàn thành trước một điểm thời gian khác trong quá khứ. |
7. hadn’t met | “Before the exam” (trước kỳ thi) là một dấu hiệu cho thấy sự liên quan đến thời gian trong quá khứ. Sử dụng thì quá khứ hoàn thành “hadn’t met” giúp diễn đạt rằng Hoa và Lan chưa gặp nhau trước thời điểm kỳ thi diễn ra. |
8. hadn’t had | “When she arrived” (khi cô ấy đến) chỉ ra một thời điểm cụ thể trong quá khứ. Sử dụng thì quá khứ hoàn thành “hadn’t had” giúp diễn đạt rằng tôi không ăn trưa trước khi cô ấy đến, và hành động này đã hoàn thành trước thời điểm đó. |
9. hadn’t used | “Before” (trước đó) là một dấu hiệu thời gian trong quá khứ. Sử dụng thì quá khứ hoàn thành “hadn’t used” giúp diễn đạt rằng trước đó, cô ấy chưa từng sử dụng điện thoại thông minh, và hành động này đã hoàn thành trước khi tôi chỉ cho cô ấy cách sử dụng nó. |
10. hadn’t studied | “For the exam” (cho kỳ thi) là một dấu hiệu thời gian cụ thể trong quá khứ. Sử dụng thì quá khứ hoàn thành “hadn’t studied” giúp diễn đạt rằng Linh không học trước kỳ thi, và hành động này đã hoàn thành trước khi cô ấy trở nên rất lo lắng. |
Download the collection of exercises on the past perfect tense to enhance your grammar knowledge. The materials include diverse and interesting questions to help you practice using the past perfect tense flexibly and accurately.
4. Conclusion
Regularly practicing exercises on the past perfect tense helps you reinforce and master grammar. To achieve the highest scores and avoid mistakes, pay attention to:
- Nằm lòng các dấu hiệu nhận biết của thì quá khứ hoàn thành.
- Xác định đúng chủ ngữ trong câu để chia động từ chính xác.
- Các câu có sự xuất hiện của trợ động từ thì động từ đi theo sau phải chia ở dạng nguyên mẫu.
When doing exercises, if you haven't achieved the best score, take time to review the mistakes you encounter. This is a way to avoid unfair deductions in subsequent exercises.
Best wishes in studying English grammar. If you have any questions, feel free to comment below the article or contact Mytour's team of teachers. We are always ready to support you!References:- Past perfect: https://www.grammarly.com/blog/past-perfect/ – Accessed 26 Feb. 2024.