Thì quá khứ hoàn thành tiếp diễn (Past Perfect Continuous) nhấn mạnh quá trình, độ dài của một hành động đã diễn ra liên tục cho đến một thời điểm hoặc một hành động khác trong quá khứ. Công thức: S + had been + V-ing, ví dụ She had been waiting for an hour when the bus came – Cô ấy đã đợi cả tiếng đồng hồ thì xe buýt mới tới.
Đây là thì ít gặp trong giao tiếp hằng ngày nhưng hay xuất hiện trong bài đọc, truyện và đề thi. Cách dễ nhớ nhất: lấy thì hiện tại hoàn thành tiếp diễn (have/has been + V-ing) rồi lùi mốc “bây giờ” về một thời điểm trong quá khứ, đổi have/has thành had.
Công thức thì quá khứ hoàn thành tiếp diễn
| Dạng câu | Công thức | Ví dụ |
|---|---|---|
| Khẳng định | S + had been + V-ing | They had been playing for two hours. – Họ đã chơi liền hai tiếng. |
| Phủ định | S + had not (hadn’t) been + V-ing | I hadn’t been sleeping well before the exam. – Trước kỳ thi, tôi ngủ không ngon suốt một thời gian. |
| Nghi vấn Yes/No | Had + S + been + V-ing? | Had you been working there long? – Bạn đã làm ở đó lâu chưa (tính đến lúc ấy)? |
| Câu hỏi How long | How long + had + S + been + V-ing? | How long had Kevin been learning English before he moved to Canada? – Kevin đã học tiếng Anh bao lâu trước khi chuyển sang Canada? |
Had been giữ nguyên cho mọi ngôi, nên đây là một trong những công thức dễ chia nhất. Quy tắc thêm -ing không đổi so với các thì tiếp diễn khác.

Cách dùng thì quá khứ hoàn thành tiếp diễn
1. Hành động kéo dài liên tục đến một mốc trong quá khứ
We had been driving for six hours when we finally reached Da Lat. – Chúng tôi đã lái xe suốt sáu tiếng thì mới tới được Đà Lạt.
By the time the meeting ended, they had been discussing the plan for three hours. – Đến lúc cuộc họp kết thúc, họ đã bàn kế hoạch suốt ba tiếng.
2. Giải thích nguyên nhân của một tình trạng trong quá khứ
Hành động kéo dài trước đó để lại kết quả nhìn thấy được tại mốc quá khứ:
Her eyes were red because she had been crying. – Mắt cô ấy đỏ vì trước đó cô đã khóc.
The ground was wet. It had been raining all night. – Mặt đất ướt sũng. Trời đã mưa suốt đêm.
3. Hành động lặp lại nhiều lần trong một giai đoạn trước mốc quá khứ
Lan had been visiting that café every weekend before it closed. – Lan đã đến quán cà phê đó mỗi cuối tuần cho tới khi nó đóng cửa.
4. Trong câu tường thuật
Hiện tại hoàn thành tiếp diễn và quá khứ tiếp diễn trong lời nói trực tiếp có thể lùi về quá khứ hoàn thành tiếp diễn:
“I have been working all day,” he said. → He said he had been working all day. – Anh ấy nói đã làm việc cả ngày. Xem thêm quy tắc lùi thì ở bài câu tường thuật.
Dấu hiệu nhận biết
| Dấu hiệu | Ví dụ |
|---|---|
| for + khoảng thời gian + before/when + quá khứ đơn | for two hours before she arrived |
| since + mốc + (đến một thời điểm quá khứ) | since morning when I called |
| by the time + quá khứ đơn | by the time he came home |
| until then, before, all day/night (trong ngữ cảnh quá khứ) | had been working until then |

Phân biệt với thì quá khứ hoàn thành
| Tiêu chí | Quá khứ hoàn thành | Quá khứ hoàn thành tiếp diễn |
|---|---|---|
| Nhấn mạnh | Kết quả, sự hoàn tất, số lượng | Quá trình, thời lượng, tính liên tục |
| Ví dụ | She had written five chapters by June. – Đến tháng Sáu cô ấy đã viết xong năm chương. | She had been writing for months by June. – Đến tháng Sáu cô ấy đã viết liên tục nhiều tháng. |
| Động từ trạng thái | Dùng được: had known | Không dùng: không nói had been knowing |
Bạn có thể ôn lại dạng hoàn thành ở bài thì quá khứ hoàn thành.
Phân biệt với thì quá khứ tiếp diễn
- When I arrived, she was cooking. – Khi tôi đến, cô ấy đang nấu ăn (hành động đang diễn ra đúng lúc đó).
- When I arrived, she had been cooking for an hour. – Khi tôi đến, cô ấy đã nấu được một tiếng rồi (nhấn mạnh khoảng thời gian trước khi tôi đến; có thể vẫn đang nấu hoặc vừa nấu xong).
Quá khứ tiếp diễn chỉ “chụp” một lát cắt tại mốc, còn quá khứ hoàn thành tiếp diễn nhìn ngược lại cả đoạn đường trước mốc đó. Xem lại thì quá khứ tiếp diễn nếu bạn còn phân vân.
Ví dụ thực tế khi kể về tên tiếng Anh
Thì này rất hợp khi bạn kể một câu chuyện “trước khi đổi”: I had been using the name Kevin for five years before I realised there were three other Kevins in my office. – Tôi đã dùng tên Kevin suốt năm năm trước khi nhận ra văn phòng có ba người khác cũng tên Kevin. Nếu bạn cũng đang băn khoăn chọn một tên ít trùng hơn, hãy xem ý nghĩa tên Kevin và thử công cụ tạo tên tiếng Anh theo tính cách. Để thấy vị trí của thì này trong toàn bộ hệ thống, hãy xem bài các thì trong tiếng Anh.
Bài tập thì quá khứ hoàn thành tiếp diễn có đáp án
Chia động từ ở quá khứ hoàn thành tiếp diễn, quá khứ hoàn thành hoặc quá khứ đơn.
- He was tired because he (run) ______ for an hour.
- When I met them, they (be) ______ married for ten years.
- We (wait) ______ for 45 minutes before the restaurant opened.
- By the time she graduated, she (work) ______ part-time for three years.
- I (know) ______ him for years before we became business partners.
- The kitchen smelled wonderful. My grandmother (bake) ______ cakes all morning.
Đáp án:
- had been running – quá trình kéo dài gây ra trạng thái mệt.
- had been – be chỉ trạng thái, dùng quá khứ hoàn thành.
- had been waiting – nhấn mạnh thời lượng chờ trước một mốc quá khứ.
- had been working – hành động kéo dài đến mốc tốt nghiệp.
- had known – know là động từ trạng thái, không chia tiếp diễn.
- had been baking – hoạt động kéo dài để lại dấu vết (mùi bánh).






