Thì hiện tại hoàn thành (Present Perfect): khái niệm, công thức, bài tập có đáp án
Hướng dẫn đầy đủ thì hiện tại hoàn thành: khái niệm, 5 cách dùng, công thức, quá khứ phân từ V3, dấu hiệu nhận biết, phân biệt for/since và quá khứ đơn, 6 bài tập có đáp án và 10 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 (Present Perfect) nối quá khứ với hiện tại: hành động xảy ra ở quá khứ nhưng còn liên quan đến hiện tại, vì kết quả vẫn còn, vì kinh nghiệm đã có, hoặc vì việc đó vẫn đang tiếp tục đến bây giờ.
Điểm đặc trưng của thì này là không nói rõ thời điểm cụ thể trong quá khứ. Khi đã nêu rõ mốc thời gian như yesterday, last week, in 2020 thì phải dùng quá khứ đơn.
5 cách dùng thì hiện tại hoàn thành

1. Hành động đã xảy ra và còn kết quả ở hiện tại
Ví dụ
I have lost my keys. / She has broken her arm.
Không nói thời điểm; điều quan trọng là bây giờ chìa khóa vẫn đang mất, tay vẫn đang gãy.
2. Kinh nghiệm cho đến thời điểm hiện tại
Ví dụ
I have visited Japan twice. / Have you ever eaten sushi?
Thường dùng ever, never, before, once, twice, many times.
3. Hành động bắt đầu trong quá khứ và còn tiếp tục đến nay
Ví dụ
They have lived here for ten years. / He has worked here since 2020.
Đi kèm for (khoảng thời gian) và since (mốc thời gian).
4. Hành động vừa mới xảy ra
Ví dụ
She has just left. / I have just finished my homework.
Dùng just, recently, lately cho việc xảy ra rất gần thời điểm nói.
5. Việc đã xảy ra hoặc chưa xảy ra cho đến nay
Ví dụ
I haven't finished yet. / He has already eaten lunch.
Already (đã... rồi) dùng trong câu khẳng định; yet dùng trong câu phủ định và nghi vấn.
Công thức thì hiện tại hoàn thành

| Chủ ngữ | Khẳng định | Phủ định | Nghi vấn |
|---|---|---|---|
| I / You / We / They | They have finished. | They have not (haven't) finished. | Have they finished? |
| He / She / It | She has finished. | She has not (hasn't) finished. | Has she finished? |
Câu hỏi với từ để hỏi (Wh-questions)
| Cấu trúc | Ví dụ |
|---|---|
| Wh-word + have/has + S + V3 ? | How long have you lived here? / What have you done? |
| Who/What + has + V3 (hỏi chủ ngữ) | Who has taken my pen? / What has happened? |
Quá khứ phân từ (V3/ed)
Động từ ở thì hiện tại hoàn thành phải ở dạng quá khứ phân từ (past participle, V3). Động từ có quy tắc thêm -ed, động từ bất quy tắc phải học thuộc.

| Nhóm | Quy tắc | Ví dụ (V1 – V2 – V3) |
|---|---|---|
| Có quy tắc | + ed (hoặc d, ied) | work – worked – worked; live – lived – lived; study – studied – studied |
| V1 = V3 | V1 và V3 giống nhau | come – came – come; run – ran – run; become – became – become |
| V2 = V3 | V2 và V3 giống nhau | buy – bought – bought; make – made – made; have – had – had; find – found – found; tell – told – told |
| Ba dạng khác nhau | V1, V2, V3 đều khác | go – went – gone; see – saw – seen; eat – ate – eaten; do – did – done; write – wrote – written; take – took – taken |
| Ba dạng giống nhau | V1 = V2 = V3 | put – put – put; cut – cut – cut; read – read – read; hit – hit – hit |
Have been to và have gone to
| Cấu trúc | Ý nghĩa | Ví dụ |
|---|---|---|
| have/has been to | Đã từng đến và đã quay về | I have been to Paris. (Tôi từng đến Paris, bây giờ không ở đó) |
| have/has gone to | Đã đi và hiện đang ở đó hoặc đang trên đường | She has gone to Paris. (Cô ấy đã đến Paris và chưa về) |
Dấu hiệu nhận biết thì hiện tại hoàn thành
Thì hiện tại hoàn thành thường đi cùng các từ chỉ khoảng thời gian chưa kết thúc, kinh nghiệm hoặc việc vừa mới xảy ra.

Từ chỉ việc vừa xảy ra hoặc đã xảy ra
- just, recently, lately
- already (câu khẳng định, hoặc cuối câu để nhấn mạnh)
- yet (câu phủ định và nghi vấn, thường ở cuối câu)
Từ chỉ kinh nghiệm
- ever, never, before
- once, twice, three times, many times
- Ví dụ: Have you ever been to London? — I have never seen snow.
For và since
- for + khoảng thời gian: for 3 years, for two hours, for a long time
- since + mốc thời gian: since 2020, since Monday, since I was a child
Khoảng thời gian chưa kết thúc
- so far, up to now, until now
- this week, this month, today, this year (khi khoảng thời gian đó chưa kết thúc)
So sánh hiện tại hoàn thành và quá khứ đơn
| Quá khứ đơn | Hiện tại hoàn thành | |
|---|---|---|
| Công thức | S + V2/ed | S + have/has + V3/ed |
| Thời điểm | Có mốc thời gian rõ ràng trong quá khứ | Không nêu thời điểm, còn liên quan đến hiện tại |
| Dấu hiệu | yesterday, last week, in 2020, ago | just, already, yet, ever, never, since, for |
| Ví dụ | I lost my keys yesterday. | I have lost my keys. (bây giờ vẫn chưa tìm thấy) |
| Ví dụ 2 | She lived in Hue in 2015. | She has lived in Hue since 2015. (vẫn đang ở đó) |
Phân biệt for và since
| for | since | |
|---|---|---|
| Đi với | Khoảng thời gian | Mốc thời gian bắt đầu |
| Ví dụ | for three years | since 2023 |
| Ví dụ | for two hours | since 8 a.m. |
| Ví dụ | for a long time | since Monday |
| Câu hoàn chỉnh | I have studied English for five years. | I have studied English since 2021. |
Những lỗi thường gặp
Mẹo ghi nhớ nhanh
- Công thức: have/has + V3. Hãy học thuộc bảng động từ bất quy tắc thông dụng.
- Thấy just, already, yet, ever, never, since, for thì nghĩ đến hiện tại hoàn thành.
- Có yesterday, last..., ago, in + năm quá khứ thì dùng quá khứ đơn, không dùng hiện tại hoàn thành.
- Nhớ: for + khoảng thời gian, since + mốc thời gian.
- Mỗi ngày học 5 động từ bất quy tắc và đặt câu với have/has.
Bài tập thực hành
Hãy tự làm các bài tập sau trước khi xem đáp án ở phần cuối bài. Mỗi bài có mức độ tăng dần.
Bài tập 1: Chia động từ trong ngoặc
Chia động từ ở thì hiện tại hoàn thành.
- She ____ (finish) her homework.
- They ____ (not see) that film yet.
- ____ you ever ____ (be) to Japan?
- I ____ (live) in this city for ten years.
- He ____ (just/leave) the office.
- We ____ (not eat) lunch yet.
- How long ____ she ____ (know) him?
- My brother ____ (break) his leg.
- ____ they ____ (arrive) yet?
- I ____ (never/see) snow.
Bài tập 2: Chọn đáp án đúng
Chọn A, B hoặc C.
- I ____ him since 2019. (A. know / B. have known / C. knew)
- She has lived here ____ five years. (A. for / B. since / C. ago)
- ____ you finished your work yet? (A. Did / B. Are / C. Have)
- He ____ to Paris three times. (A. has been / B. has gone / C. went)
- We ____ at the cinema yesterday. (A. have met / B. met / C. meet)
- They haven't called ____. (A. already / B. yet / C. ever)
- My sister ____ her keys. She can't open the door. (A. loses / B. lost / C. has lost)
- It's the first time I ____ sushi. (A. eat / B. have eaten / C. ate)
Bài tập 3: Tìm và sửa lỗi sai
Mỗi câu có một lỗi. Hãy viết lại câu đúng.
- She has went to school.
- I have seen him yesterday.
- They has finished the project.
- He has lived here since ten years.
- I have never ate sushi.
- Have she done her homework?
Bài tập 4: Chuyển sang phủ định và nghi vấn
Viết lại mỗi câu thành dạng phủ định và dạng nghi vấn.
- She has cleaned the room.
- They have visited Hue.
- I have finished my report.
- He has bought a new car.
Bài tập 5: Sắp xếp các từ thành câu hoàn chỉnh
Sắp xếp các từ sau thành câu đúng.
- just / has / the bus / left
- you / ever / have / eaten / sushi
- not / I / my homework / have / finished / yet
- lived / she / here / has / 2018 / since
Bài tập 6: Viết về bản thân
Viết 5 câu về kinh nghiệm của bạn bằng thì hiện tại hoàn thành (ví dụ: I have visited Da Lat twice. I have never eaten durian.), trong đó có dùng for hoặc since ít nhất một lần.
Đáp án
Bài tập 1
- has finished
- have not (haven't) seen
- Have ... been
- have lived
- has just left
- have not (haven't) eaten
- has ... known
- has broken
- Have ... arrived
- have never seen
Bài tập 2
- B. have known
- A. for
- C. Have
- A. has been
- B. met (có yesterday nên dùng quá khứ đơn)
- B. yet
- C. has lost
- B. have eaten
Bài tập 3
- She has gone to school. (V3 của go là gone)
- I saw him yesterday. (có yesterday nên dùng quá khứ đơn)
- They have finished the project. (they đi với have)
- He has lived here for ten years. (khoảng thời gian dùng for)
- I have never eaten sushi. (V3 của eat là eaten)
- Has she done her homework? (she đi với has)
Bài tập 4
- She hasn't (has not) cleaned the room. / Has she cleaned the room?
- They haven't (have not) visited Hue. / Have they visited Hue?
- I haven't (have not) finished my report. / Have I finished my report?
- He hasn't (has not) bought a new car. / Has he bought a new car?
Bài tập 5
- The bus has just left.
- Have you ever eaten sushi?
- I have not finished my homework yet.
- She has lived here since 2018.
Bài tập 6
Đáp án mở. Gợi ý: I have studied English for three years. I have visited Da Lat twice. I have never eaten durian. My family has lived in this house since 2015. I have just finished my homework.
Tổng kết
Câu hỏi thường gặp
Thì hiện tại hoàn thành dùng khi nào?
Dùng cho hành động đã xảy ra nhưng còn liên quan đến hiện tại: kết quả vẫn còn (I have lost my keys), kinh nghiệm (I have visited Japan), việc kéo dài đến nay (I have lived here for 5 years) và việc vừa xảy ra (She has just left).
Công thức thì hiện tại hoàn thành là gì?
Khẳng định: S + have/has + V3/ed. Phủ định: S + have/has + not + V3/ed. Nghi vấn: Have/Has + S + V3/ed? Has dùng với he, she, it.
V3 là gì và làm sao nhớ động từ bất quy tắc?
V3 là quá khứ phân từ. Động từ có quy tắc thêm -ed; động từ bất quy tắc phải học thuộc theo nhóm (V2 = V3, ba dạng khác nhau, ba dạng giống nhau). Mỗi ngày nên học 5 động từ và đặt câu.
Phân biệt for và since như thế nào?
for + khoảng thời gian (for 3 years, for two hours). since + mốc thời gian bắt đầu (since 2020, since Monday).
Khác nhau giữa hiện tại hoàn thành và quá khứ đơn?
Quá khứ đơn nói việc đã kết thúc ở thời điểm rõ ràng (I lost my keys yesterday). Hiện tại hoàn thành không nêu thời điểm và còn liên quan đến hiện tại (I have lost my keys).
Already, yet, just dùng như thế nào?
just (vừa mới) đứng giữa have/has và V3; already (đã... rồi) dùng trong câu khẳng định; yet (chưa / đã... chưa) dùng ở cuối câu phủ định và nghi vấn.
Have been to khác have gone to ra sao?
have been to: đã đến và đã quay về (I have been to Paris). have gone to: đã đi và vẫn đang ở đó hoặc đang trên đường (She has gone to Paris).
Vì sao không dùng với yesterday, last year?
Vì đó là các mốc thời gian xác định đã kết thúc, nên phải dùng quá khứ đơn: I saw him yesterday.
Sau "It's the first time" dùng thì gì?
Dùng hiện tại hoàn thành: It's the first time I have eaten sushi. It's the second time she has been late this week.
Làm sao để nhớ lâu và dùng đúng thì này?
Hãy kể về trải nghiệm của chính bạn bằng tiếng Anh, học bảng V3 mỗi ngày và làm lại bài tập sau 1 ngày, 3 ngày, 7 ngày.