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

Cấu trúc But for, Without, If it weren't for: công thức, cách dùng và bài tập

Còn gọi là: but for, if it weren't for, had it not been for, were it not for, nếu không có

But for, Without, If it weren't for, If it hadn't been for đều nghĩa là “nếu không có…”, theo sau là một danh từ hoặc cụm danh từ, rồi đến mệnh đề chính của câu điều kiện. Chuyện hiện tại dùng would + V (loại 2), chuyện quá khứ dùng would have + V3 (loại 3).

Công thức But for / Without

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

  1. 1

    Nếu không có… ở quá khứ (loại 3)

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

    Dạng hay ra nhất trong đề viết lại câu. Có sự việc đã xảy ra trong quá khứ, nhờ hoặc tại nó mà kết quả mới như vậy.

    • But for your help, I would have failed the exam.Nếu không có bạn giúp thì mình đã trượt rồi.
    • If it hadn't been for the traffic jam, we would have arrived on time.Nếu không tắc đường thì tụi mình đã đến đúng giờ.
    • Had it not been for the seat belt, the driver would have been badly hurt.Nếu không có dây an toàn thì người lái xe đã bị thương nặng.
  2. 2

    Nếu không có… ở hiện tại (loại 2)

    But for / Without / If it weren't for / Were it not for + N, S + would/could + V

    Nói điều trái với hiện tại: thực tế là có cái đó, giả sử không có thì sao. Đề thi dùng weren't cho mọi ngôi, văn nói có người dùng wasn't.

    • If it weren't for my phone, I would get lost all the time.Nếu không có điện thoại chắc mình lạc suốt.
    • Without water, plants couldn't survive.Không có nước thì cây không sống được.
    • Were it not for her parents' support, she couldn't study abroad.Nếu không có bố mẹ ủng hộ thì cô ấy không đi du học được.
  3. 3

    Without + V-ing

    Without + V-ing / N, S + would (have) + V…

    Without đi được với V-ing, còn but for gần như chỉ đi với danh từ. Câu thường gặp với without là câu điều kiện thật (Without a ticket, you can't get in).

    • Without practising every day, you won't improve your English.Không luyện mỗi ngày thì tiếng Anh của em sẽ không khá lên.
    • Without saving a little money every month, I couldn't have bought this laptop.Không để dành chút tiền mỗi tháng thì mình đã không mua được cái laptop này.

Khi nào dùng?

  1. 1.Nói nhờ có ai, cái gì mà mọi chuyện mới tốt như bây giờ hoặc như đã xảy ra.

    • But for the doctors, my grandpa wouldn't have recovered.Nếu không có các bác sĩ thì ông mình đã không khỏi bệnh.
  2. 2.Nói tại ai, cái gì mà mọi chuyện mới hỏng.

    • If it hadn't been for the rain, we would have won the match.Nếu không có trận mưa thì tụi mình đã thắng trận đấu.
  3. 3.Viết lại câu: hai câu kể nguyên nhân và kết quả thành một câu “nếu không có”.

    • He lacked experience. He didn't get the job. → But for his lack of experience, he would have got the job.Anh ấy thiếu kinh nghiệm nên không được nhận. → Nếu không thiếu kinh nghiệm thì anh ấy đã được nhận.

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.

  • but for
  • without
  • if it weren't for
  • if it hadn't been for
  • were it not for
  • had it not been for

Phân biệt

But for / Without + N và If + S + V

But for và without theo sau là danh từ, còn if theo sau là cả một mệnh đề. Muốn đổi từ if sang but for thì biến động từ thành danh từ (he helped me → his help).

  • If you hadn't helped me, I would have failed.Nếu bạn không giúp thì mình đã trượt.
  • But for your help, I would have failed.Nếu không có bạn giúp thì mình đã trượt.

If it weren't for và If it hadn't been for

Weren't for là loại 2, nói về hiện tại, đi với would + V. Hadn't been for là loại 3, nói về quá khứ, đi với would have + V3. Nhìn mệnh đề chính hoặc từ chỉ thời gian để chọn.

  • If it weren't for the noise, I could sleep now.Nếu không ồn thì giờ mình ngủ được rồi.
  • If it hadn't been for the noise, I could have slept last night.Nếu không ồn thì tối qua mình đã ngủ được.

Bẫy đề thi

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

  1. 1

    But for he helped me, I would have failed.

    But for his help, I would have failed.

    Sau but for là danh từ, không phải mệnh đề. Đổi he helped me thành his help.

  2. 2

    Had it not for the map, we would have got lost.

    Had it not been for the map, we would have got lost.

    Dạng đảo ngữ loại 3 phải đủ Had it not been for. Đề hay cài phương án thiếu been.

  3. 3

    If it hadn't been for your advice, I will make a big mistake.

    If it hadn't been for your advice, I would have made a big mistake.

    Vế if là loại 3 (hadn't been) thì vế chính phải là would have + V3.

  4. 4

    He lacked commitment. He wasn't promoted. → Without his commitment, he would have been promoted.

    He lacked commitment. He wasn't promoted. → But for his lack of commitment, he would have been promoted.

    Nguyên nhân là sự thiếu cam kết, nên phải giữ lack of. Bỏ lack đi là đảo ngược nghĩa câu.

  5. 5

    We found the hotel thanks to the map. → But for the map, we would have found the hotel.

    We found the hotel thanks to the map. → But for the map, we wouldn't have found the hotel.

    Thực tế là có bản đồ nên tìm được. Giả sử không có bản đồ thì kết quả phải ngược lại: wouldn't have found. Đề hay cài phương án giữ nguyên kết quả.

Ôn thi tốt nghiệp THPT

Cấu trúc But for / Without trong đề thi

6/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ó 1 câu hỏi về cấu trúc này (các năm 2020). Xếp thứ 76 trong các cấu trúc hay thi nhất.

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

  1. Đề 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. Thực tế là thiếu cam kết nên không được xét thăng chức, chuyện đã qua. Viết lại thành but for his lack of commitment + would have been considered (loại 3): nếu không thiếu cam kết thì đã được xét. Phương án C dùng would be, lệch thì với had not been. Phương án D bỏ mất lack nên ngược nghĩa. Phương án B thì giữ nguyên kết quả, không còn là giả định trái thực tế.

Bài tập cấu trúc but for / without

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

Athena

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

Câu 1______ your help, I would have failed the maths test.

Câu 2If it ______ for the heavy rain yesterday, we would have gone to the beach.

Câu 3Without the Internet, our lives ______ very different today.

Câu 4Tìm lỗi sai: We (A) would never (B) have finished the project on time (C) but for (D) he helped us.

Câu 5Tìm lỗi sai: (A) Were it not (B) for his laziness, he (C) would have passed (D) the entrance exam last year.

Câu 6Chọn câu gần nghĩa nhất: “If it weren't for the noise from the street, I could sleep well.”

Câu 7Chọn câu gần nghĩa nhất: “The firefighters acted quickly. The fire didn't spread to other houses.”

Câu 8Mangrove forests protect the coast of the Mekong Delta from storms. ______ these forests, many villages would be flooded every rainy season. That is why people are planting more trees.

Câu 9Last summer our village had a terrible drought. Had it not ______ for the new water tanks, many families would have run out of drinking water.

Hỏi đáp

Sau but for là gì?
Sau but for là danh từ hoặc cụm danh từ (but for your help, but for the rain), không phải mệnh đề S + V.
If it weren't for và If it hadn't been for khác nhau thế nào?
If it weren't for dùng cho hiện tại, đi với would + V. If it hadn't been for dùng cho quá khứ, đi với would have + V3.
But for và without có giống nhau không?
Trong câu điều kiện thì gần như cùng nghĩa “nếu không có”. Khác là without đi được với V-ing và dùng được cả trong câu điều kiện thật, còn but for chủ yếu đi với danh từ trong câu giả định.

Cập nhật 11/11/2026