本文へスキップ
原田英語.com に戻る
日刊原田英語 Harada Eigo Daily
GRAMMAR 第2回 標準 読了 7分

should have done の have は何者か — 助動詞+have+過去分詞のからくり

入試対策講座 第2回

You should have called me.(電話してくれればよかったのに)。この have は現在完了ではありません。助動詞のあとに have+過去分詞を置くと、話し手の視線だけが過去へすっと引き戻される——その仕組みを should / must / may / cannot の4つでまとめて押さえる。

監修:原田高志(原田英語.com)

今日のテーマは「後悔・推量」の英語です。「あのとき電話してくれてれば」「彼は疲れていたに違いない」——過去のことを、いまの視点からあれこれ言う言い方。日本語だと自然にできますが、英語ではこれを「助動詞+have+過去分詞」という不思議な形で表します。この have、じつは現在完了とは別物。何者なのかをはっきりさせれば、should have done も must have done も一気に見え方が変わります。

音で学ぶ

ネイティブ音声で、聞く・くり返す・訳を確かめる。全部この場でできます。

速さ・和訳・練習の設定

読む速さ

聞き取れないときは 0.75x へ。音はそのまま、速さだけ変わります

和訳

ふだんは英文だけ。1文ずつ確かめたいときは、その文の「和訳」を押すと、そこだけ開きます

シャドーイング

オンにして文を押すと、同じ1文を3回くり返します。あいだの無音で、自分の口を動かしてください

助動詞+have+過去分詞

助動詞

S + 助動詞 + have + 過去分詞 〜.(=話し手のいまの視点から、過去についての推量/後悔/非難を述べる)

「助動詞+have+過去分詞」の have は現在完了ではありません。ここが最大の入口です。

助動詞(should / must / may / cannot など)は、そもそも時制を持てない特別な動詞です。だから「過去のことを推量したい・後悔したい」と思ったとき、英語は助動詞そのものを過去形にする道を取れませんでした。代わりに使われたのが、後ろに have+過去分詞を貼り付けるという発明です。この have は「完了」ではなく、時間の目盛りだけを過去にひとつ動かすためのレバーとして働きます。

しくみが同じですから、意味も4つがきれいに並びます。

  • should have done:〜すべきだったのに(しなかった)/〜すればよかった。過去の後悔・非難
  • must have done:〜したに違いない。過去への強い推量(今の証拠から確信)
  • cannot have done:〜したはずがない。過去への強い否定的推量
  • may / might have done:〜したかもしれない。過去への弱い推量

並べてみるとよくわかります。助動詞の部分が「話し手の気持ちの強さ」を決め、have+過去分詞が「その気持ちの向く先を過去に振る」。この2階建て構造こそが、この文法の正体です。

もうひとつだけ加えます。need not have done は「〜する必要はなかったのに(実際はしてしまった)」。didn't need to do(する必要がなかった=しなかった)とは意味がまったく違うので、2つを混ぜないこと。この対比は毎年どこかの入試で問われます。

ここでつまずく

最大の罠は「must not have done で『〜したはずがない』」と書いてしまう誤りです。正しくは cannot have done。must not have done は「〜しなかったに違いない」(過去に「しなかった」と確信している)で、意味が180度変わります。もうひとつ、should have done を「〜すべきだった」と訳してから、「じゃあ実際にはやったのか、やっていないのか」を確かめずに次へ行かないこと。この形は必ず「実際にはやっていない」の含みを持ちます。長文の指示語問題で、この含みを取れているかが問われます。

📌 助動詞は「話し手の気持ち」、have+過去分詞は「時計を過去に振る」。合体すると==いま立ちながら過去を振り返る形==になる。だから訳は「〜すればよかった」「〜だったに違いない」。

例文で確かめる

You should have called me before coming over.

こっちに来る前に電話してくれればよかったのに。

後悔・軽い非難。実際には電話しなかったことを含む。

The road is wet. It must have rained during the night.

道が濡れている。夜のあいだに雨が降ったに違いない。

いまの証拠(濡れた道)から、過去の出来事を強く推量。

She cannot have seen the message — her phone was off all evening.

彼女がそのメッセージを見たはずがない。夜のあいだ電源が切れていたのだから。

「〜のはずがない」は cannot have done。must not have done ではない。

He may have missed the train because of the storm.

彼は嵐のせいで電車に乗り遅れたのかもしれない。

may / might have done は弱い推量。might のほうがさらに控えめ。

You need not have brought an umbrella — the rain stopped an hour ago.

傘を持ってこなくてよかったのに——雨は1時間前に止んだよ。

実際には傘を持ってきてしまった、の含み。didn't need to bring とは違う。

「助動詞+have+過去分詞」の解説ページへ

確認クイズ

  1. Q1. 空所に入る最も適切な語句を選びなさい。 I'm so sorry — I ( ) called you last night, but I completely forgot.

  2. Q2. 次の文と最も意味が近いものを選びなさい。 He cannot have written this essay by himself.

  3. Q3. 下線部の意味として最も適切なものを選びなさい。 You need not have waited for me. I was working late anyway.

よくある質問

should have done は「〜すべきだった」と訳す本と「〜すればよかった」と訳す本があります。どちらが正しいですか?

どちらも正解です。中立に義務違反を語るなら「〜すべきだったのに(しなかった)」、話し手の悔いを前に出すなら「〜すればよかった」。文脈で選んでください。共通しているのは「過去にそうしなかった」という事実で、この含みが should have done の核心です。逆に言えば、実際にそうした場合には使えません

must have done と cannot have done は必ずセットで覚えるようにと言われました。なぜですか?

この2つは「過去の推量」のペアで、確信の方向が正反対だからです。must have done は「〜だったに違いない(=きっとそうだった)」、cannot have done は「〜だったはずがない(=きっとそうではなかった)」。「過去の否定的推量は not have done ではなく cannot have done」——ここが入試の急所です。ふつうの否定 must not have done は「〜しなかったに違いない」の意味で、まったく別物になります。