ご質問ありがとうございます。
まずは、if it had been not forじゃなくてif it had not been for(短縮:If it hadn't been for)が当ています。
そして、If it weren't forとIf it hand't been forの違いは動詞時制のことです。If it had not been forはもう終わったことについて話しているときに使えます。If it weren't forは現在と過去のことに対して使えます。
例文:If it had not been for the earthquake last year...
例文:If it weren't for my broken leg, I could run the marathon tomorrow.
ご参考になれば幸いです。
こんにちは!
ご質問ありがとうございます。
先のアンカーさんが丁寧に回答されているので、ここでは他の例を挙げてみます。
But for は、『~がなかったら、~を別にすれば』という場合によく使われます。But for で例文を作ってみると、But for the traffic, I would have been here an hour ago. 『渋滞がなかったら(交通量が少なければ)、1時間前にはここにいたであろう。』となります。この場合のBut for は、『何かが起こらなかった理由(1時間前にここにいなかった理由)』の『渋滞』を説明していますね!また、『~を別にすれば』という意味で使うのであれば、It is complete but for a final coat of paint. 『仕上げ塗りを除けば(を別にすれば)これは完成です。』というようにも使えます。この場合は、except for と同じ使い方です。
Without は、『~なしで、なければ』という場合によく使われます。例文を作ってみると、Nothing great was ever achieved without enthusiasm. 『熱意がなければ何の偉業も成し遂げられなかったであろう。』となります。
参考になれば幸いです。