Thì hiện tại hoàn thành tiếp diễn: Công thức, cách dùng và bài tập
Thì hiện tại hoàn thành tiếp diễn (Present Perfect Continuous) được dùng khi người nói muốn nhấn mạnh một hành động đã bắt đầu trong quá khứ, kéo dài đến hiện tại hoặc vừa mới dừng nhưng kết quả của quá trình đó vẫn còn nhìn thấy. Đây là thì rất hữu ích khi nói về thời gian học tập, công việc, thời tiết, sức khỏe, thói quen gần đây và những hoạt động đang diễn ra trong một khoảng thời gian.
Nhiều người học dễ nhầm thì này với thì hiện tại hoàn thành vì cả hai đều sử dụng have hoặc has và đều liên hệ quá khứ với hiện tại. Điểm khác biệt quan trọng là hiện tại hoàn thành tiếp diễn thường tập trung vào quá trình, thời lượng hoặc dấu hiệu còn lại, trong khi hiện tại hoàn thành thường chú trọng kết quả đã đạt được.
1. Thì hiện tại hoàn thành tiếp diễn là gì?
Thì hiện tại hoàn thành tiếp diễn diễn tả một hành động bắt đầu tại một thời điểm trong quá khứ, đã diễn ra liên tục trong một khoảng thời gian và vẫn còn tiếp tục ở hiện tại. Trong một số trường hợp, hành động vừa dừng lại nhưng hậu quả hoặc dấu hiệu của nó vẫn còn rõ ràng.
Ví dụ:
- I have been studying English for two hours.
Tôi đã học tiếng Anh được hai giờ và hiện tại vẫn đang học. - She has been working here since 2022.
Cô ấy làm việc ở đây từ năm 2022 đến nay. - It has been raining.
Trời đã mưa; có thể mưa vừa dừng nhưng đường vẫn còn ướt.
Công thức cốt lõi cần ghi nhớ là:
S + have/has + been + V-ing
Trong đó, have dùng với I, you, we, they; has dùng với he, she, it và danh từ số ít. Động từ chính luôn ở dạng V-ing.
2. Công thức đầy đủ
2.1. Câu khẳng định
S + have/has been + V-ing
- I have been reading this book all morning.
- You have been learning very quickly.
- We have been waiting for the bus for twenty minutes.
- They have been playing football since 4 p.m.
- He has been repairing his computer.
- She has been practicing pronunciation every day.
Dạng viết tắt thường gặp:
- I have → I've
- You have → You've
- We have → We've
- They have → They've
- He has → He's
- She has → She's
- It has → It's
Cần dựa vào từ phía sau để phân biệt he's là he is hay he has. Trong câu He's been working, từ been cho biết he's là he has.
2.2. Câu phủ định
S + have/has not been + V-ing
- I have not been sleeping well lately.
- We haven't been using this room.
- She has not been feeling well this week.
- He hasn't been attending the meetings recently.
Dạng viết tắt:
- have not → haven't
- has not → hasn't
2.3. Câu nghi vấn
Have/Has + S + been + V-ing?
- Have you been waiting long?
- Have they been studying together?
- Has she been working from home?
- Has it been raining all night?
Câu trả lời ngắn:
- Yes, I have. / No, I haven't.
- Yes, they have. / No, they haven't.
- Yes, she has. / No, she hasn't.
2.4. Câu hỏi với từ để hỏi
Wh-word + have/has + S + been + V-ing?
- What have you been doing? Bạn đã làm gì vậy?
- Where has she been staying? Cô ấy đã ở đâu?
- Why have they been arguing? Tại sao họ đã tranh cãi?
- How long have you been learning English? Bạn đã học tiếng Anh được bao lâu?
3. Cách thêm đuôi -ing
Động từ chính trong thì này luôn phải ở dạng V-ing. Phần lớn động từ chỉ cần thêm -ing:
- work → working
- learn → learning
- read → reading
- wait → waiting
Một số quy tắc cần lưu ý:
- Động từ kết thúc bằng e: bỏ e rồi thêm ing. Ví dụ: make → making, write → writing.
- Động từ ngắn có dạng phụ âm – nguyên âm – phụ âm: thường gấp đôi phụ âm cuối. Ví dụ: run → running, sit → sitting.
- Động từ kết thúc bằng ie: đổi ie thành y rồi thêm ing. Ví dụ: lie → lying, die → dying.
- Động từ kết thúc bằng y: giữ nguyên y. Ví dụ: study → studying, play → playing.
4. Cách dùng thứ nhất: Hành động bắt đầu trong quá khứ và vẫn tiếp tục
Đây là cách dùng phổ biến nhất. Hành động đã khởi đầu trước thời điểm nói và chưa kết thúc. Người nói thường cho biết hành động kéo dài bao lâu bằng for, hoặc bắt đầu từ mốc nào bằng since.
- I have been living here for five years.
Tôi đã sống ở đây được năm năm và hiện vẫn sống ở đây. - She has been studying since 7 o'clock.
Cô ấy đã học từ 7 giờ và hiện vẫn đang học. - We have been developing this website for several months.
Chúng tôi đã phát triển trang web này trong vài tháng và công việc vẫn tiếp tục. - They have been waiting since lunchtime.
Họ đã chờ từ giờ ăn trưa đến nay.
Điểm quan trọng là hành động có tính liên tục hoặc lặp đi lặp lại trong suốt khoảng thời gian đó.
5. Cách dùng thứ hai: Hành động vừa dừng nhưng còn dấu hiệu ở hiện tại
Thì hiện tại hoàn thành tiếp diễn còn được dùng khi hành động có thể vừa mới kết thúc, nhưng hậu quả hoặc dấu hiệu của nó vẫn còn rõ ràng.
- You are wet. Have you been walking in the rain?
Bạn bị ướt. Bạn vừa đi dưới mưa phải không? - His eyes are tired because he has been looking at the screen for hours.
Mắt anh ấy mỏi vì anh ấy đã nhìn màn hình nhiều giờ. - The kitchen smells wonderful. Mom has been cooking.
Nhà bếp có mùi rất thơm. Mẹ vừa nấu ăn. - She is out of breath because she has been running.
Cô ấy thở dốc vì vừa chạy.
Trong những câu này, điều người nói quan tâm không phải số lần hay kết quả hoàn tất, mà là hoạt động trước đó giải thích tình trạng hiện tại.
6. Cách dùng thứ ba: Hoạt động lặp lại trong thời gian gần đây
Một hành động không nhất thiết diễn ra liên tục từng phút nhưng có thể lặp đi lặp lại trong những ngày hoặc tuần gần đây.
- I have been going to bed late recently.
Gần đây tôi thường xuyên đi ngủ muộn. - He has been calling me every evening.
Anh ấy đã gọi cho tôi mỗi tối trong thời gian gần đây. - They have been practicing English together after work.
Gần đây họ thường luyện tiếng Anh cùng nhau sau giờ làm.
Các từ recently và lately thường xuất hiện trong cách dùng này.
7. Since và For
7.1. Since + mốc thời gian
Since cho biết thời điểm hành động bắt đầu.
- since 2022
- since Monday
- since this morning
- since I was a child
- since we moved here
Ví dụ:
- She has been working here since 2022.
- I have been waiting since 8 a.m.
- He has been learning English since he started university.
7.2. For + khoảng thời gian
For cho biết hành động đã kéo dài bao lâu.
- for ten minutes
- for two hours
- for three weeks
- for many years
- for a long time
Ví dụ:
- We have been talking for an hour.
- It has been raining for three days.
- They have been building the house for six months.
7.3. Lỗi thường gặp với since và for
- Sai: I have been studying since two hours.
- Đúng: I have been studying for two hours.
- Sai: She has been working here for 2022.
- Đúng: She has been working here since 2022.
8. Dấu hiệu nhận biết thường gặp
Không có từ nào bảo đảm tuyệt đối một câu phải dùng thì hiện tại hoàn thành tiếp diễn, nhưng những cụm sau thường là dấu hiệu quan trọng:
- for: trong khoảng
- since: kể từ
- all day / all morning / all week: cả ngày / cả buổi sáng / cả tuần
- how long: bao lâu
- lately: dạo gần đây
- recently: gần đây
- for the last few days: trong vài ngày vừa qua
- for ages: trong thời gian rất lâu
Ví dụ:
- How long have you been using this phone?
- She has been working hard lately.
- We have been preparing for the exam all week.
9. Phân biệt với thì hiện tại hoàn thành
9.1. Nhấn mạnh kết quả hay số lượng
Dùng hiện tại hoàn thành khi quan tâm đến kết quả đã đạt được hoặc số lượng đã hoàn thành.
- I have written three emails.
Tôi đã viết xong ba email. - She has cleaned the kitchen.
Cô ấy đã dọn xong nhà bếp. - They have read five chapters.
Họ đã đọc xong năm chương.
9.2. Nhấn mạnh quá trình hoặc thời lượng
Dùng hiện tại hoàn thành tiếp diễn khi quan tâm đến hoạt động và thời gian hoạt động diễn ra.
- I have been writing emails for two hours.
Tôi đã viết email trong hai giờ. - She has been cleaning the kitchen.
Cô ấy đã dọn nhà bếp; có thể chưa xong hoặc người nói nhấn mạnh sự vất vả. - They have been reading all afternoon.
Họ đã đọc sách cả buổi chiều.
9.3. So sánh từng cặp câu
- I have painted the wall. → Bức tường đã được sơn xong.
- I have been painting the wall. → Tôi đã dành thời gian sơn tường; có thể vẫn chưa hoàn thành.
- He has repaired two computers. → Kết quả là hai máy tính đã được sửa.
- He has been repairing computers all day. → Nhấn mạnh anh ấy làm việc sửa máy tính cả ngày.
10. Phân biệt với thì hiện tại tiếp diễn
Hiện tại tiếp diễn mô tả hành động đang xảy ra ngay lúc nói hoặc quanh thời điểm hiện tại, nhưng không nhất thiết nói rõ hành động bắt đầu từ quá khứ.
- I am studying now.
Tôi đang học ngay bây giờ. - I have been studying for two hours.
Tôi bắt đầu học cách đây hai giờ và vẫn đang học.
Khi câu có ý nghĩa “đã làm được bao lâu”, hiện tại hoàn thành tiếp diễn thường phù hợp hơn.
11. Những động từ thường không dùng ở dạng tiếp diễn
Các động từ chỉ trạng thái thường không được dùng với dạng V-ing. Một số nhóm phổ biến gồm:
- Nhận thức: know, understand, believe, remember
- Cảm xúc và sở thích: like, love, hate, prefer, want
- Sở hữu: own, belong, possess
- Giác quan hoặc trạng thái: seem, appear, need
Với các động từ này, thường dùng thì hiện tại hoàn thành:
- Đúng: I have known her for ten years.
- Không tự nhiên: I have been knowing her for ten years.
- Đúng: He has owned this house since 2015.
- Không tự nhiên: He has been owning this house since 2015.
Một số động từ có thể dùng ở dạng tiếp diễn khi nghĩa của chúng thay đổi. Ví dụ, think mang nghĩa “có ý kiến” thường không dùng tiếp diễn, nhưng mang nghĩa “suy nghĩ, cân nhắc” có thể dùng:
- I have always thought this is a good idea.
- I have been thinking about changing my job.
12. Câu hỏi How long
How long là mẫu câu rất thường gặp khi hỏi thời gian kéo dài của một hoạt động.
Công thức:
How long + have/has + S + been + V-ing?
- How long have you been learning English?
- How long has she been waiting?
- How long have they been living here?
Cách trả lời:
- I have been learning English for three years.
- She has been waiting since 9 o'clock.
- They have been living here since 2020.
13. Ví dụ trong giao tiếp hằng ngày
Tình huống 1: Hỏi về việc học
A: How long have you been studying English?
B: I have been studying it for about two years.
A: Have you been practicing every day?
B: Yes, I have. I have been listening to English podcasts every morning.
Tình huống 2: Hỏi về tình trạng mệt mỏi
A: You look tired. What have you been doing?
B: I have been working on a report all night.
A: You should take a break.
Tình huống 3: Hỏi về thời tiết
A: Why is the ground so wet?
B: It has been raining since early morning.
14. Những lỗi thường gặp
Lỗi 1: Dùng sai have và has
- Sai: She have been working.
- Đúng: She has been working.
Lỗi 2: Quên been
- Sai: I have studying for two hours.
- Đúng: I have been studying for two hours.
Lỗi 3: Không dùng V-ing
- Sai: They have been wait since noon.
- Đúng: They have been waiting since noon.
Lỗi 4: Nhầm since và for
- Sai: He has been working for Monday.
- Đúng: He has been working since Monday.
Lỗi 5: Dùng với động từ trạng thái
- Sai: I have been knowing him for years.
- Đúng: I have known him for years.
Lỗi 6: Chỉ nhìn vào dấu hiệu mà không xét ý nghĩa
Cả hiện tại hoàn thành và hiện tại hoàn thành tiếp diễn đều có thể đi với for và since. Cần xem câu nhấn mạnh kết quả, trạng thái hay quá trình.
- I have owned this car for five years. → Trạng thái sở hữu.
- I have been driving this car for five years. → Hoạt động lái xe.
15. Mẹo ghi nhớ nhanh
Có thể ghi nhớ cấu trúc bằng bốn bước:
- Xác định chủ ngữ để chọn have hay has.
- Thêm từ cố định been.
- Đưa động từ chính về dạng V-ing.
- Kiểm tra xem câu có nhấn mạnh quá trình, thời lượng hoặc dấu hiệu hiện tại không.
Quá khứ bắt đầu → kéo dài hoặc vừa dừng → hiện tại còn liên quan: have/has been + V-ing.
16. Câu hỏi thường gặp
Hiện tại hoàn thành tiếp diễn có bắt buộc hành động vẫn đang tiếp tục không?
Không. Hành động có thể vẫn đang tiếp tục hoặc vừa mới dừng. Khi vừa dừng, câu thường nhấn mạnh dấu hiệu hoặc hậu quả còn tồn tại ở hiện tại.
Có thể dùng hiện tại hoàn thành tiếp diễn với yesterday không?
Thông thường không dùng với một thời điểm quá khứ đã kết thúc như yesterday, vì thì này cần liên hệ với hiện tại. Trong trường hợp chỉ kể một hành động đã xảy ra và kết thúc hôm qua, nên dùng quá khứ đơn hoặc quá khứ tiếp diễn tùy ngữ cảnh.
Have been và have gone khác nhau thế nào?
Have been trong cấu trúc đang học là một phần của thì hiện tại hoàn thành tiếp diễn và theo sau bởi V-ing. Have gone là hiện tại hoàn thành của động từ go, thường có nghĩa ai đó đã đi đến nơi khác và chưa trở lại.
Khi nào nên dùng hiện tại hoàn thành thay vì hiện tại hoàn thành tiếp diễn?
Dùng hiện tại hoàn thành khi nhấn mạnh kết quả, số lượng đã hoàn thành hoặc với các động từ trạng thái. Dùng hiện tại hoàn thành tiếp diễn khi nhấn mạnh quá trình, thời lượng hoặc hoạt động lặp lại gần đây.
17. Kết luận
Thì hiện tại hoàn thành tiếp diễn giúp diễn tả một quá trình bắt đầu trong quá khứ và có liên hệ rõ ràng với hiện tại. Công thức quan trọng nhất là have/has been + V-ing. Khi lựa chọn giữa hiện tại hoàn thành và hiện tại hoàn thành tiếp diễn, hãy tự hỏi người nói muốn nhấn mạnh kết quả hay quá trình. Việc luyện tập theo từng cặp câu so sánh sẽ giúp bạn sử dụng hai thì này tự nhiên và chính xác hơn.
Trắc nghiệm Thì hiện tại hoàn thành tiếp diễn – 20 câu
Kiểm tra công thức have/has been + V-ing, cách dùng since/for, dấu hiệu nhận biết và cách phân biệt với thì hiện tại hoàn thành.
Bắt đầu làm 20 câu →