Should have, could have và would have tương ứng với “lẽ ra nên…”, “lẽ ra đã có thể…” và “thì đã…”: nói về những điều đã không xảy ra – một cơ hội bị bỏ lỡ, một quyết định sai hay một khả năng chỉ có trong tưởng tượng.
Bạn sẽ học được gì
Should have, could have và would have luôn gồm ba phần: động từ khuyết thiếu + have + quá khứ phân từ (V3). Mỗi động từ khuyết thiếu mang một nghĩa riêng: tiếc nuối hoặc trách, khả năng bị bỏ lỡ, hoặc kết quả giả định. “You should have called me — I was worried.” “I could have helped you, but I didn't know you needed it.”
Tiếng Việt có sẵn những từ diễn đạt đúng các ý này: “Lẽ ra bạn nên gọi cho mình”, “Lẽ ra mình đã có thể giúp bạn”. Vấn đề là động từ tiếng Việt không đổi: thời gian quá khứ chỉ nằm ở “lẽ ra” và “đã”. Trong tiếng Anh, should, could và would không có dạng quá khứ riêng cho ý này, nên quá khứ phải nằm ở have + V3. Cầu nối dễ nhớ: “lẽ ra nên” = should have, “lẽ ra đã có thể” = could have, “thì đã” = would have.
Bẫy lớn nhất vì vậy là để động từ trơn hoặc chia ở thì quá khứ đơn sau động từ khuyết thiếu: “You should call me” (lời khuyên cho bây giờ), “He should apologized”, “You shouldn't said that” (sai). Hãy luôn kiểm tra đủ ba phần: modal + have + V3.
Should have diễn tả sự tiếc nuối vì đã không làm việc gì đó, hoặc trách một quyết định: “He should have apologized sooner.” = “Lẽ ra anh ấy nên xin lỗi sớm hơn.”
Shouldn't have thì ngược lại: trách một việc đã thật sự xảy ra. “You shouldn't have spent all that money.” = “Lẽ ra bạn không nên tiêu hết chỗ tiền đó.” (Và bạn đã tiêu rồi.)
Thiếu have là sai nghĩa: “You should call me” là lời khuyên cho hiện tại hoặc tương lai (“Bạn nên gọi cho mình”), không phải lời trách về quá khứ. Còn “He should apologized” thì sai ngữ pháp.
Cẩn thận với “lẽ ra phải…”: chữ “phải” dễ khiến bạn dùng had to. Nhưng “Lẽ ra bạn phải báo cho mình” vẫn là should have, thường thêm really để nhấn mạnh: “You really should have told me.” Câu “You had to tell me” nói về một nghĩa vụ có thật trong quá khứ (“Hồi đó bạn buộc phải nói với mình”), không phải lời trách.
Cũng đừng nhầm với “chắc là… rồi”: đó là suy đoán, dùng must have. “Chắc bạn quên rồi” → “You must have forgotten”. Câu “You must have called me” không phải lời trách, mà là “chắc là bạn đã gọi cho mình”.
Could have nói về một khả năng hay cơ hội đã có trong quá khứ nhưng không được tận dụng, thường kèm lý do: “We could have won if we'd played better.” = “Lẽ ra chúng tôi đã có thể thắng nếu chơi tốt hơn.”
“Có thể” trong tiếng Việt ứng với nhiều từ tiếng Anh (can, could, may), nên dễ dịch thành “We could win”. Hãy phân biệt: nếu đã làm được thật, dùng managed to hoặc was/were able to (“We managed to win”). Nếu có cơ hội mà không làm được, luôn dùng could have. Could không có have là khả năng chung trong quá khứ (“I could swim at five”) hoặc một lời đề nghị ở hiện tại (“I could help you” = “Mình có thể giúp bạn”).
Dạng phủ định couldn't have nghĩa là “không thể nào… được”: “We couldn't have won without you.” = “Không có bạn thì chúng tôi đã không thể thắng.” Đây cũng là một quá khứ giả định, giống would have.
Could have cũng có thể là lời trách nhẹ: “They could have told us sooner.” = “Lẽ ra họ có thể báo cho chúng ta sớm hơn chứ.”
Và could have còn dùng để phỏng đoán về quá khứ: “She could have missed the bus.” = “Có thể cô ấy đã lỡ xe buýt.” Ngữ cảnh cho biết đó là cơ hội bị bỏ lỡ hay một phỏng đoán.
Would have miêu tả điều lẽ ra đã xảy ra trong một quá khứ khác, chỉ có trong tưởng tượng. Mẫu điển hình là câu điều kiện với if + had: “If I had known, I would have come earlier.” = “Nếu mình biết thì mình đã đến sớm hơn.”
Bẫy lớn với người Việt: câu điều kiện tiếng Việt không đổi hình thức, chỉ có “nếu… thì đã…”. Tiếng Anh thì mỗi vế có dạng riêng: vế có if dùng had + V3 (thì quá khứ hoàn thành: “If I had known”), vế còn lại dùng would have + V3. Không nói “If I knew, I came earlier”. “If I would have known” đôi khi nghe thấy trong tiếng Anh Mỹ khi nói, nhưng bị coi là không chuẩn.
Bỏ have đi thì câu chuyển sang hiện tại: “I would come earlier” nghĩa là “Mình sẽ đến sớm hơn”, không khớp với vế if ở quá khứ.
Không được thiếu have: modal + have + V3. Tiếng Việt chỉ cần “lẽ ra”, nhưng trong tiếng Anh quá khứ nằm ở have + V3.
“Lẽ ra bạn không nên nói thế” = You shouldn't have said that. Shouldn't cũng cần have trước V3.
Dịch từ “Lẽ ra bạn phải nói với mình sớm hơn”. Lời trách về quá khứ là should have, không phải had to.
Với một cơ hội đã bỏ lỡ (“lẽ ra mình đã có thể giúp bạn”), cần could have + V3. I could help you là lời đề nghị ở hiện tại.
Câu “Nếu tôi biết thì tôi đã đến sớm hơn” nói về quá khứ, nên vế if dùng had + V3 và vế còn lại dùng would have + V3.
Với một quá khứ giả định (“thì đã đến”), cần would have + V3. I would come là hiện tại: “mình sẽ đến”.
“Lẽ ra bạn nên gọi cho mình”, “Lẽ ra bạn không nên nói thế”: quá khứ chỉ nằm ở “lẽ ra”, động từ giữ nguyên
Trong tiếng Anh, quá khứ phải nằm ở have + V3: “You should have called me”, “You shouldn't have said that”. Để động từ trơn (“You should call me”) là lời khuyên cho hiện tại; chia ở thì quá khứ đơn (“You should called me”, “You shouldn't said that”) là sai.
“Lẽ ra bạn phải nói với mình sớm hơn”: có chữ “phải”
“Phải” ở đây không phải had to. Lời trách về quá khứ luôn là should have: “You should have told me earlier.” (muốn mạnh hơn: “You really should have told me.”). “You had to tell me” nghĩa là hồi đó bạn bắt buộc phải nói, không phải lời trách.
“Nếu tôi biết thì tôi đã đến sớm hơn”: câu điều kiện tiếng Việt không đổi hình thức
Tiếng Anh dùng hai dạng khác nhau cho hai vế. Vế có if dùng thì quá khứ hoàn thành: “If I had known”. Vế còn lại dùng would have + V3: “I would have come earlier”. Các lỗi kinh điển là “If I knew, I came earlier” và “If I would have known…”.
“Lẽ ra bạn nên gọi cho mình” (trách) và “Chắc là bạn đã gọi lúc mình ra ngoài” (suy đoán)
Tiếng Anh dùng hai động từ khuyết thiếu khác nhau: should have để trách hoặc tiếc (“You should have called me”); must have để suy đoán điều gần như chắc chắn đã xảy ra (“You must have called me while I was out”). Đừng trộn lẫn: dùng must have là không hề trách ai cả.
💡 “Lẽ ra nên…” = should have + V3, không bao giờ should + động từ quá khứ.
💡 “Lẽ ra đã có thể…” = could have + V3; “lẽ ra phải…” khi trách vẫn là should have, không phải had to.
💡 “Nếu tôi biết” (về quá khứ) = If I had known; “thì tôi đã đến” = I would have come.
💡 Trách = should have; suy đoán (“chắc là… rồi”) = must have.
"You should have come to the party, it was great!"
"I know, I wish I had. I could have come, but I was too tired."
"That's a shame. You would have loved the food."
"Next time I definitely will."
Bài tập 1 · Chọn câu đúng: tiếc nuối hoặc trách
Choose the correct sentence — regret or criticism about the past.
Bài tập 2 · Chọn câu đúng: khả năng không thành
Choose the correct sentence — unrealized past ability.
Bài tập 3 · Chọn câu đúng: quá khứ giả định
Choose the correct sentence — a hypothetical past.
Bài tập 4 · Chọn câu phủ định đúng
Choose the correct negative.
Bài tập 5 · Chọn câu đúng: trách việc đã xảy ra
Choose the correct sentence — criticism of a past action that did happen.
Bài tập 6 · Chọn câu trả lời đúng
Which modal perfect expresses regret about something NOT done?
Bài tập 7 · Chọn câu đúng
Choose the correct sentence.
Bài tập 8 · Chọn câu đúng
Choose the correct sentence.
Bài tập 9 · Hoàn thành câu: tiếc nuối
Complete (regret): 'I ___ (should/study) harder for that exam.'
Bài tập 10 · Hoàn thành câu: khả năng không thành
Complete (unrealized ability): 'She ___ (could/win) the race, but she twisted her ankle.'
Bài tập 11 · Xếp vào đúng nhóm
Đã xếp 0 / 6
Bài tập 12 · Lỗi thường gặp: dịch từng chữ “nếu… thì đã…”
Vietnamese: “Nếu tôi biết thì tôi đã đến sớm hơn.” Which English translation is correct?
Năm câu hỏi đa dạng để kiểm tra những gì bạn đã học.
Câu 1 / 5
Điểm: 0/0
Choose the correct sentence.
Động từ khuyết thiếu chỉ suy luận
Suy luận chắc chắn bằng must và can't, ở hiện tại và về quá khứ – và vì sao “chắc anh ấy không ở đó” không dịch bằng mustn't.
Động từ khuyết thiếu chỉ khả năng xảy ra
Nói về khả năng xảy ra bằng may, might và could ở hiện tại, tương lai và quá khứ – và vì sao “chiều nay có thể mưa” không phải “it can rain”.
Need, needn't và don't need to
Hai “gương mặt” ngữ pháp của need: động từ khuyết thiếu (needn't) và động từ thường (don't need to), cùng cấu trúc needn't have + V3.
Should, ought to và had better
So sánh ba cách khuyên trong tiếng Anh – should, ought to và had better: khác nhau thế nào về ngữ pháp và mức độ mạnh nhẹ, kèm lỗi người Việt hay mắc.