英語の現在完了形ガイド: for、since、already、been と gone

Thì hiện tại hoàn thành nối quá khứ với hiện tại: một hành động xảy ra vào thời điểm không rõ nhưng vẫn còn quan trọng bây giờ, hoặc một tình huống bắt đầu trong quá khứ và vẫn tiếp diễn. Hai phần của bài này nói về hình thức và về những khoảng thời gian nối với hiện tại, một phần nói về cách chọn dựa trên thời gian đã kết thúc, và hai phần nói về từ tín hiệu cùng các chi tiết khác. Hướng dẫn này gồm năm phần, khớp chính xác với năm phần của bài kiểm tra chẩn đoán.

Đọc hướng dẫn bằng tiếng Anh → Trang này được dịch tự động và chưa được người bản ngữ kiểm tra, nên có thể có lỗi. Bản tiếng Anh là bản gốc để tham chiếu.

Kết quả chẩn đoán cho biết phần nào cần ôn lại. Hãy chạm vào phần đó bên dưới.

Nối với hiện tại hình thức, và những khoảng thời gian kéo dài đến bây giờThời gian đã kết thúc hiện tại hoàn thành so với quá khứ đơnTừ tín hiệu already, yet, ever, been, gone, dạng tiếp diễn

Ý chính: một đường nối từ quá khứ đến bây giờ

Hãy hình dung một đường thẳng nối một hành động hoặc tình huống trong quá khứ với thời điểm hiện tại. Nếu đường đó không bị đứt, thì hiện tại hoàn thành thường là lựa chọn đúng.

Một hành động hoặc tình huống bắt đầu trong quá khứ, và một đường thẳng nối nó với hiện tại
Cách dùng Ví dụ
trải nghiệm trong đời She has run two marathons.
tình huống vẫn tiếp diễn I have worked here since March 2024.
thay đổi cho đến bây giờ The town has grown since the new line opened.
khoảng thời gian chưa kết thúc I have had three coffees today.
  1. 1
    Thời gian đã kết thúc, hay vẫn còn nối với bây giờ? Một thời điểm đã kết thúc và được nêu rõ, như yesterday, dùng quá khứ đơn. Một mối liên hệ còn mở với hiện tại dùng hiện tại hoàn thành (Phần 3).
  2. 2
    Nó bắt đầu trong quá khứ và vẫn tiếp diễn? Dùng hiện tại hoàn thành với for hoặc since, không dùng hiện tại đơn (Phần 2).
  3. 3
    Có từ tín hiệu hay chi tiết nào làm thay đổi hình thức không? Already, yet, ever, never, been, gone, hoặc dạng tiếp diễn (Phần 4 và 5).

Phần 1 nói về chính hình thức: have hoặc has cộng quá khứ phân từ.

1

Nối với hiện tại

Hình thức và quá khứ phân từ

Have hay has? Quá khứ phân từ nào? Hình thức là trước hết.

Quy tắc: Hiện tại hoàn thành là have hoặc has cộng quá khứ phân từ. Câu phủ định dùng haven't hoặc hasn't, còn câu hỏi đặt have hoặc has lên đầu.

have/has + quá khứ phân từ

Chủ ngữ Hình thức Ví dụ
I, you, we, they have + quá khứ phân từ I have finished my homework.
he, she, it has + quá khứ phân từ She has visited Japan twice.

Hãy xác định chủ ngữ thật: everyone, somebody và the number of là số ít (has); the prices of và a few students là số nhiều (have).

Quá khứ phân từ bất quy tắc

Nguyên mẫu Quá khứ đơn Quá khứ phân từ
go went gone
see saw seen
do did done
write wrote written
eat ate eaten
take took taken
sing sang sung
buy bought bought

Câu phủ định và câu hỏi

Loại Ví dụ
phủ định I haven’t finished yet. She hasn’t called.
câu hỏi Have you ever been to Paris? Has he arrived?

Lỗi thường gặp trong phần này

  • dùng sai have hoặc hasMy parents has moved to Ulsan.✓ My parents have moved to Ulsan.My parents tương đương they, nên dùng have.
  • sai quá khứ phân từI have forgot her name.✓ I have forgotten her name.Forget có quá khứ phân từ là forgotten.
  • dùng hiện tại hoàn thành với thời gian đã kết thúcDid they ever eaten here?✓ Have they ever eaten here?Phân từ eaten cần have, không phải did.
2

Nối với hiện tại

For, since và how long

Nó bắt đầu trong quá khứ và vẫn tiếp diễn? For, since hay how long?

Quy tắc: Dùng hiện tại hoàn thành cho tình huống bắt đầu trong quá khứ và vẫn tiếp diễn, không dùng hiện tại đơn. For đi với một khoảng thời gian; since đi với một mốc bắt đầu.

For hay since?

Từ Theo sau là Ví dụ
for một khoảng thời gian for three weeks, for ages, for a long time
since một mốc bắt đầu (một ngày, một năm, một sự kiện) since Monday, since 2019, since I was a child

Không dùng hiện tại đơn

Sai Đúng
I know him for ten years. I have known him for ten years.
How long do you work here? How long have you worked here?
I am in this class since March. I have been in this class since March.

Nhiều ngôn ngữ, trong đó có tiếng Hàn, tiếng Trung và tiếng Nhật, dùng dạng hiện tại hoặc quá khứ ở đây. Tiếng Anh cần hiện tại hoàn thành khi khoảng thời gian kéo dài đến bây giờ. For với quá khứ đơn chỉ một khoảng thời gian đã kết thúc: I lived in Busan for two years (bây giờ tôi không sống ở đó).

Lỗi thường gặp trong phần này

  • nhầm for và sinceI have lived here since three years.✓ I have lived here for three years.Three years là một khoảng thời gian, nên dùng for.
  • dùng hiện tại đơn khi cần hiện tại hoàn thànhI work here since March.✓ I have worked here since March.Tình huống bắt đầu từ tháng Ba và vẫn tiếp diễn.
  • dùng hiện tại đơn khi cần hiện tại hoàn thànhHow long do you know Sara?✓ How long have you known Sara?How long hỏi về một khoảng thời gian kéo dài đến bây giờ.
3

Thời gian đã kết thúc

Hiện tại hoàn thành hay quá khứ đơn?

Thời gian đã kết thúc, hay vẫn còn nối với bây giờ?

Quy tắc: Một thời điểm đã kết thúc và được nêu rõ (yesterday, in 2019, ago, câu hỏi với when) dùng quá khứ đơn. Không nêu thời gian, một khoảng thời gian đến bây giờ (since, so far), hoặc lần đầu tiên thì dùng hiện tại hoàn thành.

Thời gian đã kết thúc, hay mối liên hệ còn mở?

Hình thức Cách dùng Ví dụ
quá khứ đơn một thời điểm cụ thể, đã kết thúc I saw him yesterday.
hiện tại hoàn thành không có thời điểm cụ thể, hoặc có liên hệ với bây giờ I have seen him before.

Từ tín hiệu

Quá khứ đơn Hiện tại hoàn thành
yesterday, last week, in 2019, ago, when? ever, never, since, so far, up to now, recently

Sau it is the first time (hoặc the second time), dùng hiện tại hoàn thành: It’s the first time I have seen snow. This week hoặc this month có thể dùng cả hai thì, tùy vào khoảng thời gian đó đã kết thúc hay chưa.

Lỗi thường gặp trong phần này

  • dùng hiện tại hoàn thành với thời gian đã kết thúcI have graduated in 2022.✓ I graduated in 2022.In 2022 là một thời điểm cụ thể, đã kết thúc.
  • dùng hiện tại hoàn thành với thời gian đã kết thúcWhen have you started the job?✓ When did you start the job?When hỏi về một thời điểm cụ thể.
  • dùng hiện tại đơn khi cần hiện tại hoàn thànhIt's the first time I see the ocean.✓ It's the first time I have seen the ocean.Sau it is the first time, dùng hiện tại hoàn thành.
Thêm: tiếng Anh Mỹ

Trong tiếng Anh Mỹ, quá khứ đơn cũng thường dùng với just, already và yet: I just ate. Did you finish yet? Ở đó cả hai dạng đều đúng. Hiện tại hoàn thành vẫn cần thiết với since, so far và với khoảng thời gian kéo dài đến bây giờ.

4

Từ tín hiệu

Already, yet, just, ever và never

Already, yet, just, ever hay never: mỗi từ đứng ở đâu?

Quy tắc: Already và just thường đứng giữa have và phân từ; yet thường đứng cuối câu phủ định và câu hỏi. Ever dùng trong câu hỏi và sau so sánh nhất; never nghĩa là chưa bao giờ cho đến bây giờ.

Vị trí của từng từ

Từ Vị trí Ví dụ
already giữa have và phân từ, câu khẳng định I have already finished.
yet cuối câu phủ định và câu hỏi I haven’t finished yet. Have you finished yet?
just giữa have và phân từ She has just left.
still trước haven’t hoặc hasn’t I still haven’t replied.
ever trong câu hỏi, và sau so sánh nhất Have you ever been to Paris? The best pizza I have ever had.
never giữa have và phân từ, nghĩa là chưa bao giờ I have never tried sushi.
so far thường ở cuối câu, nghĩa là cho đến bây giờ We have finished three tasks so far.

Sau một từ phủ định như nobody, dùng ever, không dùng never: Nobody has ever complained.

Lỗi thường gặp trong phần này

  • từ tín hiệu sai vị trí hoặc sai nghĩaI have ever seen that movie.✓ I have seen that movie. / I have never seen that movie.Ever không dùng trong câu khẳng định.
  • từ tín hiệu sai vị trí hoặc sai nghĩaI have finished yet my homework.✓ I have already finished my homework. / I haven't finished my homework yet.Yet đứng cuối câu phủ định và câu hỏi.
Thêm: các mẫu trang trọng

Have yet to cộng động từ nghĩa là cho đến bây giờ vẫn chưa làm: I have yet to meet him. Trong văn viết trang trọng, never có thể đứng đầu câu, và khi đó have hoặc has đứng trước chủ ngữ: Never have I seen such a crowd.

5

Từ tín hiệu

Been, gone và dạng tiếp diễn

Been hay gone? Dạng đơn hay tiếp diễn? Chi tiết quyết định nghĩa.

Quy tắc: Been to nghĩa là đã đi và đã về; gone to nghĩa là vẫn đang đi vắng. Dạng tiếp diễn nhấn mạnh hoạt động đang diễn ra, nhưng động từ chỉ trạng thái và số lượng việc đã xong dùng dạng đơn.

Been và gone

Từ Nghĩa Ví dụ
been to đã đi và đã về I have been to Rome twice.
gone to vẫn ở đó, hoặc đang trên đường She’s not here. She has gone to the store.

Trong tiếng Anh Mỹ, have gone cũng được dùng cho những lần đến nhiều lần (I’ve gone there many times). Sự khác biệt này luôn quan trọng khi ai đó hiện đang vắng mặt.

Hiện tại hoàn thành tiếp diễn

Hình thức Nhấn mạnh Ví dụ
hiện tại hoàn thành sự hoàn thành, kết quả, số lượng I have written three emails.
hiện tại hoàn thành tiếp diễn hoạt động đang diễn ra I have been writing emails all morning.

Động từ chỉ trạng thái như know, own, belong, believe và have (nghĩa là sở hữu) không dùng dạng tiếp diễn: I have known her for years, không phải have been knowing.

Lỗi thường gặp trong phần này

  • nhầm been và goneMark has been to lunch; he'll be back at one.✓ Mark has gone to lunch; he'll be back at one.Gone to nghĩa là anh ấy vẫn đang đi vắng.
  • hiện tại hoàn thành và hiện tại hoàn thành tiếp diễnWe have been owning this car for years.✓ We have owned this car for years.Own là động từ chỉ trạng thái và không dùng dạng tiếp diễn.

Tự kiểm tra

Mỗi câu có đúng không? Chạm để xem đáp án. Nhãn phần cho biết bạn nên xem lại ở đâu nếu chưa chắc.

Phần 1My friends has arrived.

Sai. My friends have arrived. My friends tương đương they, nên dùng have.

Phần 1Have you ever flown a kite?

Đúng. Fly có quá khứ phân từ là flown.

Phần 2I have taught English for twelve years.

Đúng. For đi với một khoảng thời gian, và tình huống vẫn tiếp diễn.

Phần 2She is here since noon.

Sai. She has been here since noon. Tình huống bắt đầu từ trưa và vẫn tiếp diễn.

Phần 3I have bought this jacket two days ago.

Sai. I bought this jacket two days ago. Ago đánh dấu một thời điểm đã kết thúc.

Phần 3So far, I have read two of her novels.

Đúng. So far nghĩa là cho đến bây giờ.

Phần 4I have never ridden a camel.

Đúng. Never đứng giữa have và phân từ.

Phần 4I have finished already my essay.

Sai. I have already finished my essay. Already đứng giữa have và phân từ.

Phần 5Kate has gone to Spain, so she isn't here.

Đúng. Gone to nghĩa là cô ấy vẫn đang đi vắng.

Phần 5I have been believing in ghosts since I was little.

Sai. I have believed in ghosts since I was little. Believe là động từ chỉ trạng thái.

Câu lệnh luyện tập với AI

Hãy dán đoạn này vào một công cụ trò chuyện AI.

Hiện câu lệnh
Tôi muốn luyện tập thì hiện tại hoàn thành trong tiếng Anh: hình thức với have và has, quá khứ phân từ bất quy tắc, for, since và how long, chọn giữa hiện tại hoàn thành và quá khứ đơn, các từ tín hiệu như already, yet, just, ever và never, been và gone, và dạng tiếp diễn. Hãy cho tôi mỗi lần một câu hỏi và luân phiên các dạng bài: điền vào chỗ trống, trắc nghiệm (A đến D), câu “đúng hay sai?” và viết lại câu. Hãy đảm bảo ngữ cảnh chỉ cho phép đúng một đáp án, và tránh những câu mà tiếng Anh Mỹ cũng chấp nhận quá khứ đơn (ví dụ với just, already hoặc yet). Hãy lần lượt đi qua năm mảng: hình thức và quá khứ phân từ; for, since và how long; hiện tại hoàn thành so với quá khứ đơn; từ tín hiệu; và been, gone và dạng tiếp diễn. Bắt đầu ở mức trung cấp, tăng độ khó sau hai câu đúng liên tiếp và giảm độ khó sau hai câu sai liên tiếp. Nếu tôi trả lời sai, hãy giải thích quy tắc bằng tiếng Việt rồi tiếp tục. Sau mỗi 10 câu hỏi, hãy cho tôi biết tôi nên ôn lại mảng nào trong năm mảng.

Đọc hướng dẫn bằng tiếng Anh →