Phân biệt hiện tại hoàn thành và hiện tại hoàn thành tiếp diễn là một trong những chủ điểm ngữ pháp dễ gây nhầm lẫn với người học tiếng Anh. Cả hai thì này đều liên quan đến hành động đã xảy ra trong quá khứ và kéo dài đến hiện tại, nhưng cách sử dụng lại có sự khác biệt rõ rệt. Nếu bạn từng băn khoăn không biết khi nào nên dùng have been doing hay have done, bài viết này sẽ giúp bạn hiểu tường tận sự khác biệt kèm theo ví dụ thực tế để dễ dàng áp dụng.
Giới thiệu thì hiện tại hoàn thành và hiện tại hoàn thành tiếp diễn
Trong quá trình học tiếng Anh, có lẽ bạn đã nhiều lần bắt gặp hai cấu trúc hiện tại hoàn thành (Present Perfect) và hiện tại hoàn thành tiếp diễn (Present Perfect Continuous). Đây là hai thì quan trọng thường xuyên được sử dụng trong cả văn nói lẫn văn viết. Tuy nhiên, điểm chung giữa chúng lại chính là nguyên nhân gây nhầm lẫn: cả hai đều dùng để diễn tả một hành động bắt đầu trong quá khứ và có liên quan đến hiện tại. Vậy làm thế nào để phân biệt rõ ràng khi nào cần sử dụng “I have worked” và khi nào cần nói “I have been working”?
Việc hiểu rõ sự khác biệt giữa hiện tại hoàn thành và hiện tại hoàn thành tiếp diễn không chỉ giúp bạn tránh những sai sót phổ biến mà còn nâng cao khả năng diễn đạt bằng tiếng Anh một cách chính xác và tự nhiên hơn. Nếu sử dụng sai, câu nói của bạn có thể gây khó hiểu hoặc thậm chí làm thay đổi hoàn toàn ý nghĩa.
Chẳng hạn, hãy xem xét hai câu dưới đây:
-
I have written three reports today. (Tôi đã viết xong ba bản báo cáo hôm nay.)
-
I have been writing reports all day. (Tôi đã viết báo cáo cả ngày.)
Mặc dù cả hai câu đều nói về hành động viết báo cáo, nhưng câu đầu tiên nhấn mạnh vào kết quả (ba báo cáo đã hoàn thành), trong khi câu thứ hai lại tập trung vào quá trình (hành động viết diễn ra liên tục cả ngày). Nếu không nắm vững sự khác biệt này, rất có thể bạn sẽ dùng sai thì và khiến câu nói của mình thiếu chính xác.
Trong bài viết này, chúng ta sẽ đi sâu vào phân tích cấu trúc, cách sử dụng và sự khác biệt cốt lõi giữa hai thì này. Qua những ví dụ thực tế và cách ứng dụng trong giao tiếp, bạn sẽ hiểu rõ khi nào nên dùng hiện tại hoàn thành và khi nào nên dùng hiện tại hoàn thành tiếp diễn, từ đó có thể vận dụng linh hoạt vào các tình huống hàng ngày.
Ở phần tiếp theo, chúng ta sẽ tìm hiểu chi tiết về từng thì, giúp bạn có cái nhìn rõ ràng hơn và sử dụng chúng một cách chính xác nhất.
Phân biệt hiện tại hoàn thành và hiện tại hoàn thành tiếp diễn
Khi học tiếng Anh, nhiều người thường nhầm lẫn giữa thì hiện tại hoàn thành (Present Perfect) và thì hiện tại hoàn thành tiếp diễn (Present Perfect Continuous) do cả hai thì này đều có liên quan đến quá khứ và hiện tại. Tuy nhiên, sự khác biệt chính nằm ở mục đích sử dụng và cách nhấn mạnh hành động.
Thì Hiện Tại Hoàn Thành (Present Perfect)
Thì hiện tại hoàn thành được dùng để diễn tả một hành động đã hoàn thành trong quá khứ nhưng vẫn có ảnh hưởng đến hiện tại, hoặc một sự kiện đã xảy ra trong khoảng thời gian chưa xác định.
Cấu trúc:
-
Khẳng định: S + have/hasV3/edVí dụ: I have finished my homework. (Tôi đã hoàn thành bài tập về nhà.)
-
Phủ định: S + have/has notV3/edVí dụ: She hasn’t seen that movie yet. (Cô ấy vẫn chưa xem bộ phim đó.)
-
Nghi vấn: Have/HasS + V3/ed?Ví dụ: Have you ever visited Paris? (Bạn đã từng đến Paris chưa?)
Cách dùng:
-
Dùng để nhấn mạnh kết quả của hành động, không quan trọng quá trình: I have cleaned the house. (Tôi đã dọn dẹp nhà xong.) → Kết quả là nhà đã sạch.
-
Dùng với các từ chỉ thời gian không cụ thể như: ever, never, already, yet, before, just: Have you ever visited Paris? (Bạn đã từng đến Paris chưa?)
-
Dùng để nói về kinh nghiệm hoặc sự thay đổi theo thời gian: I have lived in New York for 10 years. (Tôi đã sống ở New York được 10 năm.)
Dấu hiệu nhận biết:
Để nhận biết thì này một cách dễ dàng, bạn cần nắm vững những dấu hiệu đi kèm, bao gồm các trạng từ chỉ thời gian, giới từ, và cách sử dụng đặc trưng.
Một trong những dấu hiệu rõ ràng nhất của thì hiện tại hoàn thành là các trạng từ chỉ thời gian. Những từ này giúp xác định một hành động đã diễn ra nhưng không xác định thời điểm cụ thể, hoặc vẫn có ảnh hưởng đến hiện tại.
Dấu Hiệu | Cách Dùng | Ví Dụ |
Yet (Chưa, vẫn chưa) | – Dùng trong câu phủ định và câu hỏi. – Thường đứng ở cuối câu. |
– I haven’t finished my homework yet. (Tôi vẫn chưa làm xong bài tập.) – Have you seen this movie yet? (Bạn đã xem bộ phim này chưa?) |
Already (Đã, rồi) | – Dùng trong câu khẳng định. – Diễn tả một hành động đã hoàn thành trước thời điểm nói. |
– She has already eaten lunch. (Cô ấy đã ăn trưa rồi.) – I have already finished the report. (Tôi đã hoàn thành báo cáo rồi.) |
Just (Vừa mới) | – Diễn tả một hành động vừa mới xảy ra. – Thường đứng trước động từ chính. |
– I have just arrived home. (Tôi vừa mới về nhà.) – She has just left the office. (Cô ấy vừa rời khỏi văn phòng.) |
Ever & Never (Đã từng & chưa bao giờ) | – Ever dùng trong câu hỏi để hỏi về trải nghiệm. – Never dùng trong câu khẳng định với ý nghĩa phủ định. |
– Have you ever traveled abroad? (Bạn đã từng đi nước ngoài chưa?) – I have never eaten sushi before. (Tôi chưa bao giờ ăn sushi trước đây.) |
So far, Up to now, Up to the present (Cho đến bây giờ) | – Diễn tả một hành động đã xảy ra nhiều lần trong quá khứ và vẫn còn tiếp diễn. | – We have completed three projects so far. (Chúng tôi đã hoàn thành ba dự án cho đến nay.) – Up to now, she has written five books. (Cho đến bây giờ, cô ấy đã viết năm cuốn sách.) |
Ngoài trạng từ chỉ thời gian, thì hiện tại hoàn thành còn thường đi kèm với các giới từ for và since, giúp xác định khoảng thời gian hoặc mốc thời gian bắt đầu của hành động.
For + khoảng thời gian (Trong khoảng thời gian bao lâu): Dùng để chỉ thời gian kéo dài của hành động.
Ví dụ: I have lived in this city for ten years. (Tôi đã sống ở thành phố này được 10 năm.)
Since + mốc thời gian (Từ khi nào): Dùng để chỉ thời điểm bắt đầu của hành động.
Ví dụ: He has studied English since 2015. (Anh ấy đã học tiếng Anh từ năm 2015.)
Thì Hiện Tại Hoàn Thành Tiếp Diễn (Present Perfect Continuous)
Thì hiện tại hoàn thành tiếp diễn được dùng để diễn tả một hành động bắt đầu trong quá khứ và vẫn đang tiếp tục ở hiện tại, hoặc một hành động vừa mới kết thúc nhưng có dấu hiệu hoặc ảnh hưởng đến hiện tại.
Cấu trúc:
-
Khẳng định: S + have/has beenV-ingVí dụ: I have been working on this project for hours. (Tôi đã làm việc với dự án này trong nhiều giờ.)
-
Phủ định: S + have/has not beenV-ingVí dụ: She hasn’t been studying much recently. (Dạo gần đây cô ấy không học nhiều.)
-
Nghi vấn: Have/HasS + been + V-ing?Ví dụ: Have they been waiting for long? (Họ đã chờ lâu chưa?)
Cách dùng:
-
Dùng để nhấn mạnh quá trình hoặc thời gian kéo dài của hành động: I have been reading for three hours. (Tôi đã đọc sách trong ba giờ liên tục.) → Hành động kéo dài trong khoảng thời gian nhất định.
-
Dùng khi hành động vừa mới kết thúc và có ảnh hưởng đến hiện tại: She is tired because she has been running. (Cô ấy mệt vì vừa chạy xong.) → Hành động chạy đã kết thúc, nhưng ảnh hưởng vẫn còn (cô ấy vẫn còn mệt).
Dấu hiệu nhận biết:
Một số trạng từ chỉ thời gian phổ biến giúp nhận biết thì hiện tại hoàn thành tiếp diễn bao gồm:
Dấu Hiệu | Cách Dùng | Ví Dụ |
For + khoảng thời gian (Trong bao lâu) | – Chỉ khoảng thời gian hành động đã diễn ra và vẫn đang tiếp tục. | – I have been working here for five years. (Tôi đã làm việc ở đây được năm năm.) – She has been studying for three hours. (Cô ấy đã học trong ba tiếng.) |
Since + mốc thời gian (Từ khi nào) | – Chỉ thời điểm bắt đầu của hành động kéo dài đến hiện tại. | – I have been living in this city since 2010. (Tôi đã sống ở thành phố này từ năm 2010.) – They have been waiting since morning. (Họ đã chờ đợi từ sáng.) |
Recently, Lately (Gần đây, dạo gần đây) | – Chỉ một hành động diễn ra liên tục trong thời gian gần đây. | – I have been feeling really tired lately. (Dạo gần đây tôi cảm thấy rất mệt.) – She has been practicing a lot recently. (Cô ấy đã luyện tập rất nhiều gần đây.) |
All day, All morning, All week (Suốt cả…) | – Nhấn mạnh hành động liên tục diễn ra trong một khoảng thời gian dài. | – He has been working all day. (Anh ấy đã làm việc cả ngày.) – They have been arguing all morning. (Họ đã cãi nhau suốt cả sáng.) |
How long…? (Bao lâu rồi…?) | – Dùng trong câu hỏi về khoảng thời gian một hành động đã diễn ra. | – How long have you been learning English? (Bạn đã học tiếng Anh bao lâu rồi?) – How long has she been waiting? (Cô ấy đã đợi bao lâu rồi?) |
Tiêu chí | Thì Hiện Tại Hoàn Thành | Thì Hiện Tại Hoàn Thành Tiếp Diễn |
Mục đích | Nhấn mạnh kết quả của hành động | Nhấn mạnh quá trình hoặc thời gian kéo dài của hành động |
Cấu trúc | S + have/has + V3/ed | S + have/has + been + V-ing |
Dùng với | Hành động đã hoàn thành, kết quả rõ ràng | Hành động kéo dài hoặc vừa kết thúc với dấu hiệu hiện tại |
Từ thường đi kèm | ever, never, already, yet, just, before | for, since, recently, lately, all day, all morning |
Ví dụ | I have written three emails today. | I have been writing emails all morning. |
Đọc thêm: [PDF] Sơ đồ tư duy thì hiện tại hoàn thành tiếp diễn
Một số lỗi thường gặp khi dùng thì hiện tại hoàn thành và hiện tại hoàn thành tiếp diễn
Thì hiện tại hoàn thành và hiện tại hoàn thành tiếp diễn là hai thì quan trọng trong tiếng Anh nhưng lại dễ gây nhầm lẫn. Cả hai đều diễn tả một hành động bắt đầu trong quá khứ và vẫn còn liên quan đến hiện tại. Tuy nhiên, chúng khác nhau ở cách nhấn mạnh – một bên tập trung vào kết quả, trong khi bên còn lại nhấn mạnh vào quá trình. Việc sử dụng sai có thể làm thay đổi ý nghĩa câu hoặc khiến người nghe hiểu nhầm. Dưới đây là những lỗi thường gặp và cách khắc phục khi sử dụng hai thì này.
-
Nhầm lẫn giữa hiện tại hoàn thành và hiện tại hoàn thành tiếp diễn
Một lỗi phổ biến là sử dụng sai thì khi diễn tả một hành động kéo dài từ quá khứ đến hiện tại.
Lỗi sai:
-
I have been finishing my work already.
-
She has written emails all morning.
Cách sửa đúng:
-
I have finished my work already. (Dùng hiện tại hoàn thành vì nhấn mạnh kết quả.)
-
She has been writing emails all morning. (Dùng hiện tại hoàn thành tiếp diễn vì nhấn mạnh quá trình.)
Cách tránh lỗi:
-
Dùng hiện tại hoàn thành (have/has + V3/ed) khi muốn nhấn mạnh kết quả hoặc sự hoàn thành của hành động.
-
Dùng hiện tại hoàn thành tiếp diễn (have/has been + V-ing) khi muốn nhấn mạnh quá trình hoặc hành động kéo dài.
-
Dùng sai động từ chỉ trạng thái với hiện tại hoàn thành tiếp diễn
Các động từ chỉ trạng thái như know, own, like, love, believe, understand, want, need không được dùng với thì hiện tại hoàn thành tiếp diễn.
Lỗi sai:
-
She has been knowing him for years.
-
I have been owning this house since 2010.
Cách sửa đúng:
-
She has known him for years.
-
I have owned this house since 2010.
Cách tránh lỗi:
-
Dùng hiện tại hoàn thành (have/has + V3/ed) thay vì hiện tại hoàn thành tiếp diễn với các động từ chỉ trạng thái.
-
Sử dụng sai “for” và “since”
“For” và “since” là hai giới từ thường đi kèm với thì hiện tại hoàn thành và hiện tại hoàn thành tiếp diễn, nhưng chúng có cách dùng khác nhau.
Lỗi sai:
-
I have been studying since two hours.
-
She has lived here for 2010.
Cách sửa đúng:
-
I have been studying for two hours. (Dùng “for” với khoảng thời gian.)
-
She has lived here since 2010. (Dùng “since” với mốc thời gian cụ thể.)
Cách tránh lỗi:
-
Dùng “for” với khoảng thời gian (for three days, for ten years, for a long time).
-
Dùng “since” với mốc thời gian (since 1999, since last Monday, since 8 AM).
-
Nhầm lẫn giữa hiện tại hoàn thành và quá khứ đơn
Hiện tại hoàn thành không đi kèm với thời gian cụ thể trong quá khứ, nhưng nhiều người vẫn mắc lỗi này.
Lỗi sai:
-
I have seen that movie yesterday.
-
They have arrived at 8 PM last night.
Cách sửa đúng:
-
I saw that movie yesterday. (Dùng thì quá khứ đơn vì có “yesterday.”)
-
They arrived at 8 PM last night.
Cách tránh lỗi:
-
Nếu có thời gian cụ thể trong quá khứ (yesterday, last week, in 2010), dùng thì quá khứ đơn.
-
Nếu không xác định thời gian, dùng thì hiện tại hoàn thành.
-
Dùng sai “yet” và “already”
“Yet” và “already” là hai trạng từ phổ biến của thì hiện tại hoàn thành nhưng thường bị dùng sai.
Lỗi sai:
-
I have seen that movie yet.
-
Have you finished your work already?
Cách sửa đúng:
-
I haven’t seen that movie yet. (Dùng “yet” trong câu phủ định hoặc câu hỏi.)
-
Have you finished your work yet?
-
I have already finished my work. (Dùng “already” trong câu khẳng định.)
Cách tránh lỗi:
-
“Yet” được dùng trong câu phủ định hoặc câu hỏi.
-
“Already” được dùng trong câu khẳng định.
-
Dùng hiện tại hoàn thành tiếp diễn khi hành động đã hoàn thành
Nếu một hành động đã kết thúc và có kết quả rõ ràng, thì không dùng hiện tại hoàn thành tiếp diễn.
Lỗi sai:
-
She has been writing three emails today.
-
I have been finishing my project.
Cách sửa đúng:
-
She has written three emails today. (Nhấn mạnh kết quả.)
-
I have finished my project.
Cách tránh lỗi: Nếu hành động đã hoàn tất, hãy dùng hiện tại hoàn thành thay vì hiện tại hoàn thành tiếp diễn.
Bài tập thực hành phân biệt hiện tại hoàn thành và hiện tại hoàn thành tiếp diễn
Điền thì đúng
-
They ______ (live) in this house since 2000.
-
She ______ (work) here for 5 years and loves her job.
-
I ______ (wait) for you for over an hour!
-
He ______ (write) three books since last year.
-
They ______ (play) football all afternoon.
-
We ______ (travel) to many countries.
-
My sister ______ (study) hard lately.
-
I ______ (read) this book three times.
-
She ______ (exercise) regularly for the past few months.
-
I ______ (lose) my keys. Can you help me find them?
-
He ______ (teach) English for 10 years.
-
They ______ (repair) the road for several weeks.
-
She ______ (take) piano lessons since she was a child.
-
My phone ______ (stop) working. I need to fix it.
-
I ______ (try) to reach you all day!
-
The baby ______ (cry) for an hour.
-
He ______ (work) on this project since Monday.
-
We ______ (know) each other for years.
-
I ______ (clean) the house, so now it looks great.
-
She ______ (paint) the house, and now she is exhausted.
Đáp án:
-
have been living
-
has been working
-
have been waiting
-
has written
-
have been playing
-
have traveled
-
has been studying
-
have read
-
has been exercising
-
have lost
-
has taught
-
have been repairing
-
has taken
-
has stopped
-
have been trying
-
has been crying
-
has been working
-
have known
-
have cleaned
-
has been painting
Trắc nghiệm A, B, C, D
-
I ______ (study) English for 2 hours, and now I’m taking a break.
A. have studied
B. have been studying
C. study
D. studied
-
He ______ (not finish) the report yet.
A. hasn’t finished
B. hasn’t been finishing
C. didn’t finish
D. isn’t finishing
-
She ______ (work) on this project since last month.
A. has worked
B. has been working
C. works
D. worked
-
We ______ (travel) a lot this year.
A. have traveled
B. have been traveling
C. traveled
D. travel
-
My brother ______ (lose) his phone three times already.
A. has lost
B. has been losing
C. lost
D. loses
-
I ______ (wait) for your call all morning.
A. have waited
B. have been waiting
C. wait
D. waited
-
They ______ (repair) the road for weeks.
A. have repaired
B. have been repairing
C. repaired
D. repairs
-
I ______ (read) this book, and I love it!
A. have read
B. have been reading
C. read
D. am reading
-
She ______ (clean) the house, and it looks spotless.
A. has cleaned
B. has been cleaning
C. cleans
D. cleaned
-
He ______ (not call) me since last week.
A. hasn’t called
B. hasn’t been calling
C. didn’t call
D. doesn’t call
-
I ______ (live) in this city for ten years.
A. have lived
B. have been living
C. lived
D. live
-
The children ______ (play) outside since this morning.
A. have played
B. have been playing
C. played
D. are playing
-
I ______ (not hear) from him for a while.
A. haven’t heard
B. haven’t been hearing
C. didn’t hear
D. don’t hear
-
They ______ (discuss) the new project for hours.
A. have discussed
B. have been discussing
C. discussed
D. discuss
-
She ______ (not eat) anything since breakfast.
A. hasn’t eaten
B. hasn’t been eating
C. didn’t eat
D. doesn’t eat
-
We ______ (go) to the gym regularly lately.
A. have gone
B. have been going
C. went
D. go
-
He ______ (paint) the fence all day.
A. has painted
B. has been painting
C. paints
D. painted
-
I ______ (finish) my homework, so I can go out now.
A. have finished
B. have been finishing
C. finish
D. finished
-
They ______ (fix) the roof since yesterday.
A. have fixed
B. have been fixing
C. fixed
D. fix
-
She ______ (write) her novel for months.
A. has written
B. has been writing
C. writes
D. wrote
Đáp án:
1.B 2. A 3. B 4. A 5. A 6. B 7. B 8. A 9. A 10. A
11.A 12. B 13. A 14. B 15. A 16. B 17. B 18. A 19. B 20. B
Bây giờ bạn đã có thể phân biệt rõ ràng giữa hiện tại hoàn thành và hiện tại hoàn thành tiếp diễn rồi đúng không? Chỉ cần nhớ sự khác biệt về cách nhấn mạnh kết quả hay quá trình, bạn sẽ sử dụng chúng một cách chính xác và tự nhiên hơn. Nhưng học ngữ pháp thôi chưa đủ, quan trọng là bạn phải luyện tập thường xuyên để biến kiến thức thành kỹ năng thực sự. Nếu bạn muốn cải thiện tiếng Anh một cách bài bản và hiệu quả, IRIS English luôn sẵn sàng đồng hành cùng bạn. Đăng ký ngay để trải nghiệm phương pháp học giúp bạn giao tiếp tự tin hơn mỗi ngày!