前回に引き続き、文法用語ではなく色を使って仮定法を説明。今回は「○○だったら○○していたのに」という表現です。
先日は、現実には起こり得ない現在や未来について表現する方法を見ました。重要なポイント3つのおさらいです。
1. 「もし~だったら~するのに」の2つのパーツに分けて考える
2. もし~だったら = if + 過去 ~するのに = would
3. 「If + 過去」が文頭にくるときはカンマを使う
If I had one billion yen, I would buy you a house.
もし10億円持っていたらあなたに家を買ってあげるのに。
If I had a car, we would drive to Disneyland tomorrow.
もし車を持っていたら、明日ディズニーランドまで運転していくんだけどね。
I would say “yes” if I were you.
もし私があなただったらYESって言うよ。
「たられば」仮定法過去完了
今回は、事実とは違う過去について想像する場合です。
「ああしていたら・・・」「こうだったらよかったのに・・・」と過去について後悔したり、「たられば」で話したりするときによく使います。前回とは違い、今回は過去についてなので赤と青で表現した部分の文法も少し変わります。
もし答えを知っていたら教えてあげたのに。
If I had known the answer, I would have told you.
では、詳しく見ていきましょう。
今回も赤と青の2つのパーツで考えます。
もし(私が)答えを知っていたら
If I had known the answer,
(あなたに)教えてあげたのに。
I would have told you.
基本的な形は同じですが、動詞に少し変化がありますね。
ルールはこちら。
If + had + 過去分詞、would have + 過去分詞
文法用語が苦手な方に少しだけ説明です。
過去分詞とは、eat, ate, eaten の3つ目の eatenの部分のことです。take, took, taken の taken です。
FYI
文法用語が大丈夫な方は「おや?」っと思ったかもしれませんが、
If + had + 過去分詞
というのは、
if + 過去完了のことです。
ルールを意識しながら、もう一度先程の例文を見てみましょう。
If I had known the answer, I would have told you.
もし答えを知っていたら教えてあげたのに。
日本語もきちんと過去形になっていますね。
例文
いくつか例文を見ていきましょう。
If I had known you wanted a necklace for your birthday, I would have bought you one.
お誕生日にネックレスが欲しいと知っていたら買ってあげたのに。
※ここでの one はネックレスを意味します。
If I had known that there was a test yesterday, I would have studied more.
昨日テストがあるって知っていたらもっと勉強していたのに。
If I had read the label, I wouldn’t have washed it in the washing machine.
ラベルを読んでいたら洗濯機で洗わなかったのに。
If I had seen you, I would have said hello.
あなたを見かけていたら(あなたと分かっていたら)挨拶したのに。
I would have missed my last train if I hadn’t stopped drinking then.
あそこ(あの時点)で飲むのを止めていなかったら終電を逃していた。
If I had had more money, I would have gone out with you.
もっとお金があったら(持っていたら)一緒に出掛けていたのに。
解説
もっとお金がある(持っている)= I have more money
have の過去分詞は had です。ルールは、「if + had + 過去分詞」なので、If I had had more moneyになります。had had と2回続くと間違えてしまったかのように感じますが、正解です。
実際、私がこの文法を知らない時、学校で配られたプリントに had had と2回連続で書かれていたのを見て、「先生、これ間違えちゃったの?」と聞いたことがあります・・・
If the weather had been nice, we would have gone out.
天気が良かったら出かけていたんだけどね
解説
初めから「天気が良かったら」と考えると難しいので、まずはシンプルに現在形で考えます。
天気が良い = the weather is nice
そして、ここから変えていきます。The weather is nice の “is” の過去分詞が何か、というのがミソです。is という動詞のおおもと(原形)は be です。Take, took, taken という同じ流れで考えると、be, was/were, been なので、is の過去分詞は been。
「If + had + 過去分詞」のルールをあてはめます。そうすると、If the weather had been nice,… となるわけです。
仮定法過去との比較
ここで、前回の仮定法と比べてみましょう。前回は、事実とは異なる現在や未来について(あり得ない現在や未来)でした。今回は、事実とはことなる過去(たられば)です。
事実とは違う現在:仮定法過去(前回)
If I knew the answer, I would tell you.
答えを知っていたら教えてあげるのに。
(今、答えを知ってたら教えてあげるけど、知らないので教えてあげられない。)
事実とは違う過去:仮定法過去完了(今回)
If I had known the answer, I would have told you.
答えを知っていたら教えてあげたのに。
(答えを知っていたら教えてあげたんんだけど、知らなかったから教えてあげられなかった。)
似ているようですが、違うのがはっきりと分かりますね。
では、このように比較しながらもう少し例文を見て、しっかりと落とし込んでいきましょう。
If she were in her office, she would answer the phone.
もし彼女がオフィスにいたら電話に出るはずよ。
If she had been in her office, she would have answered the phone.
もし彼女がオフィスにいたら電話に出たはずよ。
If I had more bananas, I would bake a banana cake this afternoon.
もっとバナナがあったら今日の午後バナナケーキを焼くんだけどね。
If I had had more bananas, I would have baked a banana cake yesterday.
もっとバナナがあったら昨日バナナケーキを焼いたんだけどね。
If Steve were home now, we would visit him.
もし今スティーブが家にいたら皆で遊びに行くのに。
If Steve had been home yesterday, we would have visited him.
もし昨日スティーブが家にいたら皆で遊びに行ったのに。
前回は、最後に I wish… というフレーズを使い、「~だったらいいのに」と願いを表す方法も見ました。
今回も I wishを使い、「~だったらよかったのに」「~しておけばよかった」と事実とは違う状況を願ってみましょう。
前回と同じように、I wish…は、If の部分と同じ構造です。
If you had called,… 電話をしてくれていたら・・・
↓
I wish you had called first.
先に電話してくれればよかったのに。
I wish I had known that you were visiting me.
あなたが遊びに来るって知っていたらな。
I wish I hadn’t eaten 3 scoops of ice cream.
アイスクリームを3スクープも食べなきゃよかった。
I wish I had bought more bread.
もっとパンを買っておけばよかった。
I wish I had traveled more when I was young.
若いときにもっと旅行に行っておけばよかった。
【合わせて読みたい】