
I lived in Tokyo for five years. と I have lived in Tokyo for five years. は、どちらも「東京に5年間住んだ/住んでいる」と訳せそうです。しかし、英語ではこの2文が見せる時間の景色は大きく異なります。
結論からいうと、I lived は東京に住んだ期間を「過去で閉じた箱」として見せ、I have lived はその期間を「今まで続く範囲」として見せます。したがって、通常は前者なら今は東京に住んでおらず、後者なら今も東京に住んでいると理解されます。
しゅみすけ(大山俊輔)
Contents
I livedとI have livedの違いを一言で整理
| 英文 | 時間の見え方 | 通常伝わること |
|---|---|---|
| I lived in Tokyo for five years. | 5年間を過去の中で閉じる | 以前は東京に住んでいたが、今は別の場所にいる |
| I have lived in Tokyo for five years. | 5年前から今までを一つの範囲にする | 東京に住み始めて5年になり、今も住んでいる |
学校文法では、前者は過去形、後者は現在完了形の「継続」と習います。この分類は便利ですが、「継続だから現在完了」とだけ暗記するより、話し手がNOW(今)を時間の範囲に入れているかを見るほうが、会話では判断しやすくなります。

I livedは、住んでいた期間を過去で閉じる
I lived in Osaka for three years.
私は大阪に3年間住んでいました。
この文では、大阪に住んだ3年間が過去の出来事として完結しています。今どこに住んでいるかを明言してはいませんが、通常は「今はもう大阪に住んでいない」という含みが生まれます。
I lived in London from 2018 to 2021.
私は2018年から2021年までロンドンに住んでいました。
from 2018 to 2021 のように始まりと終わりが示されると、閉じた過去であることがさらに明確です。
I lived with my parents when I was a student.
学生のころは両親と暮らしていました。
when I was a student も、今とは切り分けられた過去の期間を作ります。過去形は単に「昔」を表すだけでなく、出来事を現在の領域から切り離して置く形です。
I have livedは、過去から今までを一つに囲む
I have lived in Tokyo for five years.
私は東京に住んで5年になります。
住み始めたのは5年前ですが、話し手の視点は現在にあります。5年前から今までの東京暮らしを一つの履歴・状態として、現在の手元に持っている感覚です。
I have lived here since 2021.
私は2021年からここに住んでいます。
She has lived alone for a long time.
彼女は長い間一人暮らしをしています。
現在完了の have は現在形です。そのため、過去の出来事を扱っていても、文の足場は「今」にあります。
しゅみすけ(大山俊輔)
forとsinceはどう使い分ける?
| 語 | 示すもの | 例 |
|---|---|---|
| for | どれくらいの期間か | for five years/for a long time |
| since | いつから始まったか | since 2021/since April |
I have lived here for ten years.
ここに10年間住んでいます。
I have lived here since 2016.
2016年からここに住んでいます。
どちらも今まで続いている状態を表せます。for は区間の長さ、since は区間の出発点を示します。
「5年間住んでいた」は日本語だけでは決められない
日本語の「東京に5年間住んでいた」は、文脈によって「今は住んでいない」にも「住み始めて今で5年」にも解釈できます。日本語は状況から補えるため、動詞の形だけで時間範囲を必ずしも固定しません。
一方、英語では話し手が次のどちらを見せたいかによって形を選びます。
- 過去の東京生活を思い出として話す → I lived …
- 現在の自分につながる居住歴を話す → I have lived …
日本語訳を先に一つ決め、それに英語を当てはめようとすると迷います。まず「その期間は今につながっているか」と考えましょう。
I have been livingとの違いは?
I have been living in Tokyo for five years.
私は東京に5年間ずっと住んでいます。
I have lived も I have been living も、今も東京に住んでいる状況で使えます。違いは焦点です。
- I have lived:東京での5年間を現在までの状態・履歴として示す
- I have been living:住むという生活が今まで続いてきた動きに焦点を当てる
live のように継続しやすい動詞では、両方が自然になる場面が多く、違いは必ずしも大きくありません。会話では現在完了進行形のほうが「ずっと続けている」実感を少し強く出すことがあります。
会話でよくある質問と答え方
How long did you live in Kyoto?
京都にはどれくらい住んでいましたか。
過去の京都生活について質問しています。
I lived there for two years.
2年間住んでいました。
How long have you lived in Kyoto?
京都にはどれくらい住んでいますか。
現在も京都に住んでいる人へ、今までの居住期間を尋ねています。
I’ve lived here for two years.
ここに住んで2年になります。
質問の did と have の違いも、答えと同じです。相手の居住期間を過去で閉じて聞くか、現在まで含めて聞くかが変わります。
日本人が間違えやすいポイント
「forがあるから現在完了」とは限らない
for five years は期間を表すだけなので、過去形にも現在完了にも使えます。
I lived there for five years.(その5年間は終了)
I have lived here for five years.(今まで5年間)
現在完了と終わった過去時点をぶつけない
× I have lived in Tokyo from 2018 to 2021.
○ I lived in Tokyo from 2018 to 2021.
2021年で期間が閉じているため、通常は過去形を使います。
今も住んでいるなら過去形だけで終えない
今も東京在住なのに I lived in Tokyo for five years. と言うと、聞き手は「今は東京を離れた」と受け取りやすくなります。現在まで続くなら I have lived … または I have been living … が自然です。
別の動詞にも同じ考え方を応用できる
I worked here for ten years.
ここで10年間働いていました。(今は働いていない)
I have worked here for ten years.
ここで働いて10年になります。(今も働いている)
We knew each other for years.
私たちは何年もの間、知り合いでした。(過去の関係として語る)
We have known each other for years.
私たちは知り合って何年にもなります。(今も関係が続く)
「今までを含むか」という判断は、live だけでなく、働く・知っている・持っているなど、継続する状態全般に使えます。
しゅみすけ(大山俊輔)
関連する記事
現在完了の4用法を体系的に整理するなら、be-rize.comの現在完了形とは?4用法と過去形との違い、完了形全体のコアイメージは英語の完了形とは?「完了状態を持つ」感覚も参考にしてください。
まとめ
- I lived … は、住んだ期間を過去で閉じる
- I have lived … は、住み始めから今までを一つの範囲にする
- for は期間、since は起点を示す
- I have been living … は、今まで続いてきた生活の動きに焦点を当てる
- 選ぶ基準は「今も続くか」だけでなく、話し手が今を時間の範囲に入れているか
過去形と現在完了形の違いは、出来事が過去に始まったかどうかではありません。その過去を閉じて見せるのか、現在まで引き寄せて見せるのかです。この時間の囲み方が見えると、訳に頼らず形を選びやすくなります。
現在形・過去形・進行形・完了形・未来表現の疑問は、中間親記事「英語の時制・時間表現の「なぜ?」一覧」からまとめて確認できます。










