Tóm tắt nhanh: Thì quá khứ hoàn thành tiếp diễn (Past Perfect Continuous) diễn tả một hành động đã diễn ra liên tục trong một khoảng thời gian cho đến (hoặc ngay trước) một thời điểm hay một sự việc khác trong quá khứ, nhấn mạnh quá trình và độ dài. Công thức: S + had been + V-ing; phủ định had not been + V-ing; câu hỏi Had + S + been + V-ing? Dấu hiệu: for, since, all day, How long…, đi cùng before, when, by the time. Thì này còn dùng để giải thích nguyên nhân của một kết quả trong quá khứ.
Thì quá khứ hoàn thành tiếp diễn là gì?
Thì quá khứ hoàn thành tiếp diễn (Past Perfect Continuous) là thì dùng để nói một việc đã kéo dài bao lâu tính đến một mốc trong quá khứ. Nó là "phiên bản lùi về quá khứ" của thì hiện tại hoàn thành tiếp diễn: thay vì tính đến bây giờ, ta tính đến một lúc đã qua.
Ví dụ: They had been playing for two hours when it started to rain. (Họ đã chơi được 2 tiếng thì trời đổ mưa.) — Việc chơi kéo dài 2 tiếng, rồi mốc "trời mưa" xảy ra.
The ground was wet because it had been raining. (Mặt đất ướt vì trời đã mưa.) — Cơn mưa kéo dài để lại kết quả là mặt đất ướt.
Nói thật với cha mẹ: đây là một trong những thì ít gặp nhất trong giao tiếp hằng ngày, nhất là với trẻ nhỏ. Con sẽ gặp nó chủ yếu khi đọc truyện, làm bài câu gián tiếp và đề thi ở bậc THCS, THPT.
Công thức thì quá khứ hoàn thành tiếp diễn
Công thức gồm ba phần cố định: had + been + V-ing. Giống thì quá khứ hoàn thành, had dùng chung cho mọi chủ ngữ, còn been luôn giữ nguyên, không bao giờ đổi thành was/were hay being.
Đừng nhầm với bị động: had been + V-ing là chủ động tiếp diễn, had been + V3 là bị động của quá khứ hoàn thành.
Khi nào dùng thì quá khứ hoàn thành tiếp diễn?
Thì quá khứ hoàn thành tiếp diễn có 4 cách dùng. Mẹo nhận diện: câu đang kể chuyện quá khứ, có một mốc (thời điểm hoặc sự việc) và người nói muốn trả lời câu hỏi "việc đó đã diễn ra bao lâu rồi?" hoặc "vì sao lại thế?".
1. Hành động kéo dài liên tục đến một mốc trong quá khứ
Dùng khi muốn nhấn mạnh độ dài của một việc tính đến lúc một việc khác xảy ra. Thường có for + khoảng thời gian hoặc since + mốc, đi kèm when, before, by the time. Việc đó có thể dừng đúng lúc ấy hoặc vẫn tiếp tục sau đó.
- Lan had been practising the piano for an hour when her friends arrived. — Lan đã tập đàn được một tiếng thì các bạn đến.
- By the time I got there, they had been talking for ages. — Khi tôi đến nơi, họ đã nói chuyện rất lâu rồi.
2. Nguyên nhân, dấu vết của một kết quả trong quá khứ
Một việc vừa diễn ra trong một khoảng thời gian và để lại dấu hiệu thấy được ở thời điểm quá khứ: mệt, ướt, bẩn, mắt đỏ… Mệnh đề kết quả dùng quá khứ đơn, mệnh đề nguyên nhân dùng quá khứ hoàn thành tiếp diễn.
- His clothes were dirty because he had been playing in the mud. — Quần áo cậu bé bẩn vì đã nghịch bùn.
- Her eyes were red. She had been crying. — Mắt cô bé đỏ hoe. Cô bé vừa khóc.
3. Hành động lặp đi lặp lại đến một mốc quá khứ
Thì này còn dùng cho một việc lặp lại nhiều lần trong một khoảng thời gian trước mốc quá khứ, thường mang sắc thái phàn nàn hoặc nhấn mạnh sự dai dẳng.
- She had been calling me all morning, so I finally answered. — Cô ấy gọi cho tôi suốt cả buổi sáng nên cuối cùng tôi đã nghe máy.
- He had been coming to school late for weeks before his teacher talked to his parents. — Cậu ấy đi học muộn suốt mấy tuần thì cô giáo mới gặp phụ huynh.
4. Lùi thì trong câu gián tiếp và câu điều kiện loại 3
Khi tường thuật bằng said, told, thì hiện tại hoàn thành tiếp diễn và quá khứ tiếp diễn có thể lùi thành quá khứ hoàn thành tiếp diễn (xem sơ đồ tư duy câu gián tiếp). Ở trình độ cao hơn, mệnh đề if loại 3 cũng có thể dùng dạng tiếp diễn này.
- "I have been learning English for three years," said Mai. → Mai said she had been learning English for three years. — Mai nói bạn ấy đã học tiếng Anh được 3 năm.
- If he hadn't been playing games all night, he wouldn't have felt so tired. — Nếu cậu ấy không chơi game cả đêm thì đã không mệt đến thế.
Quy tắc thêm -ing và động từ không dùng dạng tiếp diễn
Phần V-ing tuân theo quy tắc chung: thêm -ing (play → playing); bỏ e câm rồi thêm -ing (write → writing); nhân đôi phụ âm cuối với động từ một âm tiết dạng phụ âm–nguyên âm–phụ âm (run → running, swim → swimming); đổi ie thành y (lie → lying).
Các động từ trạng thái như know, believe, like, love, want, own, belong, understand thường không dùng dạng tiếp diễn. Khi cần nói "đã… được bao lâu" với những động từ này, hãy dùng thì quá khứ hoàn thành: They had known each other for ten years. (không nói "had been knowing").
Dấu hiệu nhận biết thì quá khứ hoàn thành tiếp diễn
Thì này thường xuất hiện khi trong câu có một cụm chỉ khoảng thời gian và một mốc quá khứ cùng lúc:
- for + khoảng thời gian: for two hours, for ages, for a long time.
- since + mốc: since morning, since 2015 (trong ngữ cảnh quá khứ).
- all + thời gian: all day, all night, all morning, the whole afternoon.
- Mốc quá khứ: before, when, by the time, until + mệnh đề quá khứ đơn.
- Câu hỏi: How long had … been + V-ing … before/when …?
- Dấu hiệu kết quả: tired, wet, dirty, out of breath, red eyes ở mệnh đề quá khứ đơn đi kèm because.
Vị trí: trạng từ như just, already ít dùng với thì này; nếu có, chúng đứng sau had (had just been eating). Cụm for/since thường đứng sau V-ing hoặc cuối mệnh đề.
Những lỗi sai thường gặp với thì quá khứ hoàn thành tiếp diễn
- ❌ They had been play games for hours. → ✅ They had been playing games for hours. (sau been phải là V-ing)
- ❌ He had being working there since 2015. → ✅ He had been working there since 2015. (luôn là been, không phải being)
- ❌ I had been knowing him for a long time. → ✅ I had known him for a long time. (know là động từ trạng thái)
- ❌ By 2020, my dad had been writing four books. → ✅ By 2020, my dad had written four books. (đếm số lượng hoàn thành → quá khứ hoàn thành)
- ❌ I had been learning English for three years now. → ✅ I have been learning English for three years. (mốc là "bây giờ" → hiện tại hoàn thành tiếp diễn)
- ❌ She was tired because she was running. → ✅ She was tired because she had been running. (việc chạy xảy ra trước và gây ra cái mệt)
Thì quá khứ hoàn thành tiếp diễn khác quá khứ hoàn thành thế nào?
Quá khứ hoàn thành (had + V3) nhấn mạnh kết quả, sự hoàn tất, số lượng; quá khứ hoàn thành tiếp diễn (had been + V-ing) nhấn mạnh quá trình, thời gian kéo dài, và việc có thể chưa xong. Câu hỏi đi kèm thường là How many / How much? cho had + V3, và How long? cho had been + V-ing.
- She had painted the room. — Cô ấy đã sơn xong căn phòng. (kết quả: phòng đã sơn xong)
- She had been painting the room, so her hands were covered in paint. — Cô ấy đã sơn phòng nên tay dính đầy sơn. (quá trình, có thể chưa xong)
- By lunchtime, I had read 50 pages. — Đến giờ trưa, tôi đã đọc được 50 trang. (số lượng)
- By lunchtime, I had been reading for three hours. — Đến giờ trưa, tôi đã đọc suốt 3 tiếng. (độ dài)
So với thì quá khứ tiếp diễn: When I arrived, she was cooking (lúc tôi đến, cô ấy đang nấu) khác When I arrived, she had been cooking for an hour (đến lúc đó cô ấy đã nấu được một tiếng).
Trong nhiều câu, cả hai thì đều đúng ngữ pháp và chỉ khác sắc thái. Trong đề thi, hãy tìm "chìa khoá": có số lượng cụ thể → had + V3; có for/all day kèm dấu hiệu mệt, bẩn, ướt → had been + V-ing.
Mẹo giúp con học thì quá khứ hoàn thành tiếp diễn
Thì quá khứ hoàn thành tiếp diễn hiếm khi xuất hiện trong lời nói của trẻ nhỏ, ngay cả trẻ bản xứ. Với con dưới 10 tuổi, cha mẹ không cần dạy thì này; hãy ưu tiên quá khứ đơn và quá khứ tiếp diễn. Thì này phù hợp với học sinh THCS, THPT và người lớn đang ôn thi hoặc luyện viết:
- Trò "Thám tử" giải thích dấu vết: cha mẹ mô tả Your brother was out of breath. His shoes were muddy., con suy luận He had been running in the park. Trò này luyện đúng cách dùng thứ hai một cách vui vẻ.
- Hỏi "How long… when…?": khi kể chuyện cũ trong gia đình, hỏi con How long had you been waiting when Dad picked you up? để con trả lời đủ câu.
- Đặt trên trục thời gian: vẽ một đoạn dài (quá trình, had been + V-ing) kết thúc ở một chấm (mốc quá khứ, V2). Hình đoạn thẳng giúp con phân biệt với chấm đơn lẻ của had + V3.
- Luyện câu gián tiếp theo cặp: cha mẹ nói một câu hiện tại hoàn thành tiếp diễn (I have been working all day), con tường thuật lại (Mom said she had been working all day).
- Cha mẹ tự luyện: với người lớn, viết nhật ký ngắn bằng tiếng Anh về một ngày bận rộn là cách hay để dùng thì này tự nhiên, ví dụ I had been working for ten hours when I finally got home.
Bài tập thì quá khứ hoàn thành tiếp diễn có đáp án
Bài 1: Chia động từ ở thì quá khứ hoàn thành tiếp diễn
- They (play) ___ football for two hours when it started to rain.
- Her eyes were red because she (cry) ___.
- How long ___ you (wait) ___ before the bus came?
- We were exhausted because we (walk) ___ all afternoon.
- He (not/sleep) ___ well, so he felt tired at school.
- By the time Mom got home, the kids (watch) ___ cartoons for three hours.
- I (learn) ___ the piano for five years before I took my first exam.
- The road was wet. It (rain) ___ all night.
Bài 2: Chọn quá khứ hoàn thành hay quá khứ hoàn thành tiếp diễn
- By noon, Nam (had written / had been writing) three emails.
- Nam was tired because he (had written / had been writing) emails all morning.
- I (had known / had been knowing) her for years before we became best friends.
- When I got home, Mom (had cooked / had been cooking) dinner, so we ate right away.
- Her hands were dirty because she (had planted / had been planting) flowers in the garden.
- She (had read / had been reading) the book twice before the test.
Bài 3: Tìm và sửa lỗi sai
- They had been play games for hours.
- He had being working there since 2015.
- I had been knowing him for a long time.
- By 2020, my dad had been writing four books.
Bài 4: Viết lại câu
- I started waiting at 6 p.m. The bus came at 7 p.m. (I had been… when…)
- Lan started studying at 8 a.m. Her friend called at 10 a.m. (Lan had been… when…)
- "I have been practising the guitar," said Minh. (Minh said that…)
Đáp án
- Bài 1: 1. had been playing — 2. had been crying — 3. had … been waiting — 4. had been walking — 5. hadn't been sleeping — 6. had been watching — 7. had been learning — 8. had been raining
- Bài 2: 1. had written (có số lượng) — 2. had been writing (quá trình gây mệt) — 3. had known (động từ trạng thái) — 4. had cooked (bữa tối đã xong, ăn ngay) — 5. had been planting (dấu vết tay bẩn) — 6. had read (số lần)
- Bài 3: 1. play → playing — 2. being → been — 3. had been knowing → had known — 4. had been writing → had written
- Bài 4: 1. I had been waiting for an hour when the bus came. — 2. Lan had been studying for two hours when her friend called. — 3. Minh said that he had been practising the guitar.
Câu hỏi thường gặp về thì quá khứ hoàn thành tiếp diễn
Thì quá khứ hoàn thành tiếp diễn có hay được dùng không?
Không nhiều. Trong hội thoại hằng ngày, thì này khá hiếm; người bản xứ thường dùng quá khứ đơn hoặc quá khứ hoàn thành thay thế khi ngữ cảnh đã rõ. Thì này xuất hiện nhiều hơn trong văn kể chuyện, tiểu thuyết, câu gián tiếp và các bài thi ngữ pháp, viết luận.
"Had been + V-ing" và "had been + V3" khác nhau thế nào?
Had been + V-ing là thì quá khứ hoàn thành tiếp diễn ở dạng chủ động: She had been cleaning the room (cô ấy đã dọn phòng). Had been + V3 là bị động của quá khứ hoàn thành: The room had been cleaned (căn phòng đã được dọn). Xem thêm sơ đồ tư duy câu bị động.
Thì này khác hiện tại hoàn thành tiếp diễn ở điểm nào?
Chỉ khác mốc tính. Hiện tại hoàn thành tiếp diễn tính đến bây giờ: I have been waiting for an hour. Quá khứ hoàn thành tiếp diễn tính đến một lúc trong quá khứ: I had been waiting for an hour when she arrived. Khi tường thuật lại, have been lùi thành had been.
Học sinh lớp mấy cần học thì quá khứ hoàn thành tiếp diễn?
Thì này thường được giới thiệu ở cuối cấp THCS hoặc THPT, tuỳ bộ sách, và hay xuất hiện trong bài câu gián tiếp, bài chọn thì trong đề thi. Trẻ tiểu học chưa cần học. Cha mẹ nên đảm bảo con vững quá khứ đơn, quá khứ hoàn thành trước khi chuyển sang thì này.
Tổng kết
Thì quá khứ hoàn thành tiếp diễn (S + had been + V-ing) giúp nói rõ một việc đã kéo dài bao lâu trước một mốc quá khứ, hoặc giải thích nguyên nhân của một kết quả đã qua. Hãy nhớ hai mẹo: có số lượng thì dùng quá khứ hoàn thành, có độ dài và dấu vết thì dùng dạng tiếp diễn; và không dùng với động từ trạng thái. Xem lại toàn cảnh trong sơ đồ tư duy 12 thì trong tiếng Anh, ôn bài trước về thì quá khứ hoàn thành, rồi chuyển sang nhóm thì tương lai với bài thì tương lai đơn (Future Simple).
Tài liệu tham khảo: Raymond Murphy, English Grammar in Use (Cambridge University Press); Michael Swan, Practical English Usage (Oxford University Press); Cambridge Dictionary — English Grammar Today. Cập nhật: 10/2026.
