Thì quá khứ hoàn thành tiếp diễn (past perfect continuous)

B2 · Trung cao cấpCác thì quá khứ

Thì quá khứ hoàn thành tiếp diễn cho biết một việc đã kéo dài bao lâu trước một thời điểm khác trong quá khứ, như “tôi đã đợi được một tiếng thì…”.

Bạn sẽ học được gì

  • Cấu trúc: had been + động từ-ing (I had been working, she had been waiting)
  • Nhấn mạnh thời gian kéo dài của một việc cho đến một thời điểm trong quá khứ
  • Thường giải thích nguyên nhân của một tình trạng trong quá khứ: He was tired because he had been running
  • Câu phủ định: hadn't been + -ing; câu hỏi: Had + chủ ngữ + been + -ing

Kéo dài đến một thời điểm trong quá khứ

Thì quá khứ hoàn thành tiếp diễn (past perfect continuous) cho biết một hành động đã diễn ra được bao lâu trước một thời điểm khác trong quá khứ. Điều quan trọng là khoảng thời gian kéo dài hay quá trình, chứ không chỉ là việc đó đã xong.

Tiếng Việt nói “Tôi đã đợi được một tiếng thì xe buýt mới đến” hoặc “Tôi đợi cả tiếng đồng hồ rồi xe buýt mới tới”. Động từ “đợi” giữ nguyên, ý nghĩa nằm ở “đã… được… thì…”. Tiếng Anh đưa toàn bộ ý nghĩa đó vào động từ: “I had been waiting for an hour when the bus finally came.” Câu “I already waited for an hour” hay “I was waiting for an hour” không cho thấy việc đợi đã kéo dài một tiếng cho đến lúc xe buýt đến.

Nếu bạn đã học thì hiện tại hoàn thành tiếp diễn (I have been waiting), hãy nhớ rằng khi kể chuyện quá khứ, have/has đổi thành had: “I had been waiting”, không phải “I have been waiting… when the bus came”. Với khoảng thời gian, dùng for (for an hour, for two years), không dùng during hay since. Since chỉ đi với mốc thời gian (since 8 o'clock, since Monday).

"I had been waiting for an hour when the bus finally came."
"She had been studying for three hours before the test."

Giải thích một kết quả trong quá khứ

Thì này rất hay dùng để giải thích vì sao lúc đó mọi chuyện lại như vậy: hành động kéo dài trước đó là nguyên nhân. Nhiều khi hành động ấy chưa hẳn đã xong hoặc vừa mới xong, và người ta vẫn thấy rõ hậu quả.

Tiếng Việt chỉ cần “vì” hay “do” mà động từ không đổi: “Anh ấy mệt rã rời vì vừa chạy bộ”, “Mặt đất ướt vì trời vừa mưa”. Trong tiếng Anh, khi nguyên nhân là một hoạt động kéo dài, cách nói tự nhiên là had been + -ing: “He was exhausted because he had been running.” “The ground was wet because it had been raining.” Chú ý chữ it: “it had been raining”, không phải “had been rain” hay “the sky had been raining”.

"He was exhausted because he had been running."
"The ground was wet because it had been raining."

Dùng thì quá khứ hoàn thành tiếp diễn hay quá khứ hoàn thành?

Dùng dạng tiếp diễn khi khoảng thời gian hay quá trình là điều quan trọng. Dùng thì quá khứ hoàn thành (had + quá khứ phân từ) khi chỉ cần nói việc đó đã xong, thường kèm kết quả hay số lượng (the whole book, three chapters).

Một giới hạn quan trọng: các động từ chỉ trạng thái như know, own, believe hay be thường không dùng ở dạng -ing. “Lúc đó tôi đã quen anh ấy nhiều năm rồi” là “I had known him for years”, không phải “I had been knowing him”, dù câu nói về khoảng thời gian.

Về hình thức: ở thì này, sau had been luôn là động từ-ing. Had been + quá khứ phân từ (had been closed, had been stranded) là một cấu trúc khác: câu bị động hoặc một trạng thái.

"She had been reading for two hours. (điều quan trọng là thời gian kéo dài)"
"She had read the whole book. (điều quan trọng là đã đọc xong)"

Tiếng Anh trong đời sống

"I had been feeling unwell for days before I finally saw a doctor."
"They had been dating for a year before they got engaged."
"How long had you been living there before you moved?"
"We were tired because we had been traveling all day."

Lưu ý

✗I already waited for an hour when the bus came.
✓I had been waiting for an hour when the bus came.

“Đã đợi được một tiếng” cho đến lúc xe buýt đến là had been waiting. Already không thay được had been + -ing.

✗I have been waiting for an hour when the bus came.
✓I had been waiting for an hour when the bus came.

Mốc là một thời điểm trong quá khứ (when the bus came), nên have đổi thành had.

✗She had been studying during three hours before the test.
✓She had been studying for three hours before the test.

“Trong ba tiếng” là for three hours. During không đi với con số + đơn vị thời gian.

✗He had been ran for an hour.
✓He had been running for an hour.

Ở thì quá khứ hoàn thành tiếp diễn, sau had been luôn là dạng -ing. Had been + quá khứ phân từ (had been closed) là cấu trúc khác: câu bị động.

✗They didn't been sleeping well.
✓They hadn't been sleeping well.

Câu phủ định dùng hadn't. Did không xuất hiện ở thì này.

✗How long you had been living there?
✓How long had you been living there?

Trong câu hỏi, had đứng trước chủ ngữ, dù tiếng Việt không đổi trật tự từ.

So sánh với tiếng Việt

“Tôi đã đợi được một tiếng thì xe buýt mới đến”: thời gian kéo dài nằm ở “đã… được…”, động từ giữ nguyên

Trong tiếng Anh, “đã… được… rồi” không dịch thành already. Ý nghĩa đó nằm ở had been + -ing, còn khoảng thời gian nằm ở for: “I had been waiting for an hour when the bus came.” Had cho biết việc này xảy ra trước một thời điểm khác trong quá khứ, been + -ing cho biết đó là một quá trình.

“Tôi đã đợi được một tiếng rồi” có thể nói về bây giờ hoặc về một lúc trong quá khứ, câu tiếng Việt không đổi

Tiếng Anh phân biệt hai trường hợp: tính đến bây giờ → “I have been waiting for an hour.” Tính đến một thời điểm trong quá khứ → “I had been waiting for an hour when the bus came.” Nếu câu có một sự việc khác ở thì quá khứ đơn (came, arrived) làm mốc, hãy dùng had.

“Trong ba tiếng”, “suốt ba tiếng” và “từ một tiếng trước”

Với khoảng thời gian, tiếng Anh dùng for: “for three hours”, “for two years”. During đi với tên một giai đoạn hay sự kiện (during the meeting), since đi với mốc thời gian (since Monday). “During three hours” và “since one hour” là sai.

“Bạn đã sống ở đó bao lâu?”: “bao lâu” đứng cuối, chủ ngữ không đổi chỗ

Tiếng Anh đưa How long lên đầu và đặt had trước chủ ngữ: “How long had you been living there?” “How long you had been living there?” là sai. Câu phủ định và câu hỏi dùng had, không bao giờ dùng did: hadn't been…, Had you been…?

💡 “Đã… được (bao lâu) thì…” trong một câu chuyện quá khứ → had been + -ing + for.

💡 Khoảng thời gian = for (for an hour); mốc thời gian = since (since Monday). Không dùng during với con số.

💡 Tự hỏi: thời gian kéo dài hay quá trình có quan trọng không? Dùng thì quá khứ hoàn thành tiếp diễn. Chỉ cần nói đã xong? Dùng thì quá khứ hoàn thành.

Tình huống thực tế: giải thích vì sao bạn đến muộn

"Sorry I'm late — when the bus finally came, I had been waiting for forty minutes!"

"That's awful. Had you been standing in the rain the whole time?"

"Yes, so by the time I got on, I was completely soaked."

"You should have taken a taxi."

Luyện tập

Bài tập 1 · Chọn câu đúng

Choose the correct sentence.

Bài tập 2 · Chọn câu nhấn mạnh thời gian kéo dài

Which sentence emphasizes the DURATION of an action up to a past point?

Bài tập 3 · Chọn câu đúng

Choose the correct sentence.

Bài tập 4 · Chọn câu phủ định đúng

Choose the correct negative.

Bài tập 5 · Chọn câu hỏi đúng

Choose the correct question.

Bài tập 6 · Chọn câu đúng

Choose the correct sentence.

Bài tập 7 · Chọn dạng đúng

Which is formed correctly?

Bài tập 8 · Chọn câu đúng

Choose the correct sentence.

Bài tập 9 · Hoàn thành câu với thì quá khứ hoàn thành tiếp diễn

Complete: 'She ___ (wait) for two hours when he finally arrived.' (past perfect continuous)

Bài tập 10 · Hoàn thành câu hỏi

Complete: 'How long ___ (you/learn) English before you moved abroad?' (question)

Bài tập 11 · Xếp vào đúng nhóm: nhấn mạnh thời gian kéo dài hay việc đã xong

had been working
had worked
had been living
had lived
had been studying
had studied

Đã xếp 0 / 6

Bài tập 12 · Lỗi thường gặp: “đã đợi được một tiếng thì…”

Vietnamese: “Tôi đã đợi được một tiếng thì xe buýt mới đến.” Which English sentence is correct?

Thử thách nhanh

Năm câu hỏi ngắn để kiểm tra những gì bạn đã học.

Câu 1 / 5

Điểm: 0/0

Choose the correct sentence.

Bạn đã học

  • Thì quá khứ hoàn thành tiếp diễn có cấu trúc had been + động từ-ing.
  • Thì này nhấn mạnh thời gian kéo dài của một việc cho đến một thời điểm trong quá khứ.
  • Thì này thường giải thích nguyên nhân của một tình trạng sau đó trong quá khứ.
  • “Tôi đã đợi được một tiếng thì…” = I had been waiting for an hour when…, với for, không dùng already, during hay since.
  • Nếu chỉ cần nói việc đã xong, hoặc với động từ chỉ trạng thái như know, hãy dùng thì quá khứ hoàn thành.
Xem tất cả bài học trong mục này