170+ Bài tập thì Hiện tại Hoàn thành cơ bản đến nâng cao

Tổng hợp trọn bộ 170+ bài tập thì Hiện tại hoàn thành đầy đủ nhất giúp rèn luyện thành thạo thì này nhanh chóng. Các bài tập chia thành 12 dạng bài từ cơ bản đến nâng cao được hệ thống hóa đầy đủ kiến thức để vượt qua các bài thi và sử dụng trong đời sống.

1. Tổng quan về thì Hiện tại hoàn thành:

Công thức thì Hiện tại Hoàn thành:

Loại câuCấu trúc
Khẳng địnhS + have/ has + V3/ed + (O) + …
Phủ địnhS + have/ has + NOT + V3/ed + (O) + … haven’t/ hasn’t
Câu hỏi Yes-NoHave/ Has + S + V3/ed + (O) + …?
Yes, S + have/ has.
No, S + have/ has + not
Câu hỏi Wh-What/ Where/ When/ Why/ How/ Who(m) + have/ has + S + (not)+ V3/ed + (O) + …?
Câu hỏi Wh- với từ hỏi làm chủ ngữ Who/ What + have / has + (not) + V3/ed + (O) + …?

Cách dùng thì Hiện tại Hoàn thành:

Thì HTHT có chức năng diễn tả:

  1. Một sự việc/ hành động bắt đầu trong quá khứ, kéo dài tới hiện tại và có thể hiện tại vẫn còn tiếp tục. 
  2. Một sự việc/ hành động vừa mới xảy ra.
  3. Một sự việc/ hành động đã xảy ra/ lặp lại bao nhiêu lần tính từ quá khứ đến hiện tại.
  4. Trải nghiệm (đã/ chưa làm gì hoặc làm gì bao nhiêu lần) trong cuộc sống của một người tính tới hiện tại
  5. Việc đã làm hay chưa kịp làm (rồi sẽ làm) trong cuộc sống hàng ngày
  6. Một sự việc đã xảy ra trong quá khứ nhưng thời gian không được nhắc đến.
  7. Một sự việc/ hành động trong quá khứ nhưng vẫn còn quan trọng/ còn sức ảnh hưởng ở hiện tại.
  8. Lần thứ mấy sự việc gì xảy ra.
  9. Ai/ Cái gì đó là người/ thứ như thế nào đó nhất mà người nói từng gặp/ xem/…
  10. Những việc đã/ chưa xảy ra trong một khoảng thời gian chưa hoàn tất.

Dấu hiệu nhận biết thì Hiện tại Hoàn thành:

  1. Dùng một trong các cấu trúc ở phần 1.
  2. Có các trạng từ mang nghĩa “vừa mới”: ‘just’, ‘recently’, ‘lately’, v.v. 
  1. Các (cụm) từ nói về số lần: ‘once’- “một lần”, ‘twice’- “hai lần”, three/ four/ five/… times’- “ba/ bốn/ năm/… lần”
  1. ‘never’- “chưa bao giờ”, ‘ever’- dùng trong câu hỏi “đã từng… chưa” và các (cụm) từ nói về số lần ở mục 3
  1. ‘not yet’- “chưa”, ‘already’- “rồi”
  1. ‘the first/ second/ third/ fourth/… time’- “lần thứ nhất/ hai/ ba/ bốn/…”
  1. ‘since’ + mốc thời gian- “kể từ…” (since 1998, since my wedding, since last year, v.v.)
  1. ‘for’ + khoảng thời gian- “trong… (bao lâu)” (for 3 years, for a week, for so many years)
  1. ‘until now’, ‘so far’, ‘up to now’, v.v.- “cho tới bây giờ”
  2. So sánh nhất: ‘the kindest person’- “người tốt bụng nhất”, ‘the best book’- “cuốn sách hay nhất”, v.v.

2. Bài tập thì Hiện tại hoàn thành

2.1. Bài tập 1: Chia động từ trong ngoặc ở thì Hiện tại hoàn thành

1. They____________ (live) here since 1998.

2. I____________ (not see) her since 1998.

3. We____________ (visit) this place many times.

4. My family and I______ never______ (watch) this movie. 

5. This is the first time I____________ (eat) this dish. 

6. My best friend______ just______ (move) to another city. 

7. This is the best book we______ ever______ (read).

8. They____________ (not talk) to each other for a week. 

9. My mom____________ (have) dinner yet. 

10. ______ you ever______ (feed) a tiger?

11. That family____________ (buy) a new house.

12. We____________ (call) 15 customers this morning. 

13. My father____________ (not go) back to his home town since he moved here. 

14. That employee____________ (write) any reports this week. 

15. Sarah____________ (win) that competition many times.   

16. She____________ (lose) her wallet. 

17. Lily and Kim are the funniest people I______ ever______ (talk) to. 

18. This month, we____________ (not exercise) so far. 

19. We____________ (not travel) since our wedding. 

20. Her kid____________ (broke) the TV, so they can’t watch their favorite show now. 

2.2. Bài tập 2: Sắp xếp lại từ để tạo thành câu Hiện tại hoàn thành đúng.

1. borrowed/ many times/ she/ my money/ has/.

2. the party/ hasn’t called/ since/ me/ he/.

3. I/ the most meaningful/ this is/ movie/ have ever watched/. 

4. have bought/ a lot of things/ so far/ the children/. 

5. have/ many times/ that city/ visited/ we/.

6. here/ just/ moved/ that man/ has/. 

7. used/ for years/ we/ that machine/ haven’t/.

8. sunny/ has been/ it/ for hours/.

9. hasn’t/ David/ his task/ completed/.

10. have seen/ on the street/ many times/ I/ them/ this month/.

11. since last Sunday/ Laura’s dog/ missing/ been/ has/.

12. have been/ since/ friends/ high school/ we/.

13. played/ this is/ I’ve/ this sport/ the first time/.

14. this free and happy/ in my entire life/ I/have never felt/.

15. have waited/ for hours/ for you/ they/.

2.3. Bài tập 3: Lựa chọn phương án đúng. 

1. Have you ever____________ to Hội An?

A. be B. go C. travel D. been

2. My younger sister____________ a new room.

A. have rented B. has rent C. has rented D. rented

3. This is the sweetest ice-cream I____________.

A. have ever make B. have ever made C. haven’t made D. have never made

4. She has lived there____________.

A. for long time B. for 3 months ago C. since 3 months ago     D. for a long time

5. I____________ this dish before. 

A. haven’t tried B. have ever tried C. have never tried D. A & C

6. Sarah and I____________ our daughter. 

A. hasn’t picked up B. haven’t picked       C. not have picked up   D. haven’t picked up

7. My brothers____________ back home since their graduation. 

A. haven’t came   B. haven’t come    C. hasn’t come D. have came

8. We____________ each other for many years. 

A. have known   B. have know    C. has known D. haven’t known

9. They have been friends____________ their graduation. 

A. sine   B. from    C. since D. to

10. The new students____________ anyone in our class.  

A. hasn’t talked     B. have talked    C. haven’t talked    D. haven’t talk

2.4. Bài tập 4: Hoàn thành câu với ‘just’, ‘yet’ and ‘already’.

Lưu ý: Một số câu có thể có nhiều hơn 1 đáp án.

1. Look! We have_______ found a cat in the garden.

2. No, thanks! I have_______ eaten. 

3. An accident has_______ happened. That’s why we heard the sound minutes ago.

4. Oh, no! It’s 6pm, but I haven’t completed my task_______.  

5. Don’t worry! I have_______ done that for you.   

6. I’m so hungry. I haven’t had lunch_______.  

7. I have_______ washed the dishes. You don’t have to do it anymore. 

8. Oh, you don’t have to call her anymore. I have_______ done that.  

9. I have_______ run here. I’m very tired now. 

10. I think she has_______ cried. Her eyes are red.  

2.5. Bài tập 5: Điền since hoặc for vào chỗ trống thích hợp

1. We have been friends_______ we first met in college. 

2. Our son have studied_______ hours. 

3. She has worked for that company_______ nearly a decade. 

4. They have lived in that apartment_______ 2016.  

5. We have waited for them_______ 6pm.    

6. _______ we started dating, she has always made me happy.  

7. I have washed the dishes_______ the beginning of this week. 

8. Our neighbors have sung_______ noon.  

9. _______ last Friday, he has been absent_______ 3 days. 

10. Richard and I haven’t written letters to each other_______ months.   

2.6. Bài tập 6 (nâng cao): Tìm và sửa lỗi trong các câu bên dưới.

1. My father hasn’t cutted the grass for two months.

2. My uncle has work for that company for 10 years.

3. The children hasn’t cleaned their rooms yet. 

4. They has lived there since 1988.

5. Have you watch this movie?

6. They have win that competition many times.  

7. Lee and Sarah hasn’t texted each other since that party. 

8. He hasn’t never left his hometown. 

9. My father hasn’t read any books last year.

10. My niece played the piano since she was a kid.   

2.7. Bài tập 7 (nâng cao): Phân biệt thì Hiện tại Hoàn thành và Quá khứ Đơn

– Giữa Hiện tại Hoàn thành (HTHT) và Quá khứ Đơn (QKĐ) chỉ có duy nhất một điểm có thể gây nhầm lẫn chính là:

Cùng có một chức năng là nói về một việc đã xảy ra trong quá khứ.

– Nhưng chức năng này giữa 2 thì cũng có khác biệt:

+ QKĐ: thường phải có thời gian sự việc xảy ra

+ HTHT: không có thời gian sự việc xảy ra (do không biết/ không muốn nhắc tới/ thấy không quan trọng/…)

Chia các động từ trong ngoặc theo thì Hiện tại Hoàn thành hoặc Quá khứ Đơn:

1. We____________ (buy) this house in 2005.

2. They____________ (buy) a new house. 

3. Susan____________ (not talk) to me since our argument. 

4. I____________ (break) my mother’s vase. 

5. Last night, my brother____________ (break) the vase.  

6. My teacher______ just______ (give) us some homework. 

7. This morning, I ____________ (give) a poor man some money.

8. He____________ (quit) his job last week.  

9. Those employees____________ (quit) their jobs. 

10. ______ you ever______ (give) a presentation?

11. My uncle____________ (rent) a house.

12. We____________ (call) 15 customers this morning. 

13. My father____________ (not go) back to his hometown since he moved here. 

14. That employee____________ (not write) any reports this week. 

15. Sarah____________ (win) that competition many times.   

2.8. Bài tập 8 (nâng cao): Phân biệt thì Hiện tại Hoàn thành và Quá khứ Đơn

Viết các câu dùng thì Quá khứ Đơn bên dưới sang câu dùng thì Hiện tại Hoàn thành:

1. The last time she texted me was 9 am yesterday.  

→ She hasn’t___________________________________.

2. We stopped shopping at that store months ago.

→ It has been months since___________________________________.

3. Our daughter started studying in Germany last Autumn. 

→ Our daughter has___________________________________.

4. I last talked to him last Friday.

→ I haven’t___________________________________.

5. We started using this machine 5 years ago. 

→ We have___________________________________.

6. The last time I visited them was last December

→ I haven’t___________________________________.

7. Sarah and I last watched this movie 2 years ago.

→ It has been___________________________________.

8. The last time I sung was at the party last week.

→ I haven’t___________________________________.

9. They stopped inviting us to their parties when the fight took place. 

→ They haven’t___________________________________.

10. Johnny started cooking for the family last July. 

→ Johnny has___________________________________.

2.9. Bài tập 9 (nâng cao): Viết lại câu với (cụm) từ cho sẵn. 

1. I haven’t called them for years. 

→ The last time___________________________________.

2. It has been 20 years since I first met her. 

→ I first met her___________________________________.

3. My mother hasn’t done yoga for a month. 

→ My mother last___________________________________.

4. I last saw her last week.

→ I haven’t___________________________________.

5. My husband started working for that company 6 years ago.

→ My husband has___________________________________.

6. My sister hasn’t played this sport before.

→ This is the first time___________________________________.

7. This is the first time I have travelled by plane.

→ I have never___________________________________.

8. The last time I danced was at the party last week.

→ I haven’t danced___________________________________.

9. We have never visited this place before.

→ This is the first time___________________________________.

10. She started writing to me last July. 

→ She has___________________________________.

11. I have never seen a funny person like you

→ This is the first time___________________________________.

12. The last time I swam in the sea was 2 years ago. 

→ I haven’t___________________________________.

13. I haven’t gone shopping for nearly a year. 

→ I last___________________________________.

14. My sister stopped playing basketball at the beginning of this year. 

→ My sister hasn’t___________________________________.

15. They have never eaten this fruit before 

→ This___________________________________.

2.10. Bài tập 10 (nâng cao): Đặt câu hỏi cho phần được gạch chân.

1. Sarah has been my friend for nearly 20 years.

2. Our new neighbors have annoyed us for a week. 

3. I have never played golf. 

4. My parents have just bought a car.

5. David hasn’t talked to John for days because John embarrassed him at the party. 

6. I have just bought these pretty shoes at Shoppers’ Choice. 

7. The accountant has stolen some money from the company.

8. In my family, my father hasn’t travelled abroad. 

9. I have visited Paris 6 times.

10. I haven’t gone swimming since the beginning of June because it has been too sunny.  

11. Our boss has just given our leader a promotion. 

12. We haven’t gone swimming for 2 years. 

13. I have helped Peter do homework for a month.

14. Daniel has been late for work more than 3 times.  

15. That noise has annoyed us since the beginning of the week.

2.11. Bài tập 11 (nâng cao): Phân biệt thì Hiện tại Hoàn thành và Hiện tại Hoàn thành Tiếp diễn.

– Giữa HTHT và HTHTTD có một điểm có thể gây nhầm lẫn chính là:

Cùng có một chức năng là nói về một việc bắt đầu trong quá khứ vào kéo dài đến hiện tại.

– Nhưng điểm khác biệt là thì HTHTTD nhấn mạnh vào tính xuyên suốt, không dán đoạn của hành động còn HTHT thì không. 

– Thì HTHT cũng có những chức năng khác mà HTHTTD không có như diễn tả hành động vừa xảy ra, hành động xảy ra trong quá khứ nhưng không rõ thời gian, v.v.

– Cấu trúc thì HTHTTD: 

Subject + have/ has + not + been + V-ing + (object) +…

– Về những chức năng khác của mỗi thì, mời bạn xem 2 bài viết sau:

*dẫn link*

Chia các động từ trong ngoặc theo thì Hiện tại Hoàn thành hoặc Hiện tại Hoàn thành Tiếp diễn:

1. We______ just______ (buy) a new TV.

2. The kids____________ (watch) TV non-stop for hours. 

3. Our daughter______ just______ (tell) me about her plan to study abroad.  

4. I____________ (break) my mother’s vase. 

5. She ____________ (dance) non-stop for nearly an hour. 

6. My teacher______ just______ (give) us some homework. 

7. Our son ____________ (play) games since noon.

8. He____________ (clean) in the kitchen for hours. I don’t want him to be exhausted. 

9. Those employees______ just______ (quit) their jobs. 

10. ______ you ever______ (ride) a horse?

11. That family____________ (sell) their car.

12. We____________ (call) 15 customers this morning. 

13. Our leader____________ (talk) on the phone with that customer for nearly 30 minutes.  

14. That employee____________ (not write) any reports this week. 

15. Our son____________ (win) that competition many times.   

16. Our kids____________ (cook) for a very long time. We should check on them.

17. I____________ (do) so many things this week. 

18. Our neighnors____________ (sing) karaoke for hours. So annoying!

19. We____________ (not have) dinner. We’re so hungry. 

20. My sister____________ (perform) on stage many times. 

2.12. Bài tập 12 (nâng cao): Viết lại các câu bên dưới sao cho có chứa từ trong (…)

1. They stopped texting last Friday. (haven’t) 

2. Our neighbours moved to this city in 2018. (lived)

3. His sister started playing soccer when she was a little girl. (since)

4. The last time we went camping was 6 months ago. (for)

5. I have never listened to this song. (first)

6. It has been 5 years since we sold our car. (ago)

7. This is the first time I have travelled by ship. (before)

8. The last time I sang was at Tim’s party last month. (haven’t)

9. Susan was last invited to a wedding 2 years ago. (hasn’t been)

10. She started working for that company last July. (has)

2.13. Bài tập 13 (nâng cao): Trả lời các câu hỏi đáp án mở bên dưới

1. What sports have you played many times since the beginning of this year? 

2. How long have you lived in your current home?

3. What cities have you travelled to since last summer?

4. What foreign dishes have you tried?

5. What have you helped your friend/ mom/ dad/… to do this month?

6. What have you done this week? (‘this week’ chưa kết thúc)

7. What have you done today? (‘todayoday’ chưa kết thúc)

8. Have you ever gone camping?

9. Have you ever travelled abroad?

10. Have you ever talked to a stranger? 

3. Đáp án bài tập thì Hiện tại hoàn thành

Bài tập 1

1. have lived11. has/ have bought (family có thể được xem là chủ ngữ số ít hoặc số nhiều tùy cách hiểu.)
2. haven’t seen12. have called 
3. have visited13. hasn’t gone 
4. have never watched 14. hasn’t written
5. have eaten 15. has won
6. has just moved 16. has lost 
7. have ever read17. have ever talked 
8. haven’t talked 18. haven’t exercised 
9. hasn’t had 19. haven’t travelled 
10. Have… fed…20. has broken

Bài tập 2

1. She has borrowed my money many times. 

2. He hasn’t called me since the party. 

3. This is the most meaningful movie I have ever watched. 

4. The children have bought a lot of things so far. 

5. We have visited that city many times. 

6. That man has just moved here. 

7. We haven’t used that machine for years. 

8. It has been sunny for hours. 

9. David hasn’t completed his task. 

10. I have seen them on the street many times this month. 

11. Laura’s dog has been missing since last Sunday. 

12. We have been friends since high school. 

13. This is the first time I’ve played this sport. 

14. I have never felt this free and happy in my entire life. 

15. They have waited for you for hours. 

Bài tập 3

1. D 5. D 9. C 
2. C 6. D 10. A
3. B7. B 
4. D 8. A

Bài tập 4

1. just 5. already9. just 
2. just/ already6. yet10. just
3. just7. already 
4. yet8. already

Bài tập 5

1. since5. since9. Since- for
2. for 6. ince10. for
3. for7. since
4. since 8. since

Bài tập 6

1. cutted → cut6. win → won
2. work → worked7. hasn’t → haven’t
3. hasn’t → haven’t8. hasn’t → has
4. has → have9. hasn’t read → didn’t read
5. watch → watched10. played → has played

Bài tập 7

1. bought  6. has just given  11. has rented
2. have bought  7. gave  12. have called  
3. hasn’t talked  8. quit  13. hasn’t gone  
4. have broken 9. have quit  14. hasn’t written
5. broke  10. Have… given…15. has won

Bài tập 8

1. She hasn’t texted me since 9 am yesterday.   

2. It has been months since we stopped shopping at that store.   

3. Our daughter has studied in Germany since last Autumn.  

4. I haven’t talked to him since last Friday. 

5. We have used this machine for 5 years.  

6. I haven’t visited them since last December.  

7. It has been 2 years since Sarah and I last watched this movie. 

8. I haven’t sung since the party last week.   

9. They haven’t invited us to their parties since the fight took place. 

10. Johnny has cooked for the family since last July.  

Bài tập 9

1. The last time I called them was years ago.  

2. I first met her 20 years ago.  

3. My mother last done yoga a month ago.  

4. I haven’t seen her since last week.  

5. My husband has worked for that company for 6 years.  

6. This is the first time my sister has played this sport.  

7. I have never travelled by plane before.  

8. I haven’t danced since the party last week.  

9. This is the first time we have visited this place.  

10. She has written to me since last July.  

11. This is the first time I have seen a funny person like you. 

12. I haven’t swim in the sea for 2 years.  

13. I last went shopping nearly a year ago.  

14. My sister hasn’t played basketball since the beginning of this year. 

15. This is the first time they have eaten this fruit.  

Bài tập 10

1. How long has Sarah been your friend? 

2. Who have annoyed you for a week?

3. What (sport) have you never played?  

4. What have your parents just bought? 

5. Why hasn’t David talked to John for days?

6. Where have you just bought these/ those pretty shoes?

7. What has the accountant done?

8. In you family, who hasn’t travelled abroad?

9. How many times have you visited Paris?

10. Why haven’t you gone swimming since the beginning of June? 

11. What has your boss done? 

12. How long haven’t you gone swimming? 

13. Who(m) have you helped do homework for a month?

14. Who has been late for work more than 3 times? 

15. What has annoyed you since the beginning of the week?

Bài tập 11

1. have just bought11. has/ have sold (Danh từ tập hợp như ‘family’ có thể được xem là chủ ngữ số ít hoặc số nhiều tùy cách hiểu.)
2. have been watching 12. have called 
3. has just told13. has been talking  
4. have broken14. hasn’t written 
5. has been dancing15. has won   
6. has just given 16. have been cooking
7. has been playing17. have done 
8. has been cleaning 18. have been singing
9. have just quit 19. haven’t had dinner 
10. Have… ridden…20. has performed

Bài tập 12

1. They haven’t texted since last Friday.  

2. Our neighbours have lived in this city in 2018. 

3. His sister has played soccer since she was a little girl. 

4. We haven’t gone camping for 6 months.

5. This is the first time I have listened to this song. 

6. We sold our car 5 years ago

7. I have never travelled by ship before.

8. I haven’t sung since Tim’s party last month. 

9. Susan hasn’t been invited to a wedding for 2 years. 

10. She has worked for that company since July.

Bài tập 13

Đây là câu hỏi đáp án mở nên bên dưới chỉ là cấu trúc mà bạn có thể sử dụng để trả lời.

1. I’ve played badminton and soccer many times since the beginning of this year.

2. I have lived in my current home for 7 months.

3. I have travelled to Phan Thiết, Hà Giang and Đà Lạt since last summer.

4. I have tried sushi, pad thai and tacos. 

5. I have helped my friend to write her CV this month. 

6. This week, I have prepared for a job interview, taken my family to a restaurant and hung out with my friend. 

7. Today, I have made a video call with my sister and bought a gift for my friend. 

8. No, I have never gone camping.

9. Yes, I have. I have been to Singapore once. 

10. Yes, I have. That time, I showed a foreigner how to get to Turtle Lake. 

Trên đây là tổng hợp 170+ Bài tập thì Hiện tại hoàn thành kèm theo đáp án chi tiết nhất. Hy vọng với bài viết trên bạn có thể dễ dàng ghi nhớ và hệ thống hóa kiến thức về thì hiện tại hoàn thành một cách hiệu quả. Chúc các bạn học tập tốt!


Thường xuyên ghé thăm website Talkfirst.vn để có thêm những kiến thức về tự học giao tiếp tiếng Anh dành cho người đi làm & đi học bận rộn nhé!

Khóa học

Tiếng Anh Giao Tiếp Ứng Dụng

Nói tiếng Anh tự nhiên như tiếng Việt

Tiếng Anh cho người mất gốc

Giải pháp học tiếng Anh cho người mất gốc

Khóa tiếng Anh cho dân IT

Tiếng Anh chuyên biệt cho dân CNTT

Khóa Thuyết trình tiếng Anh

Thuyết trình tiếng Anh như tiếng Việt

Khóa luyện thi IELTS

Cam kết tăng 1 band điểm sau 1 khóa học

Khóa luyện thi IELTS Online

Học IELTS trực tuyến = Cam kết đầu ra

Khóa IELTS Writing Online

Học Writing cùng chuyên gia hàng đầu

Đăng ký kiểm tra trình độ Miễn Phí
cùng chuyên gia Anh ngữ tại TalkFirst

[Hello Summer] Ưu đãi học phí siêu hot lên đến 30% & nhận voucher 4 triệu đồng