Thì Hiện Tại Hoàn Thành (Present Perfect): Công Thức, Cách Dùng & Bài Tập

Tổng Quan Nhanh

Thì hiện tại hoàn thành (Present Perfect) kết nối quá khứ với hiện tại — diễn tả hành động hoặc trạng thái bắt đầu trong quá khứ nhưng vẫn còn ảnh hưởng đến hiện tại.

Loại câuCông thức
✅ Khẳng địnhS + have/has + V3 (past participle)
❌ Phủ địnhS + have/has + not + V3
❓ Nghi vấn Yes/NoHave/Has + S + V3?
❓ Nghi vấn WHWH + have/has + S + V3?

Dấu hiệu nhận biết: just, already, yet, ever, never, since, for, recently, lately

1. Công Thức Chi Tiết

Khẳng định

S + have/has + V3

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

Chủ ngữTrợ động từVí dụ
I / You / We / TheyhaveI have finished my homework.
He / She / IthasShe has never tried sushi before.

Phủ định

S + have/has + not + V3

Dạng đầy đủDạng rút gọn
I have not seen this movie.I haven’t seen this movie.
She has not finished yet.She hasn’t finished yet.
They have not arrived.They haven’t arrived.

Nghi Vấn Yes/No

Have/Has + S + V3?

Câu hỏiTrả lời khẳng địnhTrả lời phủ định
Have you finished?Yes, I have.No, I haven’t.
Has she called?Yes, she has.No, she hasn’t.
Have they left?Yes, they have.No, they haven’t.

Nghi Vấn WH

WH-word + have/has + S + V3?

  • What have you done so far?
  • Where has she gone?
  • How long have you lived here?

Khi Nào Dùng havehas?

Trợ động từChủ ngữ
haveI, you, we, they, danh từ số nhiều
hashe, she, it, danh từ số ít

2. Động Từ Bất Quy Tắc (V3) Cần Nhớ

Thì hiện tại hoàn thành dùng past participle (V3). Với động từ có quy tắc, V3 = V + -ed. Với động từ bất quy tắc, cần học thuộc:

Động từ (V1)Quá khứ (V2)Past Participle (V3)
gowentgone
seesawseen
dodiddone
eatateeaten
writewrotewritten
taketooktaken
speakspokespoken
knowknewknown
bewas/werebeen
havehadhad

3. Các Trường Hợp Sử Dụng

3.1. Hành động bắt đầu trong quá khứ, kéo dài đến hiện tại

Dùng với for (khoảng thời gian) hoặc since (mốc thời gian cụ thể).

  • I have lived in Ho Chi Minh City for ten years.
  • She has worked at this company since 2018.
  • We have known each other since we were children.

3.2. Hành động xảy ra nhiều lần trong quá khứ

Nhấn mạnh số lần lặp lại, không nêu thời điểm cụ thể.

  • She has seen that movie three times.
  • I have visited Japan twice.
  • He has tried to call her several times.

3.3. Hành động vừa xảy ra, kết quả còn ảnh hưởng hiện tại

Thường dùng với just, already, yet.

  • I have just finished my homework. (vừa xong)
  • She has already left the office. (đã đi rồi)
  • Have you eaten yet? (ăn chưa?)

3.4. Trải nghiệm cá nhân trong cuộc đời

Dùng với ever (trong câu hỏi) và never (phủ định).

  • Have you ever visited Paris?
  • I have never tried skydiving.
  • It’s the best meal I have ever had.

3.5. Hành động trong khoảng thời gian chưa kết thúc

Khoảng thời gian vẫn đang diễn ra (today, this week, this year…).

  • I have drunk three cups of coffee today.
  • She has sent five emails this morning.
  • We have had a lot of rain this week.

4. Since vs. For — Phân Biệt Chi Tiết

Đây là cặp từ dễ nhầm lẫn nhất khi dùng thì hiện tại hoàn thành:

SinceFor
Ý nghĩaTừ một mốc thời gian cụ thểTrong một khoảng thời gian
Đi sauThời điểm (2010, Monday, childhood)Khoảng thời gian (two years, a long time)
Ví dụI have lived here since 2015.I have lived here for nine years.
Ví dụShe has worked here since January.She has worked here for six months.

5. Dấu Hiệu Nhận Biết

Từ / Cụm từVị trí trong câuVí dụ
justGiữa have/has và V3I have just finished lunch.
alreadyGiữa have/has và V3 (khẳng định)She has already called.
yetCuối câu (phủ định / câu hỏi)Have you eaten yet? / I haven’t finished yet.
everGiữa have/has và V3 (câu hỏi)Have you ever been to London?
neverGiữa have/has và V3 (phủ định)I have never tried bungee jumping.
sinceTrước mốc thời gianShe has lived here since 2019.
forTrước khoảng thời gianI have known him for five years.
recently / latelyCuối câu hoặc đầu câuI haven’t seen him recently.

6. Khi Nào KHÔNG Dùng Thì Hiện Tại Hoàn Thành?

Khi câu có mốc thời gian cụ thể trong quá khứ (yesterday, last week, in 2010, ago…), phải dùng quá khứ đơn, không dùng hiện tại hoàn thành.

❌ Sai✅ ĐúngLý do
I have visited the museum yesterday.I visited the museum yesterday.yesterday → quá khứ đơn
She has called me last night.She called me last night.last night → quá khứ đơn
We have met him in 2015.We met him in 2015.in 2015 → quá khứ đơn

7. So Sánh: Hiện Tại Hoàn Thành vs. Quá Khứ Đơn

Tiêu chíHiện tại hoàn thànhQuá khứ đơn
Thời điểmKhông xác định hoặc liên quan hiện tạiXác định rõ ràng trong quá khứ
Dấu hiệujust, already, yet, ever, never, since, foryesterday, last week, ago, in + năm
Ví dụI have seen that movie. (chưa nói khi nào)I saw that movie last Sunday.
Ví dụShe has lived here for years.She lived in Hanoi from 2010 to 2015.

8. Ví Dụ Hội Thoại Thực Tế

Hội thoại 1 — Hỏi về trải nghiệm:

A: Have you ever tried Vietnamese food? B: Yes, I have! I’ve eaten pho several times. It’s delicious. A: Have you tried bánh mì yet? B: No, I haven’t. I’ve been meaning to try it.

Hội thoại 2 — Cập nhật tình hình:

A: Is Linh in the office? B: No, she’s just left. She’s already finished the report. A: Have you sent the email to the client? B: Not yet. I haven’t had time this morning.

9. Lỗi Thường Gặp & Cách Sửa

LỗiCâu saiCâu đúngGiải thích
Dùng sai trợ động từShe have finished.She has finished.she → dùng has
Dùng V2 thay vì V3I have went there.I have gone there.Phải dùng past participle
Dùng với mốc thời gian cụ thểI have seen him yesterday.I saw him yesterday.yesterday → quá khứ đơn
Nhầm vị trí alreadyShe already has left.She has already left.already đứng sau have/has
Nhầm vị trí yetYet I haven’t finished.I haven’t finished yet.yet đứng cuối câu
Nhầm sinceforI’ve lived here since two years.I’ve lived here for two years.two years là khoảng thời gian → for

10. Bài Tập Thực Hành

Bài 1: Chia Động Từ

Điền dạng đúng của động từ trong ngoặc:

  1. We ___________ (be) to Thailand many times.
  2. It is the second time she ___________ (visit) Ho Chi Minh City.
  3. ___________ you ever ___________ (try) sushi?
  4. I ___________ (not/finish) my homework yet.
  5. He ___________ (work) at this company since 2019.
  6. They ___________ (just/arrive) at the airport.
  7. How long ___________ you ___________ (know) her?
  8. She ___________ (never/see) snow in her life.

Đáp Án Bài 1

  1. have been
  2. has visited
  3. Have you ever tried
  4. haven’t finished
  5. has worked
  6. have just arrived
  7. have you known
  8. has never seen

Bài 2: Sửa Lỗi Sai

Tìm và sửa lỗi trong các câu sau:

  1. I have seen him yesterday.
  2. She have lived here for five years.
  3. We have went to that restaurant before.
  4. Have you ate yet?
  5. I yet haven’t called her.

Đáp Án Bài 2

  1. have seensaw him yesterday. (yesterday → quá khứ đơn)
  2. She haveShe has lived here for five years. (she → has)
  3. have went → have gone to that restaurant before. (gone là V3 đúng)
  4. Have you ate → Have you eaten yet? (eaten là V3 đúng)
  5. I yet haven’t → I haven’t called her yet. (yet đứng cuối câu)

Bài 3: Chọn Đáp Án Đúng

  1. I ___________ a movie like that before.

    • A. never see   B. have never seen   C. never saw   D. never seen
  2. She ___________ her homework already.

    • A. has finished   B. finished   C. had finished   D. have finished
  3. ___________ you ever ___________ to New York?

    • A. Did / go   B. Have / been   C. Have / went   D. Has / been
  4. We ___________ here since 2018.

    • A. live   B. lived   C. have lived   D. are living

Đáp Án Bài 3

  1. B — have never seen
  2. A — has finished
  3. B — Have you ever been
  4. C — have lived

11. Mẹo Học Nhanh & Nhớ Lâu

  • 🧠 Nhớ công thức bằng câu hỏi “còn liên quan không?” — Nếu hành động trong quá khứ vẫn còn ảnh hưởng hoặc liên quan đến lúc này, dùng hiện tại hoàn thành. Nếu đã xong hẳn và có thời điểm rõ ràng, dùng quá khứ đơn.
  • 📋 Học cặp since / for qua ví dụ thực tế — Gắn với thông tin của bản thân: I have studied English for ____ years. I have lived in ____ since ____.
  • 📝 Học thuộc V3 của 20 động từ bất quy tắc thông dụng nhất — Đây là nền tảng để dùng thì này chính xác. Ưu tiên: go → gone, see → seen, do → done, be → been, have → had.
  • 🚩 Cảnh giác với “yesterday, last week, ago, in + năm” — Thấy những từ này trong câu, lập tức chuyển sang quá khứ đơn, không dùng hiện tại hoàn thành.
  • 🔄 Luyện viết cặp câu song songI saw him yesterday. (quá khứ đơn) / I have seen him before. (hiện tại hoàn thành) để cảm nhận sự khác biệt.

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

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

Thì hiện tại hoàn thành diễn tả hành động bắt đầu trong quá khứ và vẫn còn liên quan đến hiện tại.

Khi nào dùng since và for?

Since dùng để chỉ mốc thời gian cụ thể (since 2010, since Monday), còn for dùng để chỉ khoảng thời gian (for two years, for a long time).

Làm sao phân biệt present perfect và past simple?

Nếu thời điểm rõ ràng trong quá khứ, dùng past simple. Nếu hành động còn liên quan tới hiện tại hoặc không xác định thời điểm, dùng present perfect.

Khi nào dùng thì hiện tại hoàn thành thay vì thì quá khứ đơn?

Dùng thì hiện tại hoàn thành khi hành động có liên hệ với hiện tại hoặc không xác định thời điểm cụ thể.

Có thể dùng thì hiện tại hoàn thành trong câu hỏi không?

Có. Ví dụ: Have you finished your homework? hoặc What have you done so far?

Những lỗi phổ biến khi sử dụng thì hiện tại hoàn thành là gì?

Dùng sai trợ động từ have/has, nhầm lẫn với quá khứ đơn khi có mốc thời gian cụ thể, và dùng sai trạng từ yet/already.

MyWords - Gà Tiếng Anh 🐔

Học từ vựng tiếng Anh hiệu quả với Spaced Repetition. Miễn phí 100%.