Thì quá khứ hoàn thành tiếp diễn (Past Perfect Continuous): khái niệm, công thức, bài tập có đáp án

Hướng dẫn đầy đủ thì quá khứ hoàn thành tiếp diễn: khái niệm, 5 cách dùng, công thức, phân biệt với quá khứ hoàn thành, dấu hiệu nhận biết, 6 bài tập có đáp án và 10 câu hỏi thường gặp.

Thì quá khứ hoàn thành tiếp diễn (Past Perfect Continuous): khái niệm, công thức, bài tập có đáp án

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) nhấn mạnh quá trình và độ dài của một hành động đã diễn ra liên tục trước một hành động hoặc một mốc thời gian khác trong quá khứ.

Có thể hiểu đây là "quá khứ" của thì hiện tại hoàn thành tiếp diễn: thay vì nói "đã làm liên tục cho đến bây giờ", ta nói "đã làm liên tục cho đến lúc đó trong quá khứ".

5 cách dùng thì quá khứ hoàn thành tiếp diễn

5 cách dùng thì quá khứ hoàn thành tiếp diễn
Tóm tắt 5 cách dùng của 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 thời điểm trong quá khứ

Ví dụ

She had been waiting for two hours when the bus finally came. / By noon, they had been working for six hours.

Nhấn mạnh độ dài của hành động trước một mốc hoặc việc xảy ra sau; hay có for và since.

2. Giải thích nguyên nhân bằng một quá trình liên tục

Ví dụ

His eyes were red because he had been crying. / The road was wet. It had been raining all night.

Quá trình diễn ra liên tục trước đó giải thích cho tình trạng ở quá khứ.

3. Hành động vừa kết thúc và còn để lại dấu vết

Ví dụ

She was out of breath because she had been running.

Hành động đã dừng, nhưng kết quả của nó còn thấy rõ ở thời điểm quá khứ đang nói tới.

4. Hành động lặp lại trong một giai đoạn trước mốc quá khứ

Ví dụ

He had been going to the gym every day before he hurt his back.

Chỉ thói quen lặp lại trong một giai đoạn dẫn tới một sự việc khác.

5. Tường thuật trong câu gián tiếp

Ví dụ

She said she had been studying English for three years.

Câu trực tiếp "I have been studying..." lùi thành 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ấu trúc câu khẳng định, phủ định, nghi vấn của thì quá khứ hoàn thành tiếp diễn
Công thức khẳng định, phủ định và nghi vấn
Dạng câuCông thứcVí dụ
Khẳng định (+)S + had been + V-ingI had been studying for two hours.
Phủ định (−)S + had not (hadn't) been + V-ingI hadn't been studying.
Nghi vấn (?)Had + S + been + V-ing ?Had you been studying?
Trả lời ngắnYes, S + had. / No, S + hadn't.Yes, I had. / No, I hadn't.

Câu hỏi với từ để hỏi (Wh-questions)

Cấu trúcVí dụ
Wh-word + had + S + been + V-ing ?How long had you been waiting? / What had they been doing?
Who/What + had been + V-ing (hỏi chủ ngữ)Who had been using my car?

Quá trình hay kết quả? Phân biệt với quá khứ hoàn thành

Quá khứ hoàn thành tiếp diễn nhấn mạnh quá trình, còn quá khứ hoàn thành nhấn mạnh kết quả. Động từ chính thêm -ing như ở các thì tiếp diễn khác.

Quá trình hay kết quả?
Chọn thì theo điều bạn muốn nhấn mạnh
Trọng tâmQuá khứ hoàn thành (had + V3)Quá khứ hoàn thành tiếp diễn (had been + V-ing)
Nhấn mạnhKết quả, số lượng, việc đã xongQuá trình, độ dài, tính liên tục
Ví dụShe had read three books.She had been reading all afternoon.
Câu hỏiHow many...?How long...?
Động từ chỉ trạng tháiI had known him for years.(không dùng)

Quy tắc thêm -ing

Trường hợpVí dụ
Hầu hết động từ: + ingwork → working; play → playing
Tận cùng là e: bỏ e rồi + ingmake → making; write → writing
Một nguyên âm + một phụ âm (nhấn ở âm cuối): gấp đôi phụ âmrun → running; sit → sitting
Tận cùng là ie: đổi thành y rồi + inglie → lying; die → dying

Dấu hiệu nhận biết thì quá khứ hoàn thành tiếp diễn

Quá khứ hoàn thành tiếp diễn thường đi kèm for, since, how long và một mốc hoặc việc khác trong quá khứ.

Dấu hiệu nhận biết thì quá khứ hoàn thành tiếp diễn
Các từ và cụm từ thường đi kèm

For và since

Từ nhấn mạnh sự liên tục

Liên từ chỉ mốc so sánh

So sánh quá khứ hoàn thành tiếp diễn và hiện tại hoàn thành tiếp diễn

Hiện tại hoàn thành tiếp diễnQuá khứ hoàn thành tiếp diễn
Công thứchave/has been + V-inghad been + V-ing
Mốc so sánhHiện tạiMột thời điểm trong quá khứ
Ví dụI have been waiting for an hour.I had been waiting for an hour when he came.

So sánh quá khứ hoàn thành tiếp diễn và quá khứ tiếp diễn

Quá khứ tiếp diễnQuá khứ hoàn thành tiếp diễn
Ý nghĩaĐang diễn ra tại một thời điểm trong quá khứĐã diễn ra liên tục trước một thời điểm hoặc việc trong quá khứ
Ví dụAt 8 p.m. I was studying.At 8 p.m. I had been studying for two hours.
Nhấn mạnhViệc đang xảy raĐộ dài của quá trình trước đó

Những lỗi thường gặp

Mẹo ghi nhớ nhanh

  1. Công thức đủ ba phần: had + been + V-ing.
  2. Có for, since, how long, all day kèm một mốc hoặc việc trong quá khứ thì nghĩ đến thì này.
  3. Nói về số lượng hoặc việc đã xong thì dùng quá khứ hoàn thành, không dùng tiếp diễn.
  4. Động từ chỉ trạng thái (know, like, want...) không chia tiếp diễn.
  5. Nhớ đây là "quá khứ" của hiện tại hoàn thành tiếp diễn: have been → had been.

Bài tập thực hành

Hãy tự làm các bài tập sau trước khi xem đáp án ở phần cuối bài. Mỗi bài có mức độ tăng dần.

Bài tập 1: Chia động từ trong ngoặc

Chia động từ ở thì quá khứ hoàn thành tiếp diễn.

  1. She ____ (wait) for two hours when the bus finally came.
  2. They ____ (work) all day, so they were exhausted.
  3. How long ____ you ____ (learn) English before you moved to London?
  4. His eyes were red because he ____ (cry).
  5. I ____ (not sleep) well, so I felt tired.
  6. It ____ (rain) for three hours when we left.
  7. ____ she ____ (study) before the exam?
  8. He ____ (play) football all afternoon, so he was covered in mud.
  9. By noon, we ____ (drive) for six hours.
  10. The neighbours ____ (make) noise all night, so I couldn't sleep.

Bài tập 2: Chọn đáp án đúng

Chọn A, B hoặc C.

  1. When he arrived, I ____ for an hour. (A. waited / B. had been waiting / C. have been waiting)
  2. She was tired because she ____ all day. (A. worked / B. had been working / C. is working)
  3. How long ____ they ____ before the show began? (A. have / waited / B. had / been waiting / C. did / wait)
  4. The ground was wet. It ____ all night. (A. rained / B. had been raining / C. has been raining)
  5. I ____ him for years before we met in person. (A. had known / B. had been knowing / C. know)
  6. He ____ in London for two years when he got the job. (A. lives / B. had been living / C. has been living)
  7. By lunch, she ____ five emails. (A. had been writing / B. had written / C. writes)
  8. They ____ for the bus for 30 minutes when it finally came. (A. waited / B. had been waiting / C. were waiting)

Bài tập 3: Tìm và sửa lỗi sai

Mỗi câu có một lỗi. Hãy viết lại câu đúng.

  1. She had working all day.
  2. I had been knowing him for years.
  3. When he arrived, I have been waiting for an hour.
  4. They had been play football since morning.
  5. How long you had been waiting?
  6. She had been writing five letters before lunch.

Bài tập 4: Chuyển sang phủ định và nghi vấn

Viết lại mỗi câu thành dạng phủ định và dạng nghi vấn.

  1. He had been working.
  2. They had been waiting for an hour.
  3. She had been studying English.
  4. I had been running.

Bài tập 5: Sắp xếp các từ thành câu hoàn chỉnh

Sắp xếp các từ sau thành câu đúng.

  1. been / she / had / waiting / for / an hour
  2. long / how / had / you / been / learning / English
  3. been / it / had / raining / all night
  4. he / arrived / I / had / when / waiting / been

Bài tập 6: Viết về bản thân

Viết 5 câu về một lần bạn mệt hoặc bực vì đã làm điều gì đó liên tục rất lâu (ví dụ: I was exhausted because I had been studying all day.), dùng for hoặc since ít nhất một lần.


Đáp án

Bài tập 1

  1. had been waiting
  2. had been working
  3. had ... been learning
  4. had been crying
  5. had not (hadn't) been sleeping
  6. had been raining
  7. Had ... been studying
  8. had been playing
  9. had been driving
  10. had been making

Bài tập 2

  1. B. had been waiting
  2. B. had been working
  3. B. had / been waiting
  4. B. had been raining
  5. A. had known (động từ chỉ trạng thái)
  6. B. had been living
  7. B. had written (nhấn mạnh số lượng)
  8. B. had been waiting

Bài tập 3

  1. She had been working all day. (thiếu been)
  2. I had known him for years. (know là động từ chỉ trạng thái)
  3. When he arrived, I had been waiting for an hour. (mốc quá khứ nên dùng had been)
  4. They had been playing football since morning. (thêm -ing)
  5. How long had you been waiting? (đảo had lên trước chủ ngữ)
  6. She had written five letters before lunch. (nhấn mạnh số lượng nên dùng quá khứ hoàn thành)

Bài tập 4

  1. He hadn't (had not) been working. / Had he been working?
  2. They hadn't (had not) been waiting for an hour. / Had they been waiting for an hour?
  3. She hadn't (had not) been studying English. / Had she been studying English?
  4. I hadn't (had not) been running. / Had I been running?

Bài tập 5

  1. She had been waiting for an hour.
  2. How long had you been learning English?
  3. It had been raining all night.
  4. I had been waiting when he arrived.

Bài tập 6

Đáp án mở. Gợi ý: I was exhausted because I had been studying all day. My eyes hurt because I had been looking at the screen for hours. By the time my friend arrived, I had been waiting for 40 minutes. It had been raining since morning, so the road was wet. We had been walking for two hours when we found the hotel.

Tổng kết

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

Thì quá khứ hoàn thành tiếp diễn dùng khi nào?

Dùng cho hành động kéo dài liên tục đến một thời điểm trong quá khứ, để giải thích nguyên nhân bằng một quá trình, cho hành động vừa kết thúc còn dấu vết, và trong câu gián tiếp.

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

Khẳng định: S + had been + V-ing. Phủ định: S + had not been + V-ing. Nghi vấn: Had + S + been + V-ing? Had been dùng cho mọi chủ ngữ.

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

Quá khứ hoàn thành nhấn mạnh kết quả, số lượng (She had read three books). Quá khứ hoàn thành tiếp diễn nhấn mạnh quá trình, độ dài (She had been reading all afternoon).

Khác gì so với hiện tại hoàn thành tiếp diễn?

Hiện tại hoàn thành tiếp diễn nối quá khứ với hiện tại (have been waiting for an hour). Quá khứ hoàn thành tiếp diễn nối với một mốc trong quá khứ (had been waiting for an hour when he came).

Có cần có mốc hoặc việc khác trong quá khứ không?

Có. Thì này luôn cần một việc hoặc một mốc thời gian khác trong quá khứ làm điểm so sánh, ví dụ when he arrived, by noon, before the exam.

Có dùng với động từ chỉ trạng thái không?

Không. Know, like, love, want, belong... dùng quá khứ hoàn thành: I had known him for years.

Phân biệt for và since trong thì này?

for + khoảng thời gian (for two hours); since + mốc thời gian bắt đầu trong quá khứ (since 6 a.m.).

Dùng thế nào trong câu gián tiếp?

"I have been studying English for three years" khi tường thuật ở quá khứ thành: She said she had been studying English for three years.

Làm sao hỏi một việc đã kéo dài bao lâu trước một mốc quá khứ?

Dùng How long had + S + been + V-ing?: How long had you been waiting when the bus came?

Làm sao để nhớ lâu và dùng đúng thì này?

Hãy nhớ đây là quá khứ của hiện tại hoàn thành tiếp diễn (have been → had been), viết câu về các việc bạn đã làm liên tục trước một sự kiện, và làm lại bài tập sau 1 ngày, 3 ngày, 7 ngày.