Học xong bài này, bạn sẽ dùng được thì hiện tại hoàn thành (present perfect) để nói về kinh nghiệm đã từng trải qua ("tôi đã từng làm việc với khách hàng nước ngoài"), việc bắt đầu trong quá khứ và vẫn tiếp diễn ("tôi làm ở đây từ năm 2019 đến giờ"), hay một việc vừa mới xong và còn ảnh hưởng đến hiện tại ("tôi vừa gửi xong email"). Đây là thì cuối cùng trong bộ 5 thì cơ bản của giai đoạn 1, và cũng là thì hay bị nhầm với quá khứ đơn nhất vì tiếng Việt không phân biệt rõ hai cách nói này. Nắm chắc bài này giúp bạn làm đúng các câu hỏi chọn thì ở Part 5 và tránh bẫy "mốc thời gian cụ thể" rất hay gặp trong đề TOEIC.

Ôn nhanh bài trước

  • Ở Bài 11: Tương lai với will và be going to, bạn đã học cách nói về việc sắp xảy ra trong tương lai.
  • Trước đó, Bài 10: Thì quá khứ đơn giúp bạn kể lại việc đã xảy ra và kết thúc hẳn trong quá khứ, có mốc thời gian cụ thể như "yesterday", "last week".
  • Bài hôm nay học thêm một cách nói về quá khứ nữa — nhưng lần này là việc không có mốc thời gian cụ thể, hoặc việc bắt đầu từ quá khứ mà vẫn còn liên quan đến hiện tại. Học xong bài này, bạn sẽ phân biệt được khi nào dùng quá khứ đơn, khi nào dùng hiện tại hoàn thành.

Lý thuyết

Công thức

Dạng câuCông thứcVí dụ
Khẳng địnhS + have/has + V3 (quá khứ phân từ)I have finished the report. / She has finished the report.
Phủ địnhS + have/has + not + V3I haven't finished the report. / She hasn't finished the report.
Nghi vấnHave/Has + S + V3?Have you finished the report? / Has she finished the report?

Lưu ý chia have/has: dùng "has" với ngôi thứ 3 số ít (he, she, it, tên riêng một người/một công ty); dùng "have" với các ngôi còn lại (I, you, we, they). Viết tắt: I've, you've, she's, he's, it's, we've, they've (have not → haven't, has not → hasn't).

V3 là gì — quá khứ phân từ

Với động từ có quy tắc, V3 giống hệt V2 (thêm "-ed"). Với động từ bất quy tắc, V3 có thể khác V2, bạn cần học thuộc riêng. Một số động từ bất quy tắc thường gặp trong môi trường công sở:

Nguyên mẫuQuá khứ đơn (V2)Quá khứ phân từ (V3)Nghĩa
bewas/werebeenthì, là, ở
gowentgoneđi
dodiddonelàm
seesawseennhìn thấy
writewrotewrittenviết
sendsentsentgửi
makemademadelàm, tạo ra
taketooktakenlấy, cầm
givegavegivenđưa, cho
knowknewknownbiết
finishfinishedfinishedhoàn thành (động từ có quy tắc)
completecompletedcompletedhoàn thành (động từ có quy tắc)

Hiện tại hoàn thành dùng khi nào

Cách dùngGiải thíchVí dụ
Kinh nghiệm, việc đã từng trải quaKhông nói rõ khi nào, chỉ quan tâm đã từng hay chưaI have visited Japan twice.
Hành động bắt đầu trong quá khứ, còn tiếp diễn đến hiện tạiThường đi với "for" hoặc "since"She has worked here since 2019.
Hành động vừa mới xảy ra, kết quả còn ảnh hưởng hiện tạiThường đi với "just"I have just finished the report.
Hành động đã xảy ra nhưng không xác định mốc cụ thểThường đi với "already" (khẳng định) hoặc "yet" (phủ định, nghi vấn)I have already sent the email. / I haven't sent it yet.

For và since

TừDùng vớiVí dụ
forkhoảng thời gian (bao lâu)for three years, for a week, for a long time
sincemốc thời gian bắt đầu (từ khi nào)since 2019, since Monday, since last month, since I joined the company

Already, yet, just, ever, never

TừNghĩaVị tríVí dụ
alreadyđã... rồigiữa have/has và V3I have already sent the invoice.
yetchưa, vẫn chưacuối câu phủ định hoặc nghi vấnI haven't sent the invoice yet. / Have you sent it yet?
justvừa mớigiữa have/has và V3We have just signed the contract.
everđã từng (bao giờ)giữa have/has và chủ ngữ, trong câu hỏiHave you ever worked abroad?
neverchưa từng, không bao giờgiữa have/has và V3I have never used this software before.

So sánh hiện tại hoàn thành và quá khứ đơn

Đây là phần người mất gốc hay nhầm nhất, vì tiếng Việt chỉ có một từ "đã" cho cả hai trường hợp.

Hiện tại hoàn thànhQuá khứ đơn
Mốc thời gianKhông có mốc cụ thể, hoặc dùng for/sinceCó mốc cụ thể đã kết thúc: yesterday, last week, in 2020, two days ago
Trọng tâmKinh nghiệm, kết quả hiện tại, việc còn tiếp diễnSự việc đã xảy ra và xong hẳn trong quá khứ
Ví dụI have finished the report. (chưa rõ lúc nào, chỉ cần biết đã xong)I finished the report yesterday. (xong vào lúc cụ thể là hôm qua)
Dấu hiệu thường đi kèmalready, yet, just, ever, never, for, since, so faryesterday, last..., ... ago, in + năm, when

Mẹo chọn nhanh: câu có mốc thời gian cụ thể đã qua (yesterday, last Monday, in 2021) → chắc chắn dùng quá khứ đơn, dù câu có nhắc đến kết quả ở hiện tại cũng không dùng hiện tại hoàn thành được.

Ví dụ trong công việc

  1. I have worked in IT for six years. — Tôi đã làm trong ngành IT được sáu năm (và vẫn đang làm).
  2. She has just submitted the proposal. — Cô ấy vừa mới nộp bản đề xuất xong.
  3. We haven't received your payment yet. — Chúng tôi vẫn chưa nhận được khoản thanh toán của bạn.
  4. Have you ever given a presentation in English? — Bạn đã từng thuyết trình bằng tiếng Anh bao giờ chưa?
  5. The company has already launched three products this year. — Công ty đã ra mắt ba sản phẩm trong năm nay rồi.
  6. I have never used this project management tool before. — Tôi chưa từng dùng công cụ quản lý dự án này trước đây.
  7. He has lived in this city since he started this job. — Anh ấy sống ở thành phố này từ khi bắt đầu công việc này.
  8. Our team has completed the migration, but we still need to test it. — Đội của chúng tôi đã hoàn thành việc chuyển đổi hệ thống, nhưng vẫn cần kiểm thử.
  9. I sent the invoice yesterday, but she hasn't replied yet. — Tôi đã gửi hóa đơn hôm qua, nhưng cô ấy vẫn chưa trả lời.
  10. Have they finished the server upgrade yet? — Họ đã hoàn thành việc nâng cấp máy chủ chưa?

Mẹo nhớ nhanh

  • Vần dễ nhớ: "Có mốc thời gian rõ ràng — quá khứ đơn chạy làng; không mốc cụ thể, chỉ cần biết kết quả — hiện tại hoàn thành mới đúng chỗ." Cứ thấy "yesterday, last week, in + năm, ... ago" là quá khứ đơn; không có mốc nào mà chỉ có already/yet/just/ever/never/for/since là hiện tại hoàn thành.
  • Mẹo IT: hãy hình dung hiện tại hoàn thành giống trạng thái "Done" trên bảng Kanban — bạn không cần biết chính xác task được tích "Done" lúc mấy giờ, chỉ cần biết nó đã xong và ảnh hưởng đến hiện tại (sprint có thể đóng được). Còn quá khứ đơn giống dòng log có timestamp cụ thể: "Task closed at 3:00 PM yesterday" — biết rõ thời điểm, việc đã xong hẳn, không còn liên quan gì thêm.
  • Mẹo phân biệt for/since: "for" đi với khoảng thời gian (đếm được bao lâu: for 3 years), "since" đi với mốc bắt đầu (trả lời "từ lúc nào": since 2019). Nhớ "since" = "s" = "starting point" (điểm bắt đầu).

Lỗi người Việt hay mắc

SaiĐúngVì sao
"I have finished the report yesterday.""I finished the report yesterday."Có mốc thời gian cụ thể đã qua ("yesterday") thì phải dùng quá khứ đơn, không dùng hiện tại hoàn thành
"I have went to Japan twice.""I have gone to Japan twice." / "I have been to Japan twice."Sau "have/has" dùng V3 (quá khứ phân từ), không dùng V2; "went" là dạng quá khứ đơn, dạng V3 đúng là "gone" (hoặc "been" khi nói đã từng đến)
"She has work here since 2019.""She has worked here since 2019."Thiếu "-ed" ở động từ chính, quên chia V3
"I have lived here since three years.""I have lived here for three years.""since" đi với mốc bắt đầu (since 2019), "for" đi với khoảng thời gian (for three years)
"Have you finished the report already?" (câu hỏi thông thường)"Have you finished the report yet?""already" dùng trong câu khẳng định; câu hỏi và phủ định dùng "yet"
"I haven't sent the email already.""I haven't sent the email yet.""already" không dùng trong câu phủ định, phải dùng "yet"

Từ vựng của bài

TừIPALoại từNghĩaVí dụ
experience/ɪkˈspɪəriəns/n/vkinh nghiệm, trải nghiệmI have gained a lot of experience in this role.
recently/ˈriːsntli/advgần đâyWe have recently launched a new product.
lately/ˈleɪtli/advgần đây, dạo nàyHave you been busy lately?
already/ɔːlˈredi/advđã... rồiI have already sent the email.
yet/jet/advchưaShe hasn't finished the report yet.
since/sɪns/prep/conjtừ khiHe has worked here since 2020.
complete/kəmˈpliːt/vhoàn thànhWe have completed the project ahead of schedule.
submit/səbˈmɪt/vnộp, gửiHave you submitted the report yet?
resolve/rɪˈzɒlv/vgiải quyếtThe IT team has resolved the server issue.
improve/ɪmˈpruːv/vcải thiệnOur sales have improved significantly this quarter.
increase/ɪnˈkriːs/v/ntăngThe company has increased its revenue this year.
launch/lɔːntʃ/v/nra mắtWe have just launched the new website.
announce/əˈnaʊns/vthông báoThe manager has announced a new policy.
migration/maɪˈɡreɪʃn/nsự chuyển đổi (hệ thống, dữ liệu)We have finished the data migration.
achievement/əˈtʃiːvmənt/nthành tựu, thành tíchThis is a great achievement for our team.

Bài tập

Cấp 1 – Cơ bản

Chia động từ trong ngoặc ở thì hiện tại hoàn thành:

  1. I ___ (finish) my report already.
  2. She ___ (not / send) the email yet.
  3. ___ you ever ___ (visit) Japan?
  4. We ___ (work) here since 2019.
  5. He ___ (live) in Hanoi for ten years.
  6. They ___ (just / complete) the project.
  7. I ___ (never / use) this software before.
  8. The manager ___ (already / leave) the office.
  9. ___ she ___ (submit) the form yet?
  10. We ___ (not / receive) any feedback yet.

Cấp 2 – Vận dụng

Chọn thì hiện tại hoàn thành hoặc quá khứ đơn cho phù hợp với ngữ cảnh:

  1. I ___ (work) at this company for three years, and I'm still here now.
  2. I ___ (work) at my previous company for three years before I left in 2015.
  3. She ___ (not / finish) her report yet; please wait a bit.
  4. She ___ (finish) her report last night and went home early.
  5. I ___ (already / send) you the invoice — please check your inbox now.
  6. I ___ (send) you the invoice two days ago.
  7. ___ you ever ___ (travel) abroad for business?
  8. I ___ (travel) to Singapore last month for a conference.
  9. The IT team ___ (just / fix) the server issue; everything is working now.
  10. The IT team ___ (fix) the server issue at 9 a.m. this morning, right after the system crashed.

Cấp 3 – Dạng đề TOEIC

  1. Mr. Tran ______ for this company since 2018.
    A. works B. worked C. has worked D. is working
  2. We ______ the new policy yet; please wait for further instructions.
    A. haven't announced B. didn't announce C. don't announce D. won't announce
  3. The sales department ______ its target for three consecutive quarters.
    A. achieved B. has achieved C. achieves D. will achieve
  4. ______ you ever ______ with an international client before?
    A. Did / work B. Have / worked C. Do / work D. Will / work
  5. The technician ______ the printer yesterday afternoon, so it's working fine now.
    A. has repaired B. repaired C. repairs D. will repair

Đáp án và giải thích

Xem đáp án

Cấp 1:

  1. have finished — "already" đi với hiện tại hoàn thành, hành động vừa hoàn tất.
  2. hasn't sent — "yet" dùng trong câu phủ định hiện tại hoàn thành.
  3. Have – visited — "ever" hỏi về kinh nghiệm, dùng hiện tại hoàn thành.
  4. have worked — "since" + mốc thời gian bắt đầu, kéo dài đến hiện tại.
  5. has lived — "for" + khoảng thời gian, hành động kéo dài đến hiện tại.
  6. have just completed — "just" chỉ hành động vừa mới xảy ra.
  7. have never used — "never" phủ định kinh nghiệm, đi với hiện tại hoàn thành.
  8. has already left — "already" + hiện tại hoàn thành, nhấn mạnh việc đã xong.
  9. Has – submitted — câu hỏi nghi vấn với "yet".
  10. haven't received — "yet" trong câu phủ định.

Cấp 2:

  1. have worked — không có mốc thời gian cụ thể đã qua, câu nói rõ "vẫn đang ở đây" nên hành động còn tiếp diễn đến hiện tại.
  2. worked — "before I left in 2015" cho thấy việc đã kết thúc hẳn trong quá khứ, dùng quá khứ đơn.
  3. hasn't finished — "yet" trong câu phủ định, công việc chưa xong tính đến hiện tại.
  4. finished — "last night" là mốc thời gian cụ thể đã qua, dùng quá khứ đơn.
  5. have already sent — "already" và "please check your inbox now" nhấn mạnh kết quả ở hiện tại, không có mốc thời gian cụ thể.
  6. sent — "two days ago" là mốc thời gian cụ thể, dùng quá khứ đơn.
  7. Have – traveled — "ever" hỏi về kinh nghiệm, không có mốc thời gian cụ thể.
  8. traveled — "last month" là mốc thời gian cụ thể, dùng quá khứ đơn.
  9. has just fixed — "just" và "everything is working now" nhấn mạnh việc vừa xong, ảnh hưởng đến hiện tại.
  10. fixed — "at 9 a.m. this morning" là mốc thời gian cụ thể đã qua, dùng quá khứ đơn dù câu có nhắc đến kết quả hiện tại.

Cấp 3:

  1. Đáp án C. "since 2018" là mốc thời gian bắt đầu, hành động kéo dài đến hiện tại nên dùng hiện tại hoàn thành "has worked". A và D sai thì; B (quá khứ đơn) không hợp vì "since" yêu cầu hiện tại hoàn thành.
  2. Đáp án A. "yet" ở cuối câu là dấu hiệu của hiện tại hoàn thành phủ định "haven't announced". B là quá khứ đơn, không hợp với "yet"; C hiện tại đơn và D tương lai đều không diễn tả đúng ý "vẫn chưa thông báo tính đến bây giờ".
  3. Đáp án B. "for three consecutive quarters" (trong suốt ba quý liên tiếp tính đến hiện tại) là dấu hiệu của hiện tại hoàn thành "has achieved". A là quá khứ đơn, thiếu kết nối với hiện tại; C hiện tại đơn và D tương lai không phù hợp với "for + khoảng thời gian đã qua".
  4. Đáp án B. "ever" trong câu hỏi về kinh nghiệm luôn đi với hiện tại hoàn thành "Have you ever worked". A dùng quá khứ đơn không hợp với "ever"; C và D cũng không đúng cấu trúc hỏi về kinh nghiệm.
  5. Đáp án B. "yesterday afternoon" là mốc thời gian cụ thể đã qua, bắt buộc dùng quá khứ đơn "repaired" dù câu có nhắc đến kết quả ở hiện tại ("it's working fine now"). A sai vì có mốc thời gian cụ thể thì không dùng hiện tại hoàn thành; C hiện tại đơn và D tương lai không hợp với hành động đã xảy ra trong quá khứ.

Luyện nói

Đọc to 5 câu sau để luyện hiện tại hoàn thành, ghi âm lại rồi nghe so sánh:

  1. I have worked in IT for six years.
  2. We have just finished the project.
  3. I haven't received your payment yet.
  4. Have you ever given a presentation in English?
  5. She has lived in this city since she started this job.

Tóm tắt bài học

Nội dungHiện tại hoàn thànhQuá khứ đơn
Công thứcS + have/has + V3S + V-ed / V2
Dùng khiKinh nghiệm, kết quả hiện tại, việc còn tiếp diễnViệc đã xong hẳn, có mốc thời gian cụ thể
Dấu hiệualready, yet, just, ever, never, for, sinceyesterday, last..., ... ago, in + năm
Ví dụI have finished the report.I finished the report yesterday.
Phủ địnhS + haven't/hasn't + V3S + didn't + V (nguyên mẫu)
Nghi vấnHave/Has + S + V3?Did + S + V (nguyên mẫu)?

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

Làm sao biết khi nào dùng hiện tại hoàn thành, khi nào dùng quá khứ đơn?

Hãy xem câu có mốc thời gian cụ thể đã kết thúc không (yesterday, last week, in 2020, ... ago). Có mốc cụ thể → quá khứ đơn. Không có mốc, hoặc có for/since/already/yet/just/ever/never → hiện tại hoàn thành.

"For" và "since" khác nhau thế nào?

"For" đi với khoảng thời gian, trả lời câu hỏi "bao lâu" (for three years). "Since" đi với mốc thời gian bắt đầu, trả lời câu hỏi "từ khi nào" (since 2019, since Monday).

Tại sao "I have went" lại sai?

Vì sau "have/has" phải dùng V3 (quá khứ phân từ), không dùng V2 (quá khứ đơn). "Went" là dạng V2 của "go"; dạng V3 đúng là "gone" (hoặc dùng "been" nếu muốn nói đã từng đến một nơi nào đó).

"Already" và "yet" dùng khác nhau ở đâu?

"Already" dùng trong câu khẳng định, nhấn mạnh việc đã xong, thường đứng giữa have/has và V3. "Yet" dùng trong câu phủ định và câu hỏi, luôn đứng cuối câu, mang nghĩa "chưa".

Thì hiện tại hoàn thành xuất hiện nhiều ở Part nào của TOEIC?

Chủ yếu ở Part 5 (chọn dạng động từ đúng, đặc biệt các câu có "since", "for", "already", "yet"), và cũng hay gặp trong Part 6, 7 khi đọc email, thông báo nói về việc đã hoàn thành hoặc kinh nghiệm công việc.

Bài tiếp theo

Bài 13 sẽ học giới từ thời gian (in, on, at, by, until, during, within) — những từ nhỏ nhưng cực kỳ hay xuất hiện trong Part 5 dưới dạng câu rút gọn. Nắm chắc bài này sẽ giúp bạn không còn nhầm lẫn "in the morning" với "on Monday" hay "at 9 o'clock" nữa.

Flashcard Anki

CSV
experience;/ɪkˈspɪəriəns/ (n/v) kinh nghiệm, trải nghiệm
recently;/ˈriːsntli/ (adv) gần đây
lately;/ˈleɪtli/ (adv) gần đây, dạo này
already;/ɔːlˈredi/ (adv) đã... rồi
yet;/jet/ (adv) chưa
since;/sɪns/ (prep/conj) từ khi
complete;/kəmˈpliːt/ (v) hoàn thành
submit;/səbˈmɪt/ (v) nộp, gửi
resolve;/rɪˈzɒlv/ (v) giải quyết
improve;/ɪmˈpruːv/ (v) cải thiện
increase;/ɪnˈkriːs/ (v/n) tăng
launch;/lɔːntʃ/ (v/n) ra mắt
announce;/əˈnaʊns/ (v) thông báo
migration;/maɪˈɡreɪʃn/ (n) sự chuyển đổi (hệ thống, dữ liệu)
achievement;/əˈtʃiːvmənt/ (n) thành tựu, thành tích

Tự kiểm tra

  1. Mình đã biết khi nào dùng hiện tại hoàn thành và khi nào dùng quá khứ đơn dựa vào mốc thời gian trong câu chưa?
  2. Mình có phân biệt được "for" (khoảng thời gian) và "since" (mốc bắt đầu) chưa?
  3. Mình đã nhớ "already" dùng trong câu khẳng định còn "yet" dùng trong câu phủ định và nghi vấn chưa?