[PDF] Trọn bộ bài tập thì hiện tại hoàn thành từ cơ bản đến nâng cao, có đáp án chi tiết (2026)

Trọn bộ bài tập thì hiện tại hoàn thành từ cơ bản đến nâng cao, có đáp án chi tiết

Trọn bộ bài tập thì hiện tại hoàn thành từ cơ bản đến nâng cao, có đáp án chi tiết

Trọn bộ bài tập thì hiện tại hoàn thành từ cơ bản đến nâng cao, có đáp án chi tiết

Thì hiện tại hoàn thành là một trong những thì quan trọng nhất trong tiếng Anh. Đây cũng là phần ngữ pháp khiến nhiều bạn mất gốc dễ nhầm với quá khứ đơn, đặc biệt khi gặp các dấu hiệu như for, since, already, yet, just.

Trong bài viết này, SEC sẽ giúp bạn hệ thống lại công thức, cách dùng, dấu hiệu nhận biết và luyện tập với 50 câu bài tập thì hiện tại hoàn thành từ cơ bản đến nâng cao, có đáp án giải thích chi tiết.

Key takeaways

  • Thì hiện tại hoàn thành có công thức chính: S + have/has + V3/V-ed.
  • Dùng have với I, you, we, they. Dùng has với he, she, it.
  • Sau have/has luôn dùng V3 hoặc động từ thêm -ed.
  • For đi với khoảng thời gian, since đi với mốc thời gian.
  • Không dùng thì hiện tại hoàn thành với thời gian quá khứ xác định như yesterday, last week, last year.
  • Muốn làm đúng bài tập, cần xác định dấu hiệu thời gian, chủ ngữ và dạng động từ.

Thì hiện tại hoàn thành là gì?

Thì hiện tại hoàn thành, hay Present Perfect, là thì dùng để diễn tả một hành động đã xảy ra trong quá khứ nhưng vẫn có liên quan đến hiện tại.

Thì này xuất hiện rất nhiều trong:

  • Giao tiếp hằng ngày
  • Bài thi TOEIC
  • IELTS
  • THPT Quốc gia
  • Tiếng Anh công việc

Tuy nhiên, nhiều người học thường bị nhầm ở các điểm sau:

  • Hiện tại hoàn thành và quá khứ đơn
  • For và since
  • Have và has
  • V cột 2 và V cột 3

Nếu bạn đang mất gốc tiếng Anh, chưa hiểu bản chất của thì hiện tại hoàn thành hoặc thường xuyên làm sai bài tập phần này, hãy học theo đúng thứ tự: công thức, cách dùng, dấu hiệu, lỗi sai, sau đó mới luyện bài tập.

Tham khảo thêm: thì hiện tại hoàn thành

Công thức thì hiện tại hoàn thành

Công thức dấu hiệu nhận biết và cách phân biệt for với since trong thì hiện tại hoàn thành

Thì hiện tại hoàn thành có 3 dạng câu chính: khẳng định, phủ định và nghi vấn.

1. Câu khẳng định

Công thức:

S + have/has + V-ed/V3

Ví dụ:

  • I have finished my homework.
  • She has gone to Da Nang.

2. Câu phủ định

Công thức:

S + have/has + not + V-ed/V3

Ví dụ:

  • They have not eaten lunch.
  • He has not called me.

Có thể viết tắt:

  • have not = haven’t
  • has not = hasn’t

3. Câu nghi vấn

Công thức:

Have/Has + S + V-ed/V3?

Ví dụ:

  • Have you done your homework?
  • Has she arrived yet?

Điểm cần nhớ nhất là: sau have/has, động từ chính phải ở dạng V3 hoặc thêm -ed. Đây là lỗi rất nhiều bạn mới học tiếng Anh hay mắc phải.

Cách dùng thì hiện tại hoàn thành

1. Diễn tả hành động đã xảy ra nhưng không nói rõ thời gian

Ví dụ:

  • I have seen this movie.
  • She has visited Singapore.

Ở đây, người nói chỉ quan tâm hành động đã xảy ra hay chưa, không nhấn mạnh hành động xảy ra vào thời điểm cụ thể nào.

2. Diễn tả kinh nghiệm

Ví dụ:

  • I have traveled to Thailand twice.
  • He has never eaten sushi.

Cách dùng này thường xuất hiện khi nói về trải nghiệm trong đời, nhất là với các từ như ever, never, before, once, twice, many times.

3. Diễn tả hành động bắt đầu trong quá khứ và kéo dài đến hiện tại

Ví dụ:

  • We have lived here for 10 years.
  • She has studied English since 2020.

Ở cách dùng này, hành động không chỉ xảy ra trong quá khứ mà còn kéo dài hoặc còn liên quan đến hiện tại.

4. Diễn tả hành động vừa mới xảy ra

Ví dụ:

  • I have just finished dinner.
  • They have already left.

Các từ just, already, recently, lately thường giúp người học nhận ra cách dùng này.

Tham khảo thêm: ngữ pháp tiếng Anh cho người mất gốc

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

Khi gặp các từ dưới đây, bạn nên nghĩ ngay đến thì hiện tại hoàn thành:

  • already
  • yet
  • just
  • ever
  • never
  • recently
  • lately
  • for
  • since
  • so far
  • up to now
  • before
  • many times

Ví dụ với for:

  • I have worked here for 3 years.

For dùng với khoảng thời gian.

Ví dụ với since:

  • She has lived here since 2021.

Since dùng với mốc thời gian.

Một mẹo nhỏ khi làm bài là hãy gạch chân dấu hiệu thời gian trước. Nếu câu có since 2020, for 5 years, already, yet, never, before, khả năng cao bạn cần dùng hiện tại hoàn thành.

Phân biệt for và since

For và since đều thường gặp trong thì hiện tại hoàn thành, nhưng cách dùng khác nhau.

For Since
Dùng với khoảng thời gian Dùng với mốc thời gian
for 2 years since 2020
for a week since Monday
for 3 hours since 7 p.m.
for 10 minutes since yesterday

Ví dụ:

  • I have studied English for 5 years.
  • I have studied English since 2020.

Hai câu đều đúng, nhưng khác nhau ở cách diễn đạt thời gian.

For trả lời cho câu hỏi: trong bao lâu?

Since trả lời cho câu hỏi: từ khi nào?

Tham khảo thêm: lỗi dùng since với for

Cách chia have, has và V3 dễ nhớ

Muốn dùng đúng thì hiện tại hoàn thành, bạn cần xử lý 2 việc:

  • Chọn have hay has
  • Chia động từ chính ở dạng V3 hoặc V-ed

Khi nào dùng have?

Dùng have với:

  • I
  • You
  • We
  • They
  • Chủ ngữ số nhiều

Ví dụ:

  • We have finished the test.
  • They have visited Hanoi many times.

Khi nào dùng has?

Dùng has với:

  • He
  • She
  • It
  • Chủ ngữ số ít

Ví dụ:

  • She has cleaned the room.
  • He has just arrived home.

Sau have/has dùng gì?

Sau have/has phải dùng V-ed hoặc V3.

V1 V3
go gone
eat eaten
see seen
write written
do done

Ví dụ đúng:

  • I have eaten breakfast.
  • She has written three emails.
  • We have gone to school.

Ví dụ sai:

  • I have eat breakfast.
  • She has write three emails.
  • We have went to school.

Tham khảo thêm: quá khứ phân từ có phải thì quá khứ không

Phân biệt hiện tại hoàn thành và quá khứ đơn

Hiện tại hoàn thành và quá khứ đơn đều có thể nói về hành động trong quá khứ, nhưng điểm khác nhau nằm ở mối liên hệ với hiện tại và thời gian xảy ra hành động.

Hiện tại hoàn thành Quá khứ đơn
Có liên quan đến hiện tại Đã kết thúc trong quá khứ
Không nói rõ thời gian Có thời gian xác định
have/has + V3/V-ed V2/V-ed
I have visited London. I visited London last year.

Ví dụ:

  • I have visited London.

Câu này có nghĩa là tôi đã từng đến London. Người nói chỉ nhấn mạnh trải nghiệm, không nói rõ đi vào thời điểm nào.

  • I visited London last year.

Câu này có thời gian xác định là last year, nên dùng quá khứ đơn.

Một quy tắc dễ nhớ:

  • Có yesterday, last night, last week, last year, ago, in 2020: thường dùng quá khứ đơn.
  • Có since, for, ever, never, already, yet, before: thường dùng hiện tại hoàn thành.

Tham khảo thêm: mẹo phân biệt hiện tại hoàn thành và quá khứ đơn

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

Lỗi 1: Dùng sai have và has

Sai:

  • She have finished her homework.

Đúng:

  • She has finished her homework.

Giải thích: She là chủ ngữ số ít nên dùng has.

Lỗi 2: Dùng sai V3

Sai:

  • I have eat breakfast.

Đúng:

  • I have eaten breakfast.

Giải thích: Sau have/has phải dùng V3. V3 của eat là eaten.

Lỗi 3: Dùng quá khứ đơn với since

Sai:

  • I lived here since 2020.

Đúng:

  • I have lived here since 2020.

Giải thích: Since 2020 cho thấy hành động bắt đầu trong quá khứ và kéo dài đến hiện tại.

Lỗi 4: Dùng hiện tại hoàn thành với thời gian quá khứ xác định

Sai:

  • I have finished my homework yesterday.

Đúng:

  • I finished my homework yesterday.

Giải thích: Yesterday là thời gian quá khứ xác định, nên dùng quá khứ đơn.

Tham khảo thêm: lỗi thường gặp khi dùng thì trong tiếng Anh

Mẹo học nhanh cho người mất gốc

Mẹo 1: Nhìn dấu hiệu thời gian trước

Khi thấy các từ sau, hãy nghĩ đến hiện tại hoàn thành:

  • for
  • since
  • already
  • yet
  • just
  • ever
  • never

Mẹo 2: Hỏi xem hành động còn liên quan đến hiện tại không

Nếu hành động bắt đầu trong quá khứ và còn liên quan đến hiện tại, ưu tiên dùng hiện tại hoàn thành.

Ví dụ:

  • I have lost my keys, so I cannot open the door.

Việc mất chìa khóa xảy ra trước đó, nhưng kết quả vẫn ảnh hưởng đến hiện tại: bây giờ không mở được cửa.

Mẹo 3: Nhớ công thức ngắn

Have/Has + V3/V-ed

Chỉ cần nhớ đúng cụm này, bạn đã tránh được rất nhiều lỗi sai cơ bản.

100 câu bài tập thì hiện tại hoàn thành theo từng dạng có đáp án chi tiết

Trọn bộ bài tập thì hiện tại hoàn thành

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

Câu 1: I ______ (finish) my homework.

Câu 2: She ______ (live) here since 2020.

Câu 3: They ______ (visit) Hanoi many times.

Câu 4: We ______ (not eat) lunch yet.

Câu 5: He ______ (just arrive) home.

Câu 6: My father ______ (work) here for 15 years.

Câu 7: I ______ never ______ (see) this movie.

Câu 8: You ______ (do) this exercise already.

Câu 9: The students ______ (finish) the test.

Câu 10: She ______ (not call) me yet.

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

Câu 11: I _____ my homework already.

A. have finished
B. has finished
C. finished

Câu 12: She _____ here since 2021.

A. lives
B. has lived
C. lived

Câu 13: They _____ lunch yet.

A. have not eaten
B. has not eaten
C. did not eat

Câu 14: He _____ to Singapore twice.

A. went
B. has gone
C. has been

Câu 15: We _____ this movie before.

A. have seen
B. saw
C. has seen

Câu 16: My mother _____ dinner just now.

A. has cooked
B. cooked
C. cooks

Câu 17: I _____ never _____ sushi.

A. have/eaten
B. has/eaten
C. did/eat

Câu 18: She _____ English for 5 years.

A. studies
B. studied
C. has studied

Câu 19: Tom _____ his keys.

A. has lost
B. lost
C. loses

Câu 20: They _____ the project yet.

A. have not finished
B. did not finish
C. has not finished

Bài 3: Tìm lỗi sai

Câu 21: She have visited Paris before.

Câu 22: I have eat breakfast already.

Câu 23: They has finished their homework.

Câu 24: He have never seen this film.

Câu 25: We have went to school.

Câu 26: My sister has write three emails.

Câu 27: You has done this exercise.

Câu 28: The boys has played football.

Câu 29: I have saw that movie.

Câu 30: She have worked here since 2020.

Bài 4: Viết thành câu hoàn chỉnh

Câu 31: I / finish / my homework

Câu 32: She / live / here / since 2020

Câu 33: They / visit / Da Nang / many times

Câu 34: We / not eat / lunch / yet

Câu 35: He / just arrive / home

Câu 36: My father / work / here / for 10 years

Câu 37: I / never see / this movie

Câu 38: You / already do / this exercise

Câu 39: The students / finish / the test

Câu 40: She / not call / me / yet

Bài 5: Phân biệt hiện tại hoàn thành và quá khứ đơn

Câu 41: I _____ that movie last week.

A. have seen
B. saw
C. has seen

Câu 42: She _____ in this company since 2021.

A. worked
B. works
C. has worked

Câu 43: We _____ dinner an hour ago.

A. have eaten
B. ate
C. has eaten

Câu 44: They _____ to Japan three times.

A. have traveled
B. traveled
C. travel

Câu 45: He _____ his homework yesterday.

A. has finished
B. finished
C. finishes

Câu 46: I _____ my keys, so I cannot open the door.

A. lost
B. have lost
C. lose

Câu 47: My father _____ here for 20 years.

A. worked
B. has worked
C. works

Câu 48: She _____ me last night.

A. has called
B. called
C. calls

Câu 49: We _____ this restaurant before.

A. have visited
B. visited
C. visit

Câu 50: Tom _____ his homework yet.

A. has not finished
B. did not finish
C. not finished

Đáp án và giải thích chi tiết

Đáp án bài 1: Chia động từ trong ngoặc

Câu 1: have finished
Giải thích: Hành động đã hoàn thành.

Câu 2: has lived
Giải thích: Since 2020 là dấu hiệu của thì hiện tại hoàn thành. She đi với has.

Câu 3: have visited
Giải thích: Many times diễn tả kinh nghiệm. They đi với have.

Câu 4: have not eaten
Giải thích: Yet thường dùng trong câu phủ định của thì hiện tại hoàn thành.

Câu 5: has just arrived
Giải thích: Just diễn tả hành động vừa mới xảy ra. He đi với has.

Câu 6: has worked
Giải thích: For 15 years là khoảng thời gian kéo dài đến hiện tại. My father là chủ ngữ số ít.

Câu 7: have never seen
Giải thích: Never thường dùng với thì hiện tại hoàn thành.

Câu 8: have done
Giải thích: Already cho thấy hành động đã hoàn thành.

Câu 9: have finished
Giải thích: The students là chủ ngữ số nhiều nên dùng have.

Câu 10: has not called
Giải thích: Yet dùng trong câu phủ định. She đi với has.

Đáp án bài 2: Chọn đáp án đúng

Câu 11: A. have finished
Giải thích: Already là dấu hiệu phổ biến của thì hiện tại hoàn thành.

Câu 12: B. has lived
Giải thích: Since 2021 diễn tả hành động kéo dài đến hiện tại.

Câu 13: A. have not eaten
Giải thích: Yet thường dùng trong câu phủ định.

Câu 14: C. has been
Giải thích: Twice diễn tả kinh nghiệm. Has been phù hợp hơn has gone khi nói về trải nghiệm đã từng đến một nơi.

Câu 15: A. have seen
Giải thích: Before diễn tả trải nghiệm đã từng xảy ra.

Câu 16: B. cooked
Giải thích: Just now là dấu hiệu của quá khứ đơn.

Câu 17: A. have/eaten
Giải thích: Never thường đi với thì hiện tại hoàn thành. Sau have dùng V3: eaten.

Câu 18: C. has studied
Giải thích: For 5 years diễn tả khoảng thời gian kéo dài đến hiện tại.

Câu 19: A. has lost
Giải thích: Việc mất chìa khóa ảnh hưởng đến hiện tại.

Câu 20: A. have not finished
Giải thích: Yet dùng trong câu phủ định. They đi với have.

Đáp án bài 3: Tìm lỗi sai

Câu 21: Sai have, sửa thành has
Giải thích: She là chủ ngữ số ít.

Câu 22: Sai eat, sửa thành eaten
Giải thích: Sau have phải dùng V3.

Câu 23: Sai has, sửa thành have
Giải thích: They đi với have.

Câu 24: Sai have, sửa thành has
Giải thích: He đi với has.

Câu 25: Sai went, sửa thành gone
Giải thích: Sau have dùng V3. V3 của go là gone.

Câu 26: Sai write, sửa thành written
Giải thích: Written là V3 của write.

Câu 27: Sai has, sửa thành have
Giải thích: You đi với have.

Câu 28: Sai has, sửa thành have
Giải thích: The boys là chủ ngữ số nhiều.

Câu 29: Sai saw, sửa thành seen
Giải thích: Sau have phải dùng V3. V3 của see là seen.

Câu 30: Sai have, sửa thành has
Giải thích: She đi với has.

Đáp án bài 4: Viết thành câu hoàn chỉnh

Câu 31: I have finished my homework.

Câu 32: She has lived here since 2020.

Câu 33: They have visited Da Nang many times.

Câu 34: We have not eaten lunch yet.

Câu 35: He has just arrived home.

Câu 36: My father has worked here for 10 years.

Câu 37: I have never seen this movie.

Câu 38: You have already done this exercise.

Câu 39: The students have finished the test.

Câu 40: She has not called me yet.

Đáp án bài 5: Phân biệt hiện tại hoàn thành và quá khứ đơn

Câu 41: B. saw
Giải thích: Last week là thời gian quá khứ xác định, nên dùng quá khứ đơn.

Câu 42: C. has worked
Giải thích: Since 2021 diễn tả hành động kéo dài đến hiện tại.

Câu 43: B. ate
Giải thích: An hour ago là thời gian quá khứ xác định.

Câu 44: A. have traveled
Giải thích: Three times diễn tả kinh nghiệm.

Câu 45: B. finished
Giải thích: Yesterday là dấu hiệu của quá khứ đơn.

Câu 46: B. have lost
Giải thích: Việc mất chìa khóa ảnh hưởng đến hiện tại: hiện tại không mở được cửa.

Câu 47: B. has worked
Giải thích: For 20 years diễn tả khoảng thời gian kéo dài đến hiện tại.

Câu 48: B. called
Giải thích: Last night là thời gian quá khứ xác định.

Câu 49: A. have visited
Giải thích: Before diễn tả trải nghiệm đã từng xảy ra.

Câu 50: A. has not finished
Giải thích: Yet dùng trong câu phủ định của thì hiện tại hoàn thành. Tom là chủ ngữ số ít nên dùng has.

Mẹo làm bài nhanh trong phòng thi

Khi gặp bài tập thì hiện tại hoàn thành, bạn có thể làm theo 3 bước sau:

Bước 1: Tìm dấu hiệu thời gian

Ví dụ:

  • since 2020
  • for 5 years
  • already
  • yet
  • just
  • ever
  • never
  • before

Nếu có các dấu hiệu này, câu thường dùng thì hiện tại hoàn thành.

Bước 2: Xác định chủ ngữ

  • He, she, it, chủ ngữ số ít: has
  • I, you, we, they, chủ ngữ số nhiều: have

Bước 3: Kiểm tra dạng động từ

Sau have/has, động từ chính phải ở dạng V3 hoặc V-ed.

Ví dụ:

  • have eaten
  • has gone
  • have seen
  • has worked

Chỉ cần làm đúng 3 bước này, bạn sẽ tránh được phần lớn lỗi sai khi làm bài tập về thì hiện tại hoàn thành.

FAQ

Thì hiện tại hoàn thành có phải lúc nào cũng dùng với for và since không?

Không. For và since là dấu hiệu rất phổ biến, nhưng thì hiện tại hoàn thành còn đi với already, yet, just, ever, never, before, recently, lately, so far.

Khi nào dùng have, khi nào dùng has?

Dùng have với I, you, we, they và chủ ngữ số nhiều. Dùng has với he, she, it và chủ ngữ số ít.

Sau have/has dùng V2 hay V3?

Sau have/has phải dùng V3 hoặc động từ thêm -ed. Không dùng V2 nếu đang chia thì hiện tại hoàn thành.

Vì sao câu “I have finished my homework yesterday” sai?

Vì yesterday là thời gian quá khứ xác định. Khi có thời gian xác định trong quá khứ, ta dùng quá khứ đơn: I finished my homework yesterday.

Người mất gốc nên học thì hiện tại hoàn thành như thế nào?

Bạn nên học theo thứ tự: công thức, cách dùng, dấu hiệu nhận biết, lỗi sai thường gặp, sau đó luyện bài tập từ dễ đến khó. Không nên học thuộc công thức riêng lẻ mà cần đặt vào ví dụ cụ thể.

Tải bộ bài tập kèm đáp án

SEC đã tổng hợp lại phần bài tập thì hiện tại hoàn thành trong một file riêng để bạn có thể tải về, in ra và luyện tập thêm sau khi học xong lý thuyết.

TẢI BỘ BÀI TẬP THÌ HIỆN TẠI HOÀN THÀNH TỪ CƠ BẢN ĐẾN NÂNG CAO KÈM ĐÁP ÁN CHI TIẾT: [LINK TẢI TÀI LIỆU]

Bạn nên làm bài một lượt trước, sau đó mới đối chiếu đáp án để biết mình đang sai ở phần công thức, dấu hiệu thời gian hay dạng động từ.

Kết luận

Thì hiện tại hoàn thành là một trong những thì quan trọng nhất trong tiếng Anh vì xuất hiện nhiều trong giao tiếp, bài thi TOEIC, IELTS và THPT Quốc gia.

Muốn dùng tốt thì này, bạn cần nắm chắc 4 điểm:

  • Công thức have/has + V3/V-ed
  • Cách dùng theo từng ngữ cảnh
  • Dấu hiệu nhận biết như for, since, already, yet, just
  • Sự khác nhau giữa hiện tại hoàn thành và quá khứ đơn

Sau khi học lý thuyết, hãy luyện lại 50 câu bài tập trong bài để kiểm tra mức độ hiểu bài của mình. Nếu còn nhầm giữa have/has, V2/V3 hoặc for/since, bạn nên quay lại từng phần lý thuyết và làm lại bài tập thêm một lần nữa.

Xem thêm

Nếu bạn đang học lại tiếng Anh từ đầu và thường xuyên bị rối khi gặp các thì, SEC có thể giúp bạn hệ thống lại ngữ pháp theo cách dễ hiểu hơn. Bắt đầu từ những công thức nền tảng, bạn sẽ biết cách đọc câu, chia động từ và làm bài tập từng bước, thay vì học thuộc rời rạc rồi nhanh quên.

Phone Gọi ngay Zalo Zalo Facebook Facebook
Đang gửi thông tin . . .
Đang gửi thông tin . . .