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

Câu điều kiện loại 3: công thức, cách dùng và bài tập

Còn gọi là: điều kiện loại 3, if loại 3, câu điều kiện trái quá khứ, đảo ngữ had, if + had V3

Câu điều kiện loại 3 dùng để giả định một chuyện đã không xảy ra trong quá khứ và kết quả cũng trong quá khứ. Công thức: If + S + had + V3, S + would/could/might + have + V3. Đề hay cho hai câu kể sự thật quá khứ rồi bắt em viết lại thành câu giả định ngược nghĩa.

Công thức Câu điều kiện loại 3

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

  1. 1

    Công thức cơ bản

    If + S + had + V3/ed, S + would + have + V3/ed

    Vế if dùng quá khứ hoàn thành, vế chính dùng would have + V3. Hai vế đổi chỗ được; khi if đứng đầu thì có dấu phẩy.

    • If I had set an alarm, I wouldn't have overslept.Nếu hồi sáng mình đặt báo thức thì đã không ngủ quên (thực tế là không đặt).
    • If she had taken a taxi, she would have arrived on time.Nếu cô ấy đi taxi thì đã đến kịp giờ.
    • We would have gone to the beach if it hadn't rained.Nếu trời không mưa thì tụi mình đã đi biển rồi.
  2. 2

    Could have / might have

    If + S + had + V3, S + could/might + have + V3

    Could have V3: đã có thể làm được. Might have V3: có lẽ đã. Hay gặp trong câu viết lại của đề thi.

    • If he had trained harder, he could have won the race.Nếu cậu ấy tập chăm hơn thì đã có thể thắng cuộc đua.
    • If you had asked her, she might have helped you.Nếu bạn hỏi thì có lẽ cô ấy đã giúp rồi.
  3. 3

    Đảo ngữ: Had + S + V3

    Had + S + (not) + V3/ed, S + would have + V3/ed

    Bỏ if, đưa had lên đầu. Phủ định là Had + S + not + V3, không viết Hadn't + S. Đây là dạng đề rất hay ra.

    • Had I known your number, I would have called you.Nếu mình biết số bạn thì mình đã gọi rồi.
    • Had they not left early, they would have missed the flight.Nếu họ không đi sớm thì đã lỡ chuyến bay.
  4. 4

    But for / Without / If it hadn't been for

    But for / Without + N, S + would have + V3 = If it hadn't been for + N = Had it not been for + N

    Nghĩa là “nếu không có…”. Sau but for, without là danh từ hoặc cụm danh từ, không phải mệnh đề.

    • But for your help, I wouldn't have finished the project.Nếu không có bạn giúp thì mình đã không xong dự án.
    • If it hadn't been for the rain, we would have played football.Nếu không vì cơn mưa thì tụi mình đã đá bóng rồi.

Khi nào dùng?

  1. 1.Giả định ngược với chuyện đã xảy ra trong quá khứ, thường kèm tiếc nuối hoặc trách móc.

    • If I had listened to my mum, I wouldn't have caught a cold.Giá mà nghe lời mẹ thì mình đã không bị cảm.
  2. 2.Viết lại hai câu kể sự thật quá khứ thành một câu điều kiện: đổi khẳng định thành phủ định và ngược lại, lùi thì về quá khứ hoàn thành.

    • He didn't revise. He failed the test. → If he had revised, he wouldn't have failed the test.Cậu ấy không ôn bài nên trượt. → Nếu ôn bài thì cậu ấy đã không trượt.
  3. 3.Câu có so, because, thanks to, without nói về quá khứ: viết lại bằng loại 3 hoặc but for.

    • Thanks to the map, we didn't get lost. → Without the map, we would have got lost.Nhờ có bản đồ nên tụi mình không lạc. → Không có bản đồ thì tụi mình đã lạc rồi.

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.

  • had + V3 ở vế if
  • would have / could have / might have
  • Had + S + V3 đứng đầu câu
  • but for / without
  • trạng từ quá khứ: yesterday, last week, ago

Phân biệt

Điều kiện loại 2 và Điều kiện loại 3

Loại 2 giả định trái hiện tại: If + V2, would + V. Loại 3 giả định trái quá khứ: If + had V3, would have V3. Nhìn thời gian của sự thật gốc để chọn.

  • If I had a bike, I would cycle to school.Nếu có xe đạp thì mình sẽ đạp xe đi học (bây giờ không có).
  • If I had had a bike, I would have cycled to school yesterday.Nếu hôm qua có xe đạp thì mình đã đạp xe đi học rồi.

Điều kiện loại 3 và Điều kiện hỗn hợp

Hỗn hợp: vế if trái quá khứ nhưng kết quả ở hiện tại, nên vế chính dùng would + V (thường có now). Loại 3 thì cả kết quả cũng ở quá khứ.

  • If I had studied medicine, I would be a doctor now.Nếu hồi đó học y thì giờ mình đã là bác sĩ.
  • If I had studied harder, I would have passed the exam.Nếu hồi đó học chăm thì mình đã đỗ kỳ thi.

Bẫy đề thi

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

  1. 1

    If I would have known, I would have told you.

    If I had known, I would have told you.

    Vế if không dùng would. Would have chỉ nằm ở vế chính.

  2. 2

    If she had studied harder, she would pass the exam last year.

    If she had studied harder, she would have passed the exam last year.

    Kết quả ở quá khứ (last year) nên vế chính phải là would have + V3.

  3. 3

    Had I knew about the party, I would have come.

    Had I known about the party, I would have come.

    Đảo ngữ loại 3 là Had + S + V3. Know có V3 là known, không phải knew.

  4. 4

    Hadn't he missed the bus, he would have been on time.

    Had he not missed the bus, he would have been on time.

    Phủ định trong đảo ngữ phải tách: Had + S + not + V3. Không viết tắt hadn't ở đầu câu.

  5. 5

    He didn't wear a helmet. He was hurt. → If he had worn a helmet, he would have been hurt.

    He didn't wear a helmet. He was hurt. → If he had worn a helmet, he wouldn't have been hurt.

    Phải đảo nghĩa cả hai vế. Đề hay cài phương án chỉ đổi một vế, đọc nhanh rất dễ chọn nhầm.

Ôn thi tốt nghiệp THPT

Câu điều kiện loại 3 trong đề thi

14/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ó 6 câu hỏi về cấu trúc này (các năm 2017, 2020, 2023, 2024). Xếp thứ 52 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 kể chuyện quá khứ, đều phủ định, nên câu giả định phải khẳng định cả hai vế: had tried, could have made a lot of progress (didn't make much progress đổi thành made a lot of progress). A và B dùng can have/can't have, không dùng trong câu điều kiện loại 3. C giữ couldn't… much, không đảo nghĩa vế sau.

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

    He lacked commitment to the job. He wasn’t considered for promotion.

    • ABut for his lack of commitment to the job, he would have been considered for promotion.
    • BSuppose that he lacked commitment to the job, he wouldn’t be considered for promotion.
    • CIf it had not been for his lack of commitment to the job, he would be considered for promotion.
    • DWithout his commitment to the job, he would be considered for promotion. ---HET--—-

    Đáp án A. But for + danh từ = If it had not been for: “nếu không vì thiếu tận tâm”. Sự thật ở quá khứ (wasn't considered) nên vế chính dùng would have been considered. C đúng cấu trúc vế đầu nhưng vế sau dùng would be, sai thời gian. B dùng thì hiện tại và giữ nguyên nghĩa phủ định. D đổi thành without his commitment, ngược nghĩa câu gốc.

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

    We survived that accident because we were wearing our seat belts.

    • ABut for our seat belts, we would have survived that accident.
    • BHad we not been wearing our seat belts, we wouldn't have survived that accident.
    • CWithout our seat belts, we could have survived that accident.
    • DIf we weren't wearing our seat belts, we couldn't have survived that accident.

    Đáp án B. Thực tế: có thắt dây an toàn nên sống sót. Câu giả định ngược lại: Had we not been wearing… (đảo ngữ loại 3 của If we hadn't been wearing), we wouldn't have survived. A và C nói không có dây an toàn vẫn sống sót, ngược logic. D dùng weren't wearing của loại 2, không khớp với vế have survived và với chuyện quá khứ.

Bài tập câu điều kiện loại 3

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

Athena

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

Câu 1If you ______ me you were coming, I would have picked you up at the station.

Câu 2If it hadn't rained so heavily, we ______ the football match yesterday.

Câu 3Tìm lỗi sai: If she (A) had studied harder, she (B) would pass (C) the exam (D) last year.

Câu 4Tìm lỗi sai: If I (A) have known about the traffic jam, I (B) would have left home (C) earlier and (D) arrived on time.

Câu 5Chọn câu gần nghĩa nhất: “I didn't have enough money, so I didn't buy that phone.”

Câu 6Chọn câu gần nghĩa nhất: “Thanks to your help, I finished the project on time.”

Câu 7Chọn câu gần nghĩa nhất: “If Nam had checked the weather forecast, he wouldn't have got wet.”

Câu 8Last weekend, our class went camping in Ba Vì. Unfortunately, nobody remembered to bring a map. If we ______ one, we wouldn't have got lost in the forest.

Câu 9The storm last night was very strong. Luckily, my dad had cut down the old tree in our garden the week before. If he hadn't done that, the tree ______ on our roof.

Câu 10Mai didn't apply for the scholarship because she didn't know about it in time. If her teacher had told her earlier, she ______ for it.

Hỏi đáp

Công thức câu điều kiện loại 3 là gì?
If + S + had + V3, S + would/could/might + have + V3. Dùng để giả định ngược với chuyện đã xảy ra trong quá khứ.
Đảo ngữ câu điều kiện loại 3 viết thế nào?
Bỏ if, đưa had lên đầu: Had + S + V3, S + would have V3. Phủ định là Had + S + not + V3, ví dụ Had I not seen it…
Câu điều kiện loại 3 khác loại 2 thế nào?
Loại 2 trái với hiện tại (If + V2, would + V). Loại 3 trái với quá khứ (If + had V3, would have V3).
But for dùng với loại 3 thế nào?
But for + danh từ, S + would have + V3, nghĩa là “nếu không có…”. Tương đương If it hadn't been for + danh từ.

Cập nhật 11/11/2026