「現在完了形」と聞くと、
- 継続
- 完了
- 経験
みたいに、学校で難しく習った人も多いと思います。
でも実は、もっとシンプルです。
完了形は、
👉 「その時の状態報告」
をしているだけ。
例えば、日本語でもこう言いますよね。
「食べたばかりなんだよね」
これ、ただ過去を説明しているわけではありません。
- 今はお腹いっぱい
- だから今はいらない
という“今の状態”を相手に伝えています。
英語の現在完了も同じです。
👉 I’ve already had lunch.
これは、
「食べた」という過去の報告ではなく、
👉 「もう食べた状態を、今持っている」
という感覚です。
だから、
- 断り
- 理由
- 今どうしたいか
まで自然に伝わります。

「yesterday」が使えない理由
現在完了は、「今」とつながっている状態を表します。
だから、
❌ I have eaten curry yesterday.
のように、「yesterday(昨日)」のような過去の一点とは相性が悪いのです。
一方で、
👉 I’ve already had curry.
👉 I’ve had curry recently.
なら、
「もう食べた状態」
を伝えることで、
👉 「だから今は別のものにしたい」
というニュアンスまで自然に伝わります。
since と for の違い
完了形では、
- since = いつから(起点)
- for = どれくらい(期間)
を表します。
どちらも共通しているのは、
👉 「今まで続いている」
という感覚です。
例えば、
- since 2010
- since this morning
なら、「どこから始まったか」。
- for five hours
- for ten years
なら、「どれくらい続いているか」。
ちなみに、
👉 since three hours ago
も文法的には可能ですが、
通常は、
👉 for three hours
の方が自然です。
過去完了・未来完了も同じ
実は、
- 現在完了
- 過去完了
- 未来完了
も全部同じ考え方です。
違うのは、
👉 「いつの状態を持っているか」
だけ。
現在完了
👉 今の持ち物
I’ve already had lunch.
(もう食べた状態)
過去完了
👉 過去の時点での持ち物
When I arrived at the station,
the train had already left.
(駅に着いた時には、もう行ってしまっていた)

未来完了
👉 未来の時点での持ち物
I will have finished my work by 8 p.m.
(8時には、終わった状態になっている)

完了形は「ただの時差」
学校では、
「現在完了」
「過去完了」
「大過去」
みたいに難しく見えます。
でも結局は、
👉 「その時の状態報告」
をしているだけ。
現在完了は、
👉 今の状態。
過去完了は、
👉 過去のあの時の状態。
未来完了は、
👉 未来のあの時の状態。
つまり、
👉 完了形は“ただの時差”。
日本語の感覚と、実はかなり近いのです。
already / just / yet も「今の状態」
現在完了では、
- already
- just
- yet
も、「今どんな状態を持っているか」を表しています。
例えば、
👉 I have already had lunch.
(もう食べたよ)
これは、
👉 「食べた状態を、もう持っている」
という感覚です。
already は、
👉 「すでに袋の中に入っている」
イメージ。
👉 I have just finished my homework.
(たった今、宿題終わったよ)
just は、
👉 「今入れたばかり」
という感覚です。
つまり、
👉 「終わった状態になったばかり」
を表しています。
👉 I haven’t had lunch yet.
(まだ食べてないよ)
yet は逆に、
👉 「まだ持っていない」
状態。
つまり、
👉 「食べた状態には、まだなっていない」
という意味になります。

継続:継続している状態をずっと持っている
現在完了には、
「続いている状態」を表す使い方もあります。
👉 I have been working for five hours.
(5時間ずっと働いてる)
👉 She has lived here since 2010.
(2010年からずっとここに住んでる)
これは、
👉 「その時間ごと、状態を持ち続けている」
感覚です。
for と since
- for = どれくらい(期間)
- since = いつから(起点)
を表します。
つまり、
- for five hours
→ 「5時間という長さ」 - since 2010
→ 「2010年というスタート地点」
を示しています。
どちらも共通しているのは、
👉 「今まで続いている」
ということです。
経験:「人生の記録」を持っている
経験も同じです。
👉 I have never been to Paris.
(パリに行ったことがない)
👉 I have seen that movie three times.
(その映画を3回見たことがある)
これは、
👉 「人生の記録として、その経験を持っている」
感覚です。

- never
→ 一度も持ったことがない - three times
→ 3回分持っている
というイメージ。
つまり、
- already
- just
- yet
- for
- since
- never
も全部、
👉 「今、どんな状態や記録を持っているか」
を説明しているだけなのです。

「5時間ずっと働いている」は本当に休憩なし?
👉 I have been working for five hours.
(5時間ずっと働いている)
この文を見ると、
「5時間、一秒も休まず働いている」
と思う人もいるかもしれません。
でも実は、英語はそこまで細かく言っていません。
現在完了進行形が伝えていること
I have been working for five hours.
が伝えているのは、
👉 「5時間前から今まで、働くという活動が続いている」
ということです。
その間に、
- トイレに行った
- コーヒーを飲んだ
- 少し休憩した
といったことがあっても普通に使えます。
英語では、
👉 「活動全体が続いている」
ことを見ているからです。
日本語でも同じ
例えば、
「朝から勉強してるんだよね」
と言ったとしても、
途中で飲み物を飲んだり、
少し休憩したりしていることは普通にあります。
それでも、
👉 「勉強している」
と言いますよね。
I have been working for five hours.
も同じ感覚です。
本当に休憩なしを強調したいなら?
もし、
👉 「5時間、一度も休まず」
を強調したいなら、
別の表現を追加します。
例えば、
- continuously
(継続的に) - nonstop
(休みなく) - without a break
(休憩なしで)
などです。
例
I have been working for five hours without a break.
(5時間休憩なしで働いている)
I have been working nonstop for five hours.
(5時間ぶっ通しで働いている)
I have been to Kyoto. はなぜ「京都に行ったことがある」になるの?
まず、
👉 to
には
- 向かう
- 到達する
というイメージがあります。
だから
👉 go to Kyoto
は
「京都へ向かう」
という意味になります。
次に、
👉 be
です。
be は
- いる
- ある
- 状態である
という状態を表します。
すると、
👉 been to Kyoto
は
be の過去分詞なので、
「京都に到達した状態になった」
というイメージになります。
ここで大事なのは、
現在完了の have です。
👉 have been to Kyoto
は
「京都に到達した状態になったことを、今持っている」
ということ。
つまり、
👉 京都へ行った経験
を今持っている。
だから、
👉 I have been to Kyoto.
は
「京都へ行ったことがある」
になるのです。
回数が付くともっと分かりやすい
👉 I have been to Kyoto three times.
なら、
「京都へ行った経験を3回分持っている」
という感覚です。
I went to Kyoto との違い
👉 I went to Kyoto.
は
「京都へ行った」
という過去の出来事の報告。
👉 I have been to Kyoto.
は
「京都へ行った経験を今持っている」
という現在の状態の報告。
gone と比較するとさらに分かる
👉 He has gone to Kyoto.
これは
「京都へ行ってしまった状態」
を今持っている。
だから、
👉 今ここにはいない
という意味になります。
👉 He has been to Kyoto.
なら
「京都へ行った経験を持っている」
なので、
👉 今どこにいるかは関係ない
という違いになります。


コメント