【多義注意】could have doneの意味を図解と例文でわかりやすく解説

could have done の意味が複数に分かれる理由を表すサムネイル
  • could have done は「できたのに」「したかもしれない」「していた可能性がある」など、なぜ訳がいくつも出てくるのか。
  • could は can の過去形なのに、なぜ現在の控えめな可能性や仮定の話にも使えるのか。
  • have + 過去分詞が入ると、なぜ「過去の出来事を今から見ている」感じになるのか。
  • 訳語の一覧ではなく、形の重なりから意味を見分けたい。

could have done がややこしいのは、1つの形に1つの意味が対応していないからです。

たとえば、次の2文を比べてみましょう。

[num=possibility] He could have missed the train.
彼は電車に乗り遅れた可能性がある。

[num=nonactual] You could have told me earlier.
もっと早く言ってくれてもよかったのに。

どちらも形は could have + 過去分詞 です。それなのに、日本語にすると前者は「可能性・推量」、後者は「できたのにしなかった・非難」に近くなります。

ここで「could have done には意味が2つある」と丸暗記しても、しばらくするとまた迷います。なぜなら、この形の面白さは、意味がバラバラに増えていることではなく、could と have done がそれぞれ別の方向から文の見え方を変えていることにあるからです。

この記事では、中野清治 (2014)『英語の法助動詞』で扱われている R/P 用法や、開拓社の紹介ページが示す `` の複数性を手がかりにしながら、could have done の意味がなぜ分かれるのかを整理します。長い引用ではなく、この記事では学習者が読める説明として組み替えて考えます。

先に結論

  • could は、can の過去形であると同時に、現実・断定・直接性から距離を置く形として働く。
  • have done は、発話時から見て、ある出来事を「すでに終わったもの」として振り返る形である。
  • R用法では、能力・許可・機会のように、主語や状況側に根拠がある読みになりやすい。
  • P用法では、話し手の判断・確信度の問題になり、「そうだった可能性がある」という読みになりやすい。
  • だから could have done は、訳語で覚えるより、何を距離化し、何を過去として眺めているかを見るほうが安定する。
could have doneの意味がcould、have done、文脈の3層から生まれる構造図
could have doneの読みは、could、have done、文脈の3層で決まります。
本ページはプロモーションが含まれています

could have done は「意味が多い表現」なのか?

まず、読者が最初に引っかかるポイントを共有しておきます。could have done は、辞書や文法書では複数の訳語で説明されます。しかし、それを「この形は多義語だから仕方ない」と受け止めてしまうと、文脈で読む力につながりにくくなります。

この記事での見方

  • could have done の意味を、訳語のリストとして扱わない。
  • could、have done、文脈の3つが、どのように意味を分担しているかを見る。
  • 「能力」「可能性」「仮定法」「非難」を完全に別物にせず、同じ形の見え方として整理する。

同じ形なのに訳が変わる

次の表を見てください。

英文 自然な訳 中心になる読み
I could have helped you. 手伝うこともできたのに。 機会・能力があったが実現しなかった
She could have been at home. 彼女は家にいた可能性がある。 過去についての可能性判断
You could have checked the file. ファイルを確認してくれてもよかったのに。 非実現を前提にした軽い非難
This could have happened to anyone. これは誰にでも起こりえたことだ。 過去に成立しえた可能性

見た目はほとんど同じです。しかし、文脈によって「できたのに」「だったかもしれない」「起こりえた」「してくれてもよかったのに」と訳が動きます。

ここで大事なのは、日本語訳の違いを英語側の意味の違いと同じものだと考えないことです。日本語では、文脈上の含みまで訳に出すため、英語の形そのものよりも多くのニュアンスが見えてしまいます。

補足: この記事では could have done を代表形として扱います。実際には could have been、could have had、could have been doing など、後ろに来る語や相表現によってさらに読みが細かく動きます。

「could have = できたのに」だけでは足りない

学校文法では、could have done を「できたのにしなかった」と習うことがあります。この説明は便利です。とくに [num=nonactual] のような文ではかなり役に立ちます。

しかし、それだけでは [num=possibility] のような文が説明しにくくなります。He could have missed the train. は「彼は電車に乗り遅れることができたのに」と訳す文ではありません。自然には「乗り遅れた可能性がある」です。

逆に、「could have done = した可能性がある」だけで覚えると、You could have told me earlier. のような、相手への不満や非難がにじむ文を読み落とします。

つまり、単語帳的な1対1対応ではなく、could の読みと have done の読みがどの層で働いているかを分ける必要があります。

訳語暗記で迷うときは、「この文は、主語側の能力・機会を言っているのか。それとも、話し手が過去の出来事について可能性を判断しているのか」と問い直すと、読みがかなり整理されます。

could の中心には「距離を置く」感覚がある

could は can の過去形です。ただし、「can の過去形」と言った瞬間に、話が半分だけ見えなくなることがあります。could は過去を表すだけでなく、現在の発話の中でも、断定や直接性から距離を置く働きを持つからです。

canからcouldへの距離化を時間、心理、判断の距離で示す図
couldは、canの可能性を時間、心理、判断の距離へずらします。

can と could の関係を「過去」だけで見ない

can は、ざっくり言えば「できる」「ありうる」「してもよい」のような可能性の領域を開きます。

[num=can] I can help you today.
今日は手伝えます。

[num=couldpast] When I was young, I could run very fast.
若いころは、とても速く走ることができました。

[num=couldpast] の could は、たしかに can の過去形です。昔の能力を述べています。

しかし、could は現在の依頼や提案にも出てきます。

[num=request] Could you open the window?
窓を開けていただけますか。

[num=suggest] We could try another way.
別の方法を試してみてもよいかもしれません。

ここでは、話しているのは現在です。それでも could が使われます。なぜかというと、could は「今ここで断定する」「相手に直接ぶつける」感じを弱めるからです。

過去形は、時間的な過去だけでなく、心理的・現実的・対人的な距離を作ることがある。この発想を入れると、could have done の読みもかなり見やすくなります。

could は「弱い can」ではなく、距離を持った can

could を「can より弱い」と説明することもあります。これも完全に間違いではありません。ただ、「弱い」とだけ言うと、なぜ弱くなるのかが見えません。

can は、話し手が可能性を比較的まっすぐ提示する形です。

could は、その可能性を少し離れたところから提示します。だから、過去の能力にも、控えめな依頼にも、仮定の可能性にも、過去についての推量にも使われます。

見え方
can 現在の可能性を比較的まっすぐ出す I can help you.
could 可能性を距離化して出す I could help you.
could have done 過去に成立しえた可能性を、今から距離を置いて見る I could have helped you.

この「距離を持った可能性」という見方は、could have done の複数の読みをつなげる土台になります。

注意: 「距離」だけで could のすべてを説明できるわけではありません。文脈、主語、動詞、否定、比較級、条件節の有無によって読みは変わります。ここでは、学習者が最初に持つべき大きな見取り図として使います。

have done は「過去を今から眺める」形である

次に、have done 側を見ます。could have done の have done は、単に「過去」と言っているだけではありません。発話時、つまり今の地点から、すでに成立したかもしれない出来事を眺めています。

助動詞の後ろに過去形を直接置けない

まず形の確認です。英語の法助動詞の後ろには、ふつう動詞の原形が来ます。

can go
could go
may go
must go

そのため、「過去のことだから could went」とは言えません。助動詞の後ろで過去の出来事を表したいとき、英語は have + 過去分詞 を使います。

could go: 行く可能性がある / 行けた
could have gone: 行った可能性がある / 行くこともできたのに

ここで have done は、助動詞の後ろに置ける形のまま、「その出来事が発話時より前に位置する」ことを示します。

have done は出来事を「完了済みの候補」にする

have done は、現在完了だけでなく、助動詞と組み合わさると「過去の出来事を今から評価する」働きを持ちます。

話し手が見ているもの
could do これから、または一般的に成立しうる動作 He could join us.
could have done すでに終わった候補として眺める動作 He could have joined us.
could be 今そうである可能性 She could be right.
could have been 過去にそうだった可能性 She could have been right.

つまり could have done は、「過去形の could + 現在完了」ではありません。むしろ、助動詞 could の世界の中で、出来事を発話時以前へ置くための have done と見るほうが自然です。

have done は「今とつながる過去」と説明されることがあります。could have done でも、その感覚は残ります。ただし、ここでつながっているのは経験談ではなく、話し手が今、過去の可能性・非実現・評価を眺めているという関係です。

R用法とP用法を分けると読みが見えやすい

ここからが、could have done の中心です。中野清治 (2014)『英語の法助動詞』の目次でも、法助動詞は R 用法と P 用法に分けて整理されています。用語は少し専門的ですが、学習者向けには次のように捉えると使いやすいです。

R用法とP用法のざっくりした違い

  • R用法: 主語、状況、ルール、能力、許可など、現実世界側に根拠がある読み。
  • P用法: 話し手が命題の成立可能性をどう判断しているかに関わる読み。

用語の正確な議論は専門書に譲ります。この記事では、could have done の読み分けに必要な範囲で使います。

could have doneのR用法とP用法の焦点差を示す左右比較図
R用法とP用法では、同じcould have doneでも焦点が変わります。

R用法では「能力・機会があったが実現しなかった」に寄る

R用法寄りの could have done では、主語や状況に「できる条件」があったことが前面に出ます。

[num=r1] I could have helped you.
私はあなたを手伝うこともできたのに。

[num=r2] We could have taken a taxi.
タクシーに乗ることもできたのに。

この読みでは、話し手は「過去にその選択肢が存在した」と見ています。ただし、普通はその選択肢は実現しなかったと理解されます。

ここで重要なのは、could have done 自体が必ず怒りや後悔を表すわけではないことです。怒り、後悔、非難は、文脈や主語によって濃くなります。

含み 非難の強さ
I could have helped you. 手伝う選択肢があった 文脈次第
You could have helped me. あなたは手伝えたはずだ 強くなりやすい
It could have been worse. もっと悪くなりえた 非難ではなく安堵に近い

You could have helped me. が非難っぽく聞こえるのは、形そのものに「怒り」が入っているからではありません。「あなたにはできる条件があった」と言うことで、「それなのにしなかった」という文脈上の差が生まれるからです。

P用法では「過去についての可能性判断」に寄る

一方、P用法寄りの could have done では、主語の能力や機会よりも、話し手の判断が中心になります。

[num=p1] She could have missed the train.
彼女は電車に乗り遅れた可能性がある。

[num=p2] The message could have been sent by mistake.
そのメッセージは誤って送られた可能性がある。

ここでは、「彼女に乗り遅れる能力があった」と言っているわけではありません。話し手が、過去の出来事について「そうだった可能性もある」と判断しています。

この読みでは、could は話し手の確信度を少し下げます。must have done なら「したに違いない」、may/might have done なら「したかもしれない」、could have done なら「そういう可能性も考えられる」という感覚に近づきます。

P用法寄りの could have done を見たら、主語が「できたか」よりも、話し手が「その出来事は成立しえたと見ているか」に注目します。

R/P用法は箱分けではなく、読みの焦点である

R用法とP用法は便利ですが、機械的な箱分けではありません。実際の文では、両方が少しずつ関わることがあります。

たとえば、This could have happened to anyone. は「誰にでも起こる可能性があった」という P 的な判断を含みますが、同時に「状況として誰にでも起こりうる条件があった」という R 的な読みもあります。

つまり、R/P用法は、正解番号を当てるための分類ではなく、意味の焦点が主語・状況側にあるのか、話し手の判断側にあるのかを見るためのレンズです。

R/P用法は「どちらに分類するか」よりも、「この文では何が焦点になっているか」を見るために使うと、訳語に引っ張られにくくなります。

訳語の罠:「できたのに」と「した可能性がある」は別々に覚えない

ここまでの話を踏まえると、日本語訳で混乱する理由も見えてきます。日本語は、英語の形が持つ意味だけでなく、文脈から生まれる含みも一緒に訳すことが多いからです。

「できたのに」は非実現まで含めた訳である

I could have helped you. を「手伝うことができた」とだけ訳すと、少し物足りません。多くの文脈では「でも実際には手伝わなかった」という含みがあります。

だから日本語では「手伝えたのに」と訳されます。

ただし、この「のに」は英語の have に直接対応しているわけではありません。could が示す「可能性」と、have done が示す「過去の出来事」、そして文脈上の「実現しなかった」が重なった結果、日本語では「のに」が出てきます。

英語側の形: could + have helped
意味の骨格: 過去に手伝う可能性が成立しえた
文脈上の含み: 実際には手伝わなかった
自然な日本語: 手伝えたのに

この対応関係を押さえておくと、「could have done = のに」と単純化しすぎずに済みます。

「した可能性がある」は話し手の判断の訳である

She could have missed the train. の「乗り遅れた可能性がある」は、話し手が過去の出来事について判断している訳です。

この文では、miss the train という出来事が実際に起きたかどうかは、話し手には確定していません。could によって、話し手は「そういう候補を開いている」状態になります。

英語側の形: could + have missed
意味の骨格: 過去に「乗り遅れる」という事態が成立しえた
話し手の態度: 断定はしないが、候補としてありえる
自然な日本語: 乗り遅れた可能性がある

ここでは、「できたのに」と訳すとおかしくなります。主語の能力ではなく、話し手の判断が中心だからです。

日本語訳は出口であって入口ではない

could have done の学習でつまずく人は、たいてい日本語訳から入ります。

  • could have done = できたのに
  • could have done = したかもしれない
  • could have done = しえた
  • could have done = してくれてもよかったのに

しかし、訳語から入ると、別々の意味が並んでいるように見えます。英語側から見るなら、次の順番で考えるほうが安定します。

読む順番

  1. could が、can の領域を距離化している。
  2. have done が、その出来事を発話時以前に置いている。
  3. 主語・文脈・条件節の有無から、R寄りかP寄りかを見る。
  4. 最後に、日本語として自然な訳へ落とす。

日本語訳は、分析の入口ではなく出口です。先に英語の形を見てから、日本語に戻すほうが、意味の揺れに振り回されにくくなります。

can/could との関係から見ると、could have done は突然変異ではない

could have done は、特別な熟語のように見えます。しかし、can/could の流れから見ると、突然生まれた例外ではありません。

can は「できる」だけではない

can は「できる」と訳されることが多いですが、英語では能力だけでなく、可能性、許可、状況的な成立可能性にも広がります。

Anyone can make mistakes.
誰でも間違えることはある。

You can use this room.
この部屋を使ってもよい。

This road can be dangerous at night.
この道は夜には危険なことがある。

この時点で、can はすでに「能力」だけではありません。can が開くのは、もっと広い「可能性の領域」です。

could は、その領域を過去化したり、距離化したりします。そこに have done が入ると、その可能性の領域が「過去に成立しえた出来事」へ向かいます。

could have done は「可能性を過去側に置いた形」である

could have done の中心を、かなり乱暴にまとめると次のようになります。

could have done = 距離を置いた可能性 + 発話時以前の出来事

この骨格から、文脈に応じて複数の読みが出ます。

文脈 読み 日本語に出やすい形
主語に能力・機会があった 実現しなかった可能行為 できたのに / してもよかったのに
話し手が過去の事実を推測している 過去の可能性判断 した可能性がある / だったかもしれない
悪い結果が起きなかった 起こりえたが回避された事態 起こりえた / もっと悪くなりえた
相手の行為を評価している 非実現への不満・非難 してくれてもよかったのに

この表を見ると、訳語は多いですが、英語側の骨格はそこまでバラバラではありません。

参考: 開拓社の『英語の法助動詞』紹介ページでは、完了形不定詞との共起関係を見ると `` の形式に少なくとも複数の意味用法が認められると説明されています。この記事の狙いは、その複数性を訳語一覧ではなく、could と have done の重なりとして読むことです。

could have done を読む実践手順

最後に、実際に英文で could have done に出会ったときの読み方を手順化します。すべての文を一発で分類する必要はありません。まずは、次の4点を見れば十分です。

could have doneの読み分け4ステップを示すチェックリスト
could have doneは、条件、能力・機会、推測、実現有無を順に見ると読み分けやすくなります。

1. 条件節や if があるかを見る

if 節や条件の文脈がある場合、could have done は「もし条件が違えば、過去にそうできた / そうなりえた」という仮定法過去完了の読みになりやすいです。

If I had known your address, I could have visited you.
住所を知っていたら、訪ねることができたのに。

ここでは、実際には住所を知らなかったため、訪ねることは実現しませんでした。条件節が、非実現の読みをかなり強く支えています。

2. 主語に「能力・機会」があるかを見る

主語が人で、help、tell、call、choose、take などの行為を表す動詞が続く場合、能力・機会の読みになりやすくなります。

You could have called me.
電話してくれてもよかったのに。

We could have chosen another plan.
別の計画を選ぶこともできたのに。

このタイプでは、相手への非難、後悔、反省が文脈で乗ることがあります。

3. 話し手が事実を推測しているかを見る

主語が人でも物でも、話し手が「過去にそうだった可能性」を推測している文では、P用法寄りになります。

The key could have fallen behind the desk.
鍵は机の後ろに落ちた可能性がある。

The report could have been deleted accidentally.
そのレポートは誤って削除された可能性がある。

この読みでは、「できたのに」と訳さないほうが自然です。主語の能力ではなく、出来事の成立可能性を述べています。

4. 「実際に起きたか」を文脈で確認する

could have done は、実際に起きなかったことを表す場合も、起きたかもしれないことを表す場合もあります。

ここが、学習者にとって最大の落とし穴です。

英文 実際の出来事 読み
I could have helped you, but I was away. 手伝っていない 非実現
She could have left already. I am not sure. 出発したか不明 可能性判断
It could have been worse, but nobody was hurt. もっと悪い結果は起きていない 回避された可能性

形だけで「必ず実現しなかった」と決めつけると、P用法寄りの文を誤読します。逆に、形だけで「可能性がある」とだけ訳すと、非難や後悔のニュアンスを落とします。

読み分けチェック

  • if や条件文脈がある → 非実現の仮定に寄りやすい。
  • 人が主語で、行為の選択肢を述べる → できたのに / してもよかったのに に寄りやすい。
  • 話し手が過去の事実を推測している → した可能性がある に寄りやすい。
  • 悪い結果と比較している → 起こりえたが回避された に寄りやすい。

まとめ:could have done は「過去の可能性」をどう眺めるかの形

could have done は、意味が多い表現です。ただし、その多さは、無秩序に増えた意味の寄せ集めではありません。

could は、can の可能性を距離化します。have done は、出来事を発話時以前に置きます。さらに、R用法とP用法の違いによって、焦点が「主語や状況側の能力・機会」に寄るのか、「話し手の過去への可能性判断」に寄るのかが変わります。

この記事のまとめ

  • could have done は、訳語だけで覚えると混乱しやすい。
  • could は、過去形であると同時に、現実・断定・直接性から距離を置く形である。
  • have done は、発話時から過去の出来事を眺める形である。
  • R用法では「過去にできる条件があったが実現しなかった」に寄りやすい。
  • P用法では「過去にそうだった可能性がある」に寄りやすい。
  • 日本語訳は最後に決める。先に、英語の形がどの視点を作っているかを見る。

英文法で本当に面白いのは、「この表現には意味が7つあります」と並べることではありません。むしろ、同じ形が、文脈と視点の違いによって別々の顔を見せるところにあります。

could have done は、その代表例です。「できたのに」と「した可能性がある」は遠く離れた意味に見えます。しかし、どちらも、距離を置いた could過去を今から眺める have done の組み合わせから生まれています。

次に could have done を見たら、すぐ日本語訳に飛びつかず、まずこう問いかけてみてください。

この could は、誰の能力・機会を距離化しているのか。
それとも、話し手が過去の出来事について、どれくらいの確信度で可能性を開いているのか。

この問いを持てるようになると、could have done は暗記項目ではなく、英語の助動詞らしさがよく見える表現になります。

関連して読みたい助動詞記事

基本情報やコアイメージを押さえたら、同じ助動詞の別用法や近い助動詞との比較も読むと、意味の広がりが立体的に見えてきます。

コメント