助動詞 + have + 過去分詞(Modal Perfects)

B2 · 中上級助動詞

should have、could have、would have は、実際には起こらなかった過去について話す表現です。「〜すればよかった」「〜できたのに」「〜していただろう」にあたります。

このレッスンで学ぶこと

  • should have + 過去分詞:後悔や非難(「〜すればよかった」「〜するべきだった」)
  • could have + 過去分詞:できたのにしなかったこと(「〜できたのに」)
  • would have + 過去分詞:想像上の過去の結果。if とよく使う(「〜しただろう」)
  • shouldn't have:実際にしてしまったことへの非難(「〜するべきではなかった」)

実際には起こらなかった過去を振り返る

should have、could have、would have は、いつも「助動詞 + have + 過去分詞」の3つの部分でできています。助動詞がそれぞれの意味を表します。後悔や非難、逃したチャンス、想像上の結果です。“You should have called me — I was worried.”(電話してくれればよかったのに。心配したよ)、“I could have helped you, but I didn't know you needed it.”(手伝えたのに、必要だとは知らなかった)。

日本語では「よかった」「できた」「だろう」のように、文末の「た」で過去を表します。そのため、英語でも動詞や助動詞を過去形にしたくなります(“He should apologized”)。英語では助動詞の形はそのままで、過去を表すのは have + 過去分詞の部分です:should + have + called。話し言葉では have が縮まって should've、could've、would've と発音されます。

対応のまとめ:「〜すればよかった/〜するべきだった」= should have + 過去分詞、「〜できたのに」= could have + 過去分詞、「〜しただろう/〜していただろう」= would have + 過去分詞。

"You should have called me — I was worried."
"I could have helped you, but I didn't know you needed it."

should have:後悔と非難

should have は、しなかったことへの後悔や、判断への非難を表します:“He should have apologized sooner.”(彼はもっと早く謝るべきだった)。

shouldn't have はその逆で、実際にしてしまったことを非難します:“You shouldn't have spent all that money.”(そんなにお金を使うべきじゃなかったのに)。実際にお金は使ってしまったわけです。

日本語でよく言う「〜すればよかった」を “It was good if I studied…” と直訳しないようにしましょう。英語では should have で表します:“I should have studied harder for that exam.”(あの試験のためにもっと勉強すればよかった)。また、have を抜かすと意味が変わります。“You should call me” は「(これから)電話してね」という今や未来へのアドバイスで、過去への非難にはなりません。

「〜するべきだった」と「〜しなければならなかった」を混同しないことも大切です。“I had to leave.” は「実際に出なければならなかった(そして出た)」という義務で、後悔の意味はありません。後悔や非難なら should have です。強く責めるときは really を加えます:“You really should have told me.”

"He should have apologized sooner."
"You shouldn't have spent all that money."

could have:逃したチャンス

could have は、過去にできたはずの能力や機会を使わなかったことを表し、よく理由が続きます:“We could have won if we'd played better.”(もっといいプレーをしていたら勝てたのに)。

「できた」をいつも could にしないよう注意しましょう。「手伝えたのに(手伝わなかった)」は “I could have helped you” です。have のない could は、過去の一般的な能力(“I could swim at five.” 5歳で泳げた)か、今の申し出(“I could help you.” 手伝おうか)になり、逃したチャンスの意味にはなりません。

否定の couldn't have は「(たとえそうしようとしても)無理だっただろう」という意味です:“We couldn't have won without you.”(あなたがいなかったら勝てなかっただろう)。これも would have と同じく、想像上の過去です。

could have は「〜してくれてもよかったのに」という軽い非難にもなります:“They could have told us sooner.”(もっと早く教えてくれてもよかったのに)。

また、“She could have missed the bus.”(バスに乗り遅れたのかもしれない)のように、過去についての推測にも使えます。逃したチャンスか推測かは文脈で判断します。

"We could have won if we'd played better."
"They could have told us sooner."

would have:想像上の過去

would have は、過去が違っていたら起こっていたことを表します。if + had とよく一緒に使います:“If I had known, I would have come earlier.”(知っていたら、もっと早く来ただろう)。

うれしいことに、これは日本語の「知っていたら、〜しただろう」と同じ組み立てです。条件の部分(if 節)は過去完了 had known、結果の部分だけに would have を置きます。“If I would have known” とは言いません(アメリカの話し言葉で耳にすることはありますが、標準的な英語ではありません)。

「来ただろう」の「た」があるからといって have を落とさないようにしましょう。“I would come earlier” は「(今なら)もっと早く来るだろう」という現在の仮定で、過去の話には合いません。“I wouldn't have said that if I'd known it would upset you.”(傷つくと知っていたら、そんなことは言わなかった)。

"If I had known, I would have come earlier."
"I wouldn't have said that if I'd known it would upset you."

実際の英語

"You shouldn't have worked so late."
"I could have helped you, but I didn't know."
"I wouldn't have believed it if I hadn't seen it myself."
"She could have won the race, but she twisted her ankle."

注意

✗He should apologized sooner.
✓He should have apologized sooner.

have は省略できません。助動詞 + have + 過去分詞です。

✗You shouldn't have say that.
✓You shouldn't have said that.

have のあとは過去分詞です。say ではなく said にします。

✗It was good if I studied harder for that exam.
✓I should have studied harder for that exam.

「もっと勉強すればよかった」の直訳です。後悔は should have + 過去分詞で表します。

✗I could help you, but I didn't know you needed it.
✓I could have helped you, but I didn't know you needed it.

「手伝えたのに(手伝わなかった)」は could have + 過去分詞。I could help you は「手伝おうか」という今の申し出です。

✗If I would have known, I would have come earlier.
✓If I had known, I would have come earlier.

if 節は had + 過去分詞です。would have は結果の部分だけに置きます。

✗If I had known, I would come earlier.
✓If I had known, I would have come earlier.

「来ただろう」は過去の想像なので would have + 過去分詞です。I would come は現在の仮定になります。

日本語と比べてみよう

日本語では「〜すればよかった」「〜できたのに」「〜しただろう」のように、文末の「た」で過去を表します。

英語では助動詞は形を変えず、have + 過去分詞が過去を表します。「謝るべきだった」は “He should have apologized”(“He should apologized” は間違い)、「言うべきじゃなかった」は “You shouldn't have said that”(“shouldn't said” や “shouldn't have say” は間違い)、「勝てたのに」は “We could have won” です。

「もっと勉強すればよかった」「電話してくれればよかったのに」は、日本語で後悔や軽い非難を表すとても自然な言い方です。

英語ではこれをそのまま訳さず、should have で表します:“I should have studied harder.”、“You should have called me.” “It was good if…” は英語として成り立ちません。「〜してくれてもよかったのに」というやわらかい非難なら could have も使えます:“They could have told us sooner.”

「知っていたら、もっと早く来ただろう」のように、日本語でも「もし」の部分には推量を入れず、結果の部分に「だろう」を置きます。

英語も同じ組み立てです:“If I had known, I would have come earlier.” if 節は had + 過去分詞、would have は結果の部分だけです。“If I would have known” にはしません。

💡 「〜すればよかった/〜するべきだった」= should have + 過去分詞、「〜できたのに」= could have + 過去分詞。

💡 have のあとはいつも過去分詞:should have called、shouldn't have said、could have won。

💡 「知っていたら」= If I had known、「来ただろう」= I would have come。

実際の場面:行けなかったパーティーの話

"You should have come to the party, it was great!"

"I know, I wish I had. I could have come, but I was too tired."

"That's a shame. You would have loved the food."

"Next time I definitely will."

練習

練習問題 1 · 正しい文を選びましょう

Choose the correct sentence — regret or criticism about the past.

練習問題 2 · 正しい文を選びましょう

Choose the correct sentence — unrealized past ability.

練習問題 3 · 正しい文を選びましょう

Choose the correct sentence — a hypothetical past.

練習問題 4 · 正しい否定形を選びましょう

Choose the correct negative.

練習問題 5 · 正しい文を選びましょう

Choose the correct sentence — criticism of a past action that did happen.

練習問題 6 · 正しい答えを選びましょう

Which modal perfect expresses regret about something NOT done?

練習問題 7 · 正しい文を選びましょう

Choose the correct sentence.

練習問題 8 · 正しい文を選びましょう

Choose the correct sentence.

練習問題 9 · 文を完成させましょう

Complete (regret): 'I ___ (should/study) harder for that exam.'

練習問題 10 · 文を完成させましょう

Complete (unrealized ability): 'She ___ (could/win) the race, but she twisted her ankle.'

練習問題 11 · グループに分けましょう

should have called
shouldn't have called
could have won
couldn't have won
would have helped
wouldn't have helped

0 / 6 分類済み

練習問題 12 · よくある落とし穴:「〜すればよかったのに」の直訳

Japanese: "もっと早く電話してくれればよかったのに。" Which English sentence is correct?

クイックチャレンジ

学んだことを5つの問題で確認しましょう。

問題 1 / 5

スコア:0/0

Choose the correct sentence.

学んだこと

  • should have(「〜すればよかった」)は後悔や非難。shouldn't have は実際にしてしまったことへの非難です。
  • could have(「〜できたのに」)は、使わなかった可能性や機会を表します。
  • would have(「〜しただろう」)は想像上の過去の結果で、if + had とよく使います。
  • どれも助動詞 + have + 過去分詞。助動詞の形は変えず、過去は have + 過去分詞で表します。
  • if 節には would have ではなく had + 過去分詞を使います。
このカテゴリーのレッスンをすべて見る