Home Học tiếng AnhBài tập tiếng Anh Bài tập thì Quá khứ hoàn thành ( Có đáp án chi tiết)

Bài tập thì Quá khứ hoàn thành ( Có đáp án chi tiết)

by Admin

Trong tiếng Anh thì quá khứ hoàn thành có cách sử dụng khá phức tạp, dễ gây nhầm lẫn và khó khăn cho người học. Trước khi bắt đầu làm bài tập, chúng ta hãy cùng ôn qua một chút kiến thức cốt lõi nhất của thì quá khứ hoàn thành nhé:

Tóm tắt cách dùng thì quá khứ hoàn thành

1. Cách dùng

  • Diễn tả một hành động diễn ra trước một hành động khác trong quá khứ
  • Dùng mô tả hành động trước một thời gian xác định trong quá khứ
  • Sử dụng trong câu điều kiện loại III

Ví dụ: Hôm qua khi cô ấy đến, chúng tôi đã ăn trưa xong.

chúng tôi đã ăn trưa xong”: xảy ra trước, chia ở quá khứ hoàn thành

khi cô ấy đến”: xảy ra sau, chia ở quá khứ đơn

Câu hoàn chỉnh: Yesterday, we had had lunch when she arrived.

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

She hadn’t eaten so we went to a restaurant (Cô ấy chưa ăn, vì vậy chúng tôi đi tới một nhà hàng)

2. Dấu hiệu nhận biết

Từ nhận biết: until then, by the time, prior to that time, before, after, for, as soon as, by, …

Trong câu thường có các từ: before, after, when by, by the time, by the end of + time in the past …

Dấu hiệu: “after”

Hành động xảy ra trước – Thì Quá khứ hoàn thành.

Hành động xảy ra sau – Thì quá khứ đơn

Dấu hiệu: “before”

Sau “before” + Quá khứ đơn, Vế sau dùng quá khứ hoàn thành.

Dấu hiệu: when

“when” + quá khứ đơn, vế sau dùng Quá khứ hoàn thành.

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

The tornado knocked down the tree that we had plant ( Cơn lốc xoáy đã quật đổ cái cây mà chúng tôi đã trồng trước đó)

3. Công thức

+ S + had Ved/PII + O…

Trong đó:       S (subject): chủ ngữ

Had: trợ động từ

VpII: động từ phân từ II

Ex: I had watched this film before I went to bed yesterday.

(Tôi đã xem bộ phim này trước khi tôi đi ngủ ngày hôm qua)

– S + hadn’t Ved/PII + O…

Ex: My friend told me that she hadn’t learnt a lot before the test.

(Bạn tôi nói với tôi rằng cô ấy đã không học nhiều trước bài kiểm tra)

? Had + S + Ved/PII + O…?

Ex: Had she seen me before?

(Cô ấy đã gặp tôi trước đó đúng không?)

Bài tập thì quá khứ hoàn thành từ cơ bản tới nâng cao

I. Hoàn thành câu

  1. When Hoa arrived at the theater, the film ____________(start).
  2. He ____________ (live) in Laos before He went to Vietnam.
  3. After Lan ____________ (eat) the cake, Lan began to feel sick.
  4. If he ____________ (listen) to me, he would have got the job.
  5. Linh didn’t arrive until I ____________ (leave).
  6. After they ____________ (finish) lunch, they went out.
  7. The tree was dead because it ____________ (be) arid all summer.
  8. I ____________ (meet) him somewhere before.
  9. They were late for the flight because they ____________ (forget) their passports.
  10. Linh told me she ____________ (study) a lot before the exam.
  11. The leaf was yellow because it ____________ (not/rain) all summer.
  12. The lamp went off because I ____________ (not/pay) the electricity bill.
  13. Hoa____________ (not/do) her homework, so she was in trouble.
  14. She ____________ (not/eat) so we went to a restaurant.
  15. I couldn’t go into the cinema because I ____________ (not/bring) my tickets.
  16. He said that He ____________ (not/visit) the US before.
  17. Hoa and Lan ____________ (not/meet) before the exam.
  18. I ____________ (not/have) lunch when she arrived.
  19. She ____________ (not/use) smartphone before, so I showed her how to use it.
  20. Linh ____________ (not/study) for the exam, so she was very anxious.

Xem thêm: Bài tập thì quá khứ đơn có đáp án

II. Hoàn thành câu

  1. The tornado destroyed the tent that we (build) ____________.
  2. She (not / be) ____________ to Hanoi before 2018.
  3. When he went out to play, he (do / already) ____________ his homework.
  4. My sister ate all of the cake that our mum (make) ____________ .
  5. The nurse took off the plaster that she (put on) ____________ six weeks before.
  6. The waitress brought a drink that I (not / order) ____________ .
  7. I could not remember the song we (learn) ____________ three week before.
  8. The children collected mangos that (fall) ____________ from the tree.
  9. (she / phone) ____________ Nam before she went to see him in Laos?
  10. He (not / ride) ____________ a elephants before that day.

III. Sắp xếp các câu sau và chia động từ (nếu có)

  1. The/they/get/had/off/before/of/the/turn/light/office/out.
  2. By/begin/time/I/my/she/,/had/leave/the/quickly/work.
  3. After/finish/my/,/we/back/father/his/home/work/come.
  4. Before/go/had/an/novel/my/to/brother/read/interesting/he/bed.
  5. When/her/in/,/he/had/join/Linh/best friend/Bangkok/the/Ever/meet.
  6. Cuong/this/before/last night/had/text/he/went/translate/out.
  7. Hung/your/before/meet/had/email/he/use/you?
  8. When/I/arrive/had/hadn’t/my/lunch/parents.
  9. They/before/had/to/the meeting/speak/her.
  10. I/that/hadn’t/see/before/was/the man/sure/I.

IV. Tìm và sửa lỗi  sai (nếu có)

  1. I had finished lunch before my parents come.
  2. By the time I had found the key, I hadn’t got into the house.
  3. Up until that moment, my younger sister never believed in love.
  4. Sunny ate dinner so she wasn’t hungry.
  5. When Bob graduated in university, he was in New York for 5 years.
  6. She wishes her friends didn’t go to bed so early.
  7. My boyfriend didn’t meet me when I arrived.

V.  Bài tập khoanh vào đáp án đúng nhất của thì quá khứ hoàn thành

  1. By the time he came home, we ……. ( sleep)

A. had sleep

B.had slept

C. slept

D.have sleep

  1. I watched movie after I …….(complete) my homework.

A. have completed

B. had complete

C. had completed

D. completed

  1. My father ……..(go) out when my sister arrived in the zoo .

A. goes

B. have gone

C. has gone

D. had gone

  1. I ………(study) a little English before I went to Singapore.

A. study

B. had studied

C. had study

D. have studied

  1. Alice ________ a Vietnamese until he met Nam.

A. had never met

B. have never met

C. never met

D. never have met

  1. Before we took a look around the shops, we …..(have) lunch.

A. had had

B. had

C. have had

D. have

  1. (where / she / live)…… 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

  1. Before I went to bed, I …….(brush) my teeth

A. have brushed

B. had brushed

C. brushed

D. brush

  1. Before my mother came home, my brother…… (prepare) food on the table.

A. had prepared

B. have prepared

C. prepared

D. had prepare

10. If she …… (tell) me the truth yesterday, I would have helped her.

A. have tell

B. had told


D. tell

VI. Bài tập nâng cao thì quá khứ hoàn thành

  1. I was exhausted at the end of the test. I (write) ____________ for over three hours.
  2. When thieves stole my favourite leather wallet, I was really upset. I (have) ____________ it for over five years.
  3. Please step out of the truck, Mr.Đạt. Do you realise you (drive) ____________ at over 100mph?
  4. 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!
  5. 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.
  6. 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.
  7. It was a bit discomfiture to arrive at their house and find Linh looking so depressed. I think she (cry) ____________ before I got there.
  8. No-one even noticed when he got home. They (all watch) ____________ the favorite show on television.

Đáp án chi tiết


  1. had started
  2. had lived
  3. had eaten
  4. had listened
  5. had left
  6. had finished
  7. had been
  8. had met
  9. had forgotten
  10. had studied
  11. hadn’t rained
  12. hadn’t paid
  13. hadn’t done
  14. hadn’t eaten
  15. hadn’t brought
  16. hadn’t visited
  17. hadn’t met
  18. hadn’t had
  19. hadn’t used
  20. hadn’t studied


  1. had built
  2. had not been
  3. had already done
  4. had made
  5. had put on
  6. had not ordered
  7. had learned
  8. had fallen
  9. had she phoned
  10. had not ridden


  1. The light had turned off before they got out of the office.
  2. By the time I began my work, she had left quickly.
  3. After my father finished his work, we came back home.
  4. Before my brother went to bed, he had read an interesting novel.
  5. When Linh met her best friend in Bangkok, he had joined the Ever.
  6. Cuong had translated this text before he went out last night.
  7. Had Hung used your email before he met you?
  8. When my parents arrived, I hadn’t had lunch.
  9. They had spoken to her before the meeting.
  10. I was sure that I hadn’t seen the man before.


  1. come ➔ came
  2. had found ➔ found
  3. never believed ➔ had never believed
  4. ate ➔ had eaten
  5. was ➔ had been
  6. didn’t go ➔ hadn’t gone
  7. didn’t meet ➔ hadn’t met


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


  1. had been writing.
  2. had had.
  3. were driving.
  4. had already seen.
  5. had been working.
  6. was cooking.
  7. had been crying.
  8. were all watching.

Xem thêm: Bài tập thì tương lai hoàn thành có đáp án

Có thắc mắc hoặc câu hỏi nào các bạn hãy bình luận bên dưới để chúng ta cùng trao đổi nhé.

You may also like


Thu 07/06/2021 - 17:17

baif III) câu 1. the light đang bị động sao ko có BE hả AD ????

Quyên 16/04/2020 - 08:57

câu 3 mình tưởng để diễn tả hành động vừa xảy ra là người này vừa lái xe vượt tốc độ ảnh hưởng tới hiện tại là bị công an bắt thì phải dùng hiện tại hoàn thành chứ ạ?

Khánh Linh 16/04/2020 - 14:28

không bạn nhé. Nó đã hoàn thành trong quá khứ rồi.

Taekook 21/03/2020 - 21:24

Câu 3 V không phải là nhấn mạnh khoảng thời gian lái xe nên dùng quá khứ hoàn thành tiếp diễn ạ

Khánh Linh 22/03/2020 - 14:36

Hành động này đã tiếp diễn và kết thúc hoàn toàn trong quá khứ nên dùng quá khứ tiếp diễn chứ không dùng quá khứ hoàn thành tiếp diễn bạn nhé

Taekook 21/03/2020 - 21:22

Câu 2 không phải là nhấn mạnh khoảng thời gian lái xe nên dùng quá khứ hoàn thành tiếp diễn ạ

Bangtan 21/03/2020 - 21:19

Tại sao câu 3 V lại là quá khứ tiếp diễn ạ

Huy 25/10/2019 - 19:18

Tại sao đề bài 5 không đặt rõ ràng hơn?

Admin 26/10/2019 - 16:08

Đặt vậy để nhấn mạnh đó là bài tập tổng hợp nâng cao, còn không thì gọi là chia động từ trong ngoặc cũng được bạn

Linh 04/07/2019 - 11:57

Nếu bạn muốn nhấn mạnh ý sở hữu chiếc ví trong liên tục suốt 5 năm thì có thể dùng qkhttd nhé. Còn ở đây đáp án chỉ muốn thể hiện ý đã sở hữu chiếc ví 5 năm không có ý nhấn mạnh thì sử dụng thì qkht


Leave a Comment