Thì quá khứ hoàn thành tiếp diễn thường được xem là một trong những nỗi ám ảnh của người học tiếng Anh bởi cấu trúc dài và cách dùng dễ nhầm lẫn. Tuy nhiên, đây lại là vũ khí bí mật giúp cách diễn đạt của bạn trở nên tự nhiên và chính xác hơn khi kể về các sự kiện trong quá khứ. Hãy cùng ELSA Speak ôn lại công thức và làm các bài tập thì quá khứ hoàn thành tiếp diễn dưới đây nhé!

Ôn tập nhanh thì quá khứ hoàn thành tiếp diễn

Hãy cùng ELSA Speak ôn tập lại các công thức của thì quá khứ hoàn thành tiếp diễn để củng cố kiến thức trước khi bắt đầu làm bài tập nhé!

Kiểm tra phát âm với bài tập sau:

{{ sentences[sIndex].text }}
Cải thiện ngay
Click to start recording!
Recording... Click to stop!
loading

Công thức thì quá khứ hoàn thành tiếp diễn

Loại câuCông thứcVí dụ
Khẳng định (+)S + had + been + V-ing.By 10 AM, I had been jogging for 2 hours. (Đến 10 giờ sáng, tôi đã chạy bộ được 2 tiếng rồi).
Phủ định (-)S + had + not + been + V-ing. (had not = hadn’t)She failed because she hadn’t been attending class. (Cô ấy trượt vì đã không tham gia lớp học suốt thời gian qua).
Nghi vấn (?)Had + S + been + V-ing?
Trả lời: 
– Yes, S + had.
– No, S + hadn’t.
Had you been waiting long before the taxi arrived? (Bạn có phải đợi lâu trước khi taxi đến không?)
Bảng tổng hợp công thức thì quá khứ hoàn thành tiếp diễn
Công thức thì quá khứ hoàn thành tiếp diễn
Công thức thì quá khứ hoàn thành tiếp diễn

Cách dùng phổ biến

Thì quá khứ hoàn thành tiếp diễn thường được dùng trong 2 trường hợp chính:

Cách dùng 1: Diễn tả một hành động xảy ra kéo dài liên tục trước một hành động khác trong quá khứ.

  • Hành động kéo dài dùng quá khứ hoàn thành tiếp diễn.
  • Hành động xảy ra sau (chặn lại hoặc làm mốc) dùng quá khứ đơn.

Ví dụ: They had been talking for an hour when I arrived. (Khi tôi đến, họ đã nói chuyện được một tiếng đồng hồ rồi.)

Cách dùng 2: Diễn tả nguyên nhân của một kết quả trong quá khứ.

Dùng để giải thích vì sao ai đó mệt, đồ vật bị hỏng, hay một hiện tượng nào đó, nhấn mạnh vào việc hành động đó vừa mới kết thúc và để lại hậu quả.

Ví dụ: Sam gained weight because he had been overeating. (Sam tăng cân vì anh ấy đã ăn quá nhiều)

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

Dưới đây là các từ khóa giúp bạn nhận diện nhanh thì này trong bài thi hoặc giao tiếp:

Từ chỉ thời gian kéo dài:

  • For + khoảng thời gian (for 2 hours, for 10 years…)
  • Since + mốc thời gian (since morning, since last week…)
  • All + thời gian (all day, all morning…)

Từ chỉ mốc thời gian/quan hệ thời gian:

  • Before (Trước khi)
  • When (Khi)
  • By the time (Vào lúc/Tính đến khi)
  • Until (Cho đến khi)
Dấu hiệu nhận biết thì quá khứ hoàn thành tiếp diễn
Dấu hiệu nhận biết thì quá khứ hoàn thành tiếp diễn

Tổng hợp bài tập về thì quá khứ hoàn thành tiếp diễn cơ bản

Dưới đây là các dạng bài tập giúp bạn làm quen với cấu trúc câu và phản xạ chia động từ.

Chia động từ trong ngoặc

  1. When I arrived, they (wait) ______ for over an hour.
  2. She was exhausted because she (work) ______ all day.
  3. The road was wet because it (rain) ______ heavily.
  4. We (sleep) ______ for 10 hours when he woke us up.
  5. They (live) ______ in Japan for 5 years before they moved to Vietnam.
  6. The child (cry) ______ for a long time before his mother came home.
  7. How long (you/learn) ______ English before you went to London?
  8. My eyes were tired because I (read) ______ on the computer for too long.
  9. By the time the police arrived, the thief (run) ______ for 20 minutes.
  10. Jason was tired because he (jog) ______ .
  11. Sam gained weight because he (overeat) ______ for weeks.
  12. The garden was flooded because the hose (run) ______ all night.
  13. I (look) ______ for my keys for ages before I found them in my pocket.
  14. She (drive) ______ for less than an hour when she ran out of petrol.
  15. They were tired because they (play) ______ football.

Đáp án:

  1. had been waiting (Hành động đợi kéo dài trước khi tôi đến).
  2. had been working (Nguyên nhân gây ra sự mệt mỏi trong quá khứ).
  3. had been raining (Giải thích lý do đường ướt).
  4. had been sleeping (Nhấn mạnh khoảng thời gian 10 tiếng).
  5. had been living (Hành động sống kéo dài 5 năm trước khi chuyển đi).
  6. had been crying
  7. had you been learning (Câu hỏi với How long).
  8. had been reading
  9. had been running
  10. had been jogging
  11. had been overeating
  12. had been running (Nước chảy từ vòi).
  13. had been looking
  14. had been driving
  15. had been playing

Lựa chọn phương án đúng để điền vào chỗ trống

  1. I was very tired when I got home because I ______ hard all day.
    A. worked
    B. had been working
    C. was working
  2. He ______ for her for 30 minutes when she finally arrived.
    A. had been waiting
    B. waited
    C. has waited
  3. When the teacher came, the students ______ noisily.
    A. had been talking
    B. were talking
    C. talked
  4. Everything was white. It ______ all night.
    A. snowed
    B. had been snowing
    C. has snowed
  5. She ______ the violin for ten years before she joined the orchestra.
    A. has been playing
    B. played
    C. had been playing
  6. By the time I saw him, he ______ drinking for hours.
    A. had been
    B. has been
    C. was
  7. They ______ to open the door for five minutes when they found the key.
    A. tried
    B. had been trying
    C. were trying
  8. We ______ along the road for 20 minutes when a car stopped.
    A. had been walking
    B. walked
    C. have walked
  9. Her eyes were red. It was obvious she ______.
    A. cried
    B. had been crying
    C. was crying
  10. At that time, Mr. John ______ in New York for 10 years.
    A. lived
    B. had been living
    C. was living
  11. The phone ______ for 5 minutes before someone answered it.
    A. rang
    B. had been ringing
    C. was ringing
  12. I ______ about that problem when you called me.
    A. thought
    B. had been thinking
    C. think
  13. Ken ______ smoking for 20 years when he finally quit.
    A. had been
    B. has been
    C. was
  14. ______ you ______ waiting long before the taxi arrived?
    A. Had / been
    B. Have / been
    C. Was / being
  15. The grass was yellow because it ______ all summer.
    A. hadn’t been raining
    B. hasn’t rained
    C. didn’t rain

Đáp án:

  1. B (Nhấn mạnh quá trình làm việc vất vả cả ngày dẫn đến mệt).
  2. A (Hành động chờ xảy ra liên tục trước khi cô ấy đến).
  3. A (Nhấn mạnh việc nói chuyện đã diễn ra một lúc trước khi giáo viên vào).
  4. B (Dấu hiệu kết quả: mọi thứ màu trắng → tuyết đã rơi suốt đêm).
  5. C (Trước mốc quá khứ joined là quá trình 10 năm).
  6. A (Had been + V-ing).
  7. B
  8. A
  9. B (Mắt đỏ là kết quả của việc khóc liên tục trước đó).
  10. B
  11. B
  12. B
  13. A
  14. A
  15. A (Nguyên nhân cỏ vàng là do trời KHÔNG mưa suốt mùa hè).

Hoàn thành câu

  1. waiting / She / for / hours / been / had / two / .
  2. raining / It / been / had / stopping / before / it / heavily / .
  3. they / studying / How long / before / had / exam / been / the / ?
  4. father / My / smoking / been / had / for / years / 30 / .
  5. looking / We / been / had / house / for / a / months / for / .
  6. because / tired / I / running / had / been / was / I / .
  7. working / company / the / She / been / had / for / at / since / 2005 / .
  8. not / They / paying / been / had / attention / .
  9. cooking / What / been / you / had / ?
  10. before / sleeping / baby / The / had / been / woke / up / he / .
  11. painting / been / He / room / the / had / all / morning / .
  12. TV / watching / been / children / The / had / not / .
  13. English / learning / been / She / had / for / years / five / .
  14. driving / We / been / had / since / o’clock / 6 / .
  15. crying / Why / she / been / had / ?

Đáp án:

  1. She had been waiting for two hours.
  2. It had been raining heavily before it stopped.
  3. How long had they been studying before the exam?
  4. My father had been smoking for 30 years.
  5. We had been looking for a house for months.
  6. I was tired because I had been running.
  7. She had been working at the company since 2005.
  8. They had not been paying attention.
  9. What had you been cooking?
  10. The baby had been sleeping before he woke up.
  11. He had been painting the room all morning.
  12. The children had not been watching TV.
  13. She had been learning English for five years.
  14. We had been driving since 6 o’clock.
  15. Why had she been crying?

Thêm các từ để các câu dưới đây có nghĩa

  1. It was noisy inside. The dog (bark) ______ for hours.
  2. He had a stomachache because he (eat) ______ too many sweets.
  3. She felt great because she (practice) ______ yoga all morning.
  4. When I quit my job, I (work) ______ there for 15 years.
  5. The boys had black eyes because they (fight) ______.
  6. We were good friends. We (know) ______ each other for years. (Lưu ý động từ tri giác)
  7. I was annoyed because I (wait) ______ for his call all day.
  8. The ground was wet. It (rain) ______?
  9. When we met, he (suffer) ______ from a cold for a week.
  10. She failed the exam because she (not/study) ______ hard enough.
  11. They (travel) ______ around Europe for months when they ran out of money.
  12. I (dream) ______ of this moment for a long time.
  13. My feet hurt. I (stand) ______ in the queue for too long.
  14. The kitchen was a mess. Who (cook) ______?
  15. By 2010, he (teach) ______ at this school for 20 years.

Đáp án:

  1. had been barking
  2. had been eating
  3. had been practicing
  4. had been working
  5. had been fighting
  6. had known (Lưu ý: Know là động từ trạng thái, KHÔNG dùng V-ing, nên lùi về Quá khứ hoàn thành đơn).
  7. had been waiting
  8. Had it been raining
  9. had been suffering
  10. had not been studying
  11. had been traveling
  12. had been dreaming
  13. had been standing
  14. had been cooking
  15. had been teaching

Tổng hợp bài tập về thì quá khứ hoàn thành tiếp diễn nâng cao

Tìm lỗi sai

  1. I had been knowing him for 10 years before he moved away.
  2. She was tired because she has been working all day.
  3. They had been playing soccer when it started to rain. (Lưu ý: Hành động đang xảy ra thì bị cắt ngang).
  4. He had been finishing his homework by 8 PM.
  5. How long have you been waiting before he came?
  6. The room was empty. Someone has been smoking here. (Ngữ cảnh quá khứ).
  7. We had been walking for hours, so we decided to rest. (Câu này đúng hay sai?) → Kiểm tra kỹ.
  8. Before I changed jobs, I had been worked there for a long time.
  9. It had rained for three days, so the roads were flooded. (Muốn nhấn mạnh quá trình).
  10. She failed because she had not practiced usually. → Cân nhắc dùng tiếp diễn.
  11. By the time the police came, the thief had been escaping.
  12. I asked him what he has been doing.
  13. They had been married for 20 years. (Dùng tiếp diễn có đúng không?)
  14. He was being sad because he had failed.
  15. The ground was wet because it rained.

Đáp án:

  1. Sai: had been knowing → Sửa: had known (Know là động từ trạng thái).
  2. Sai: has been working → Sửa: had been working (Mệnh đề kết quả was tired ở quá khứ).
  3. Sai: had been playing → Sửa: were playing (Hành động đang diễn ra bị hành động khác cắt ngang dùng quá khứ tiếp diễn, không phải quá khứ hoàn thành tiếp diễn – trừ khi có nhấn mạnh thời gian trước đó).
  4. Sai: had been finishing → Sửa: had finished (Finish là hành động dứt điểm, không kéo dài).
  5. Sai: have → Sửa: had (Before he came là quá khứ).
  6. Sai: has been smoking → Sửa: had been smoking (Dựa vào The room WAS empty).
  7. Đúng (Diễn tả nguyên nhân – kết quả trong quá khứ).
  8. Sai: had been worked → Sửa: had been working.
  9. Sai: had rained → Tốt hơn là: had been raining (Để nhấn mạnh quá trình 3 ngày liên tục gây ngập).
  10. Sai: had not practiced → Tốt hơn là: had not been practicing (Nhấn mạnh quá trình luyện tập).
  11. Sai: had been escaping → Sửa: had escaped (Kẻ trộm đã thoát xong rồi, kết quả).
  12. Sai: has been doing → Sửa: had been doing (Câu tường thuật lùi thì).
  13. Sai: had been married → Sửa: had been married (Giữ nguyên quá khứ hoàn thành vì marry dạng bị động trạng thái, không dùng V-ing ở đây với nghĩa quá trình kết hôn). Lưu ý: quá khứ hoàn thành tiếp diễn ít dùng với be married.
  14. Sai: was being → Sửa: was.
  15. Sai: rained → Sửa: had been raining (Giải thích nguyên nhân ướt đất).

Hoàn thành hội thoại

A: Why were you so out of breath when you arrived? 

B: Because I (1) ________ (run) to catch the bus.

A: Did you catch it? 

B: No, by the time I got to the station, the bus (2) ________ (leave). 

A: So how long (3) ________ (you/wait) for the next one? 

B: I didn’t wait. I (4) ________ (stand) there for 5 minutes when my dad called and picked me up. 

A: Lucky you! I (5) ________ (try) to call you but the line was busy.

Đáp án:

  1. had been running
  2. had left (Hành động chấm dứt hoàn toàn trước mốc thời gian → quá khứ hoàn thành).
  3. had you been waiting
  4. had been standing
  5. had been trying

Lựa chọn phương án đúng

  1. When I got home, water was everywhere. The pipe ______ .
    A. had burst (vỡ)
    B. had been bursting
  2. I was annoyed. I ______ for him for an hour.
    A. had waited
    B. had been waiting
  3. The house was clean. She ______ it for hours.
    A. had cleaned
    B. had been cleaning
  4. By the time I was 20, I ______ 10 countries.
    A. had visited
    B. had been visiting
  5. He was sweating. He ______ tennis.
    A. had played
    B. had been playing
  6. The book was on the table. Someone ______ it.
    A. had read
    B. had been reading
  7. I ______ to call you, but I lost my phone.
    A. had wanted
    B. had been wanting
  8. When she arrived, the concert ______ .
    A. had already started
    B. had already been starting
  9. They ______ business for 5 years before they went bankrupt.
    A. had done
    B. had been doing
  10. I ______ three apples before lunch.
    A. had eaten
    B. had been eating

Đáp án:

  1. A. had burst (Vỡ là hành động tức thời, để lại hậu quả, không kéo dài).
  2. B. had been waiting (Nhấn mạnh thời gian chờ đợi).
  3. B. had been cleaning (Nhấn mạnh quá trình lao động).
  4. A. had visited (Nhấn mạnh số lượng kết quả: 10 nước → Dùng quá khứ hoàn thành).
  5. B. had been playing (Nhấn mạnh nguyên nhân gây đổ mồ hôi).
  6. B. had been reading (Sách vẫn ở trên bàn, hành động đọc vừa mới kết thúc hoặc chưa xong hẳn).
  7. A. had wanted (Want không chia tiếp diễn).
  8. A. had already started (Sự kiện bắt đầu là dứt điểm).
  9. B. had been doing (Nhấn mạnh quá trình kinh doanh).
  10. A. had eaten (Nhấn mạnh số lượng 3 quả → quá khứ hoàn thành).

Lỗi thường gặp khi làm bài tập thì hiện tại hoàn thành tiếp diễn

Ngay cả những người học khá cũng thường mắc phải 3 lỗi sai kinh điển này: 

  • Nhầm lẫn với quá khứ hoàn thành (Past Perfect Simple): Khi đề cập đến số lượng (how many) hoặc số lần (how many times), ta dùng quá khứ hoàn thành. Khi nhấn mạnh thời gian (how long), ta dùng quá khứ hoàn thành tiếp diễn.
  • Dùng sai thì với động từ chỉ trạng thái (Stative Verbs): Các từ như know, like, believe, want, belong… không dùng ở thì tiếp diễn.
  • Không xác định được mốc thời gian quá khứ: Nhiều người học tiếng Anh dùng Have been V-ing (Hiện tại hoàn thành tiếp diễn) trong câu kể về quá khứ. Hãy nhìn kỹ mệnh đề đi kèm (Ví dụ: When he came, Before I left…) để lùi thì về quá khứ.
Lỗi thường gặp khi làm bài tập thì hiện tại hoàn thành tiếp diễn
Lỗi thường gặp khi làm bài tập thì hiện tại hoàn thành tiếp diễn

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

Khi nào bắt buộc dùng thì quá khứ hoàn thành tiếp diễn?

Khi bạn muốn giải thích nguyên nhân của một điều gì đó trong quá khứ và muốn người nghe chú ý đến việc hành động đó đã diễn ra liên tục và kéo dài.

Thì này khác gì với thì quá khứ hoàn thành?

  • Quá khứ hoàn thành: Nhấn mạnh kết quả (Đã làm xong việc gì).
  • Quá khứ hoàn thành tiếp diễn: Nhấn mạnh quá trình (Đã làm việc gì trong bao lâu).

Có thể thay bằng quá khứ tiếp diễn không?

Đôi khi có thể, nhưng nghĩa sẽ thay đổi.

  • Quá khứ tiếp diễn: Nhấn mạnh hành động đang xảy ra tại 1 thời điểm cụ thể (lúc 8h tối qua).
  • Quá khứ hoàn thành tiếp diễn: Nhấn mạnh hành động đã xảy ra và kéo dài ĐẾN KHI một hành động khác xảy ra.

Chinh phục bài tập thì quá khứ hoàn thành tiếp diễn sẽ giúp bạn giải quyết gọn gàng các ngữ pháp khó nhằn trong đề thi IELTS hay TOEIC. Đừng để độ dài của cấu trúc này làm bạn nản lòng. Đừng quên ôn luyện lại các lỗi sai thường gặp mà bài viết đã liệt kê để tránh mất điểm đáng tiếc. Hãy tham khảo danh mục các thì trong tiếng Anh của ELSA Speak để biết thêm nhiều bài viết chi tiết liên quan đến nhé!