Ngữ pháp tiếng Anh · có trong 4 câu đề chính thức, tham khảo

Modal + have + V3: công thức, cách dùng và bài tập

Còn gọi là: động từ khuyết thiếu hoàn thành, must have done, should have done, suy đoán quá khứ, needn't have done

Modal + have + V3 dùng để nói về chuyện đã qua: hoặc đoán xem điều gì đã xảy ra, hoặc tiếc, trách một việc đã làm hay chưa làm. Must have V3 là chắc chắn đã, can't have V3 là chắc chắn đã không, may/might/could have V3 là có lẽ đã, còn should have V3 là lẽ ra nên làm mà không làm.

Công thức Modal + have + V3 (must have, should have, can't have)

5 dạng, xếp từ hay gặp nhất.

  1. 1

    Must have V3: chắc chắn đã

    S + must have + V3/ed

    Suy đoán gần như chắc chắn về quá khứ, dựa trên một bằng chứng có thật. Không dùng must have để trách ai đó.

    • The streets are wet. It must have rained last night.Đường ướt hết. Chắc chắn đêm qua trời mưa.
    • Lan got full marks. She must have studied very hard.Lan được điểm tối đa. Chắc hẳn bạn ấy đã học rất chăm.
  2. 2

    Can't / couldn't have V3: chắc chắn đã không

    S + can't / couldn't + have + V3/ed

    Phủ định của must have khi suy đoán. Dùng can't have hoặc couldn't have, không dùng mustn't have.

    • Nam can't have broken the window. He was at school all day.Nam không thể nào làm vỡ cửa sổ được. Cả ngày cậu ấy ở trường.
    • She couldn't have seen me. I was hiding behind the door.Cô ấy không thể thấy mình được. Mình nấp sau cánh cửa mà.
  3. 3

    Should / ought to have V3: lẽ ra nên

    S + should / ought to + have + V3/ed · S + shouldn't + have + V3/ed

    Should have V3: lẽ ra nên làm nhưng đã không làm (tiếc hoặc trách). Shouldn't have V3: lẽ ra không nên làm nhưng đã làm rồi.

    • You should have finished the report by last Friday.Lẽ ra em phải xong bản báo cáo trước thứ sáu tuần trước.
    • I shouldn't have stayed up so late playing games.Biết thế mình đã không thức khuya chơi game.
    • We ought to have booked the tickets earlier.Lẽ ra tụi mình nên đặt vé sớm hơn.
  4. 4

    May / might / could have V3: có lẽ đã

    S + may / might / could + have + V3/ed

    Đoán không chắc về quá khứ, khoảng năm mươi phần trăm. Could have V3 còn có nghĩa “lẽ ra đã có thể” (có khả năng nhưng không xảy ra), hay gặp trong vế chính của câu điều kiện loại 3.

    • Mai isn't answering. She might have gone to bed.Mai không nghe máy. Có lẽ bạn ấy đi ngủ rồi.
    • You could have hurt yourself! Be more careful.Suýt nữa là con bị thương rồi đấy! Cẩn thận hơn nhé.
    • If he had tried his best, he could have made a lot of progress.Nếu cậu ấy cố hết sức thì đã có thể tiến bộ nhiều.
  5. 5

    Needn't have V3: lẽ ra không cần (mà đã làm)

    S + needn't + have + V3/ed

    Việc đã làm rồi, nhưng hóa ra không cần thiết. Khác với didn't need to V: không cần nên đã không làm.

    • You needn't have bought me a present. It's very kind of you.Lẽ ra cậu không cần mua quà cho mình đâu. Cậu tốt quá.
    • We needn't have taken a taxi. The train was delayed anyway.Lẽ ra không cần đi taxi. Đằng nào tàu cũng trễ.

Khi nào dùng?

  1. 1.Đoán chuyện đã xảy ra dựa vào dấu hiệu ở hiện tại: chắc chắn thì must have, phủ định chắc chắn thì can't have, không chắc thì may/might have.

    • His eyes are red. He must have cried.Mắt cậu ấy đỏ hoe. Chắc cậu ấy vừa khóc.
  2. 2.Tiếc nuối hoặc trách móc một việc trong quá khứ: should have / shouldn't have.

    • There is no excuse for your late submission. You should have finished it on time.Nộp muộn thì không có lý do gì bào chữa cả. Lẽ ra em phải làm xong đúng hạn.
  3. 3.Nói một khả năng đã không thành hiện thực, thường trong câu điều kiện loại 3: could have / would have.

    • If we had left earlier, we could have caught the bus.Nếu đi sớm hơn thì tụi mình đã kịp xe buýt.
  4. 4.Viết lại câu trong đề: “I'm sure…” → must have, “I'm sure… not…” → can't have, “It was wrong of you to…” → shouldn't have, “It was a mistake not to…” → should have.

    • I'm sure she forgot my number. → She must have forgotten my number.Mình chắc là cô ấy quên số mình rồi. → Chắc chắn cô ấy đã quên số mình.

Dấu hiệu nhận biết

Thấy những chữ này trong câu là nghĩ ngay tới cấu trúc này.

  • I'm sure
  • perhaps / maybe
  • It was a mistake
  • It was wrong of you
  • There is no excuse
  • but he didn't
  • it wasn't necessary

Phân biệt

must have V3 và should have V3

Must have V3 là đoán chắc chắn việc đó đã xảy ra. Should have V3 là việc đó lẽ ra nên xảy ra nhưng đã không xảy ra. Có từ chỉ lỗi, trách móc (no excuse, why didn't you) thì chọn should.

  • He must have left early.Chắc anh ấy về sớm rồi (đoán).
  • He should have left early.Lẽ ra anh ấy nên về sớm (nhưng đã không về).

needn't have V3 và didn't need to V

Needn't have V3: đã làm rồi mới biết là không cần. Didn't need to V: không cần, và thường là đã không làm.

  • I needn't have brought an umbrella. It didn't rain.Lẽ ra mình không cần mang ô. Trời có mưa đâu (mình đã mang).
  • I didn't need to bring an umbrella, so I left it at home.Mình không cần mang ô nên để ở nhà.

must have V3 và had to V

Must have V3 là suy đoán về quá khứ. Had to V là đã bắt buộc phải làm. Muốn nói “đã phải làm” thì dùng had to, không dùng must have.

  • She had to walk home because she missed the bus.Cô ấy đã phải đi bộ về vì lỡ xe buýt.

Bẫy đề thi

Những chỗ đề hay gài và học sinh hay sai.

  1. 1

    You were late again! You must have got up earlier.

    You were late again! You should have got up earlier.

    Đây là trách móc (lẽ ra nên dậy sớm), nên dùng should have. Must have chỉ để đoán.

  2. 2

    He mustn't have seen the message.

    He can't have seen the message.

    Suy đoán phủ định về quá khứ dùng can't have hoặc couldn't have. Mustn't là cấm đoán, không dùng để đoán quá khứ.

  3. 3

    She should have went to the doctor.

    She should have gone to the doctor.

    Sau have luôn là V3 (phân từ hai), không dùng V2.

  4. 4

    They must had forgotten the meeting.

    They must have forgotten the meeting.

    Sau động từ khuyết thiếu luôn là have nguyên mẫu, không chia thành had hay has.

  5. 5

    If he had tried harder, he can have passed the exam.

    If he had tried harder, he could have passed the exam.

    Không dùng can have ở câu khẳng định. Vế chính câu điều kiện loại 3 dùng would/could/might have V3.

  6. 6

    I needn't have worn a coat, so I left it at home.

    I didn't need to wear a coat, so I left it at home.

    Needn't have V3 nghĩa là đã làm rồi. Ở đây mình không mặc áo khoác, nên phải dùng didn't need to.

Ôn thi tốt nghiệp THPT

Modal + have + V3 (must have, should have, can't have) trong đề thi

22/205đề thi tốt nghiệp và đề thi thử 2017–2026 có câu hỏi về cấu trúc này

Trong đề chính thức và đề tham khảo của Bộ, có 4 câu hỏi về cấu trúc này (các năm 2018, 2019, 2024). Xếp thứ 39 trong các cấu trúc hay thi nhất.

Câu hỏi thật trong đề

  1. Đề chính thức 2024 · Chọn câu gần nghĩa nhất

    He didn't try his best. He didn't make much progress.

    • AIf he had tried his best, he can have made a lot of progress.
    • BIf he had tried his best, he can't have made much progress.
    • CIf he had tried his best, he couldn't have made much progress.
    • DIf he had tried his best, he could have made a lot of progress.

    Đáp án D. Hai câu gốc kể thực tế quá khứ (didn't try, didn't make much progress), nên viết lại bằng điều kiện loại 3 với nghĩa ngược lại: nếu cố hết sức thì đã có thể tiến bộ nhiều, tức could have made a lot of progress. Phương án A sai vì không dùng can have ở câu khẳng định. B và C giữ nguyên ý “không tiến bộ”, ngược với nghĩa cần có.

  2. Đề chính thức 2018 · Chọn đáp án đúng

    There is no excuse for your late submission! You ______ the report by last Friday.

    • Amightn't have finished
    • Bshould have finished
    • Cneedn't have finished
    • Dmust have finished

    Đáp án B. “There is no excuse for your late submission” là lời trách: lẽ ra phải nộp trước thứ sáu mà không nộp, nên dùng should have finished. Must have finished là đoán chắc đã làm xong, mâu thuẫn với nộp muộn. Mightn't have là đoán có lẽ chưa xong, còn needn't have là lẽ ra không cần làm, đều sai ý trách.

Bài tập modal + have + v3 (must have, should have, can't have)

10 câu kiểu đề thi, có giải thích.

Athena

Thử xem, mình đợi em.

Câu 1The grass in the garden is wet. It ______ last night.

Câu 2You ______ me at the party yesterday. I was at home all evening.

Câu 3I'm not sure where Mai is. She ______ to the library.

Câu 4Tìm lỗi sai: I failed the test yesterday. I (A) know I (B) must have studied (C) harder (D) last week.

Câu 5Điền vào chỗ trống: Minh took a taxi to the station because he thought he was late. But the train was delayed for an hour, so he ______ a taxi.

Câu 6Điền vào chỗ trống: Hoa's phone was switched off all day. She ______ to charge it last night. She often does that.

Câu 7Chọn câu gần nghĩa nhất: “It was wrong of you to shout at your little brother.”

Câu 8Chọn câu gần nghĩa nhất: “I'm sure Nam didn't break the window. He was at school.”

Câu 9Điền vào chỗ trống: The road was blocked by a fallen tree. Luckily, the driver stopped in time. If he hadn't, he ______ a serious accident.

Câu 10Tìm lỗi sai: Look at his big smile! He (A) can't have (B) heard (C) the good news (D) from his teacher.

Hỏi đáp

Must have V3 và should have V3 khác nhau thế nào?
Must have V3 là đoán chắc chắn một việc đã xảy ra. Should have V3 là lẽ ra nên làm nhưng đã không làm, dùng để tiếc hoặc trách.
Phủ định của must have là gì?
Khi suy đoán, phủ định của must have là can't have hoặc couldn't have V3 (chắc chắn đã không). Không dùng mustn't have.
Needn't have done nghĩa là gì?
Nghĩa là đã làm việc đó rồi nhưng hóa ra không cần. Nếu không cần và cũng không làm thì dùng didn't need to V.

Cập nhật 11/11/2026