基本の説明Overview
現在完了形は、〈have[has] + 過去分詞〉の形で、過去の出来事と「今」を結びつけて表す言い方です。たとえば I have lost my key. は「かぎをなくした」という過去の出来事だけでなく、「だから今もかぎがない」という今の状態まで伝えます。The present perfect (“have/has + past participle”) links a past event to the present. For example, I have lost my key. doesn't just say that you lost it in the past — it also tells us that you still don't have it now.
意味は大きく3つに分かれます。どの意味になるかは、文の中の語句(just, ever, for など)や前後の流れから判断します。It has three main meanings. You can usually tell which one is meant from the words in the sentence (just, ever, for, etc.) and from the context.
| 用法Use | 意味Meaning | よく一緒に使う語Common words | 例Example |
| 完了Completion | 〜したところだ・〜してしまったhave just done / have already done | just, already, yet | I have just finished it. |
| 経験Experience | 〜したことがあるhave done before | ever, never, before, once, twice, ~ times | I have seen it twice. |
| 継続Continuation | (ずっと)〜しているhave kept doing / have been in a state | for, since, How long ~? | I have lived here for five years. |
主語 + have[has] + 過去分詞 〜.Subject + have[has] + past participle ~.主語が he / she / it や単数名詞のときは has。否定文は have[has] のあとに not(haven't / hasn't)、疑問文は Have[Has] を主語の前に出します。Use has when the subject is he / she / it or a singular noun. For a negative, put not after have[has] (haven't / hasn't); for a question, move Have[Has] in front of the subject.
過去分詞は動詞ごとに形が決まっています。finished, played のように -ed の規則変化のほか、seen, eaten, been, done, gone, known, written など不規則に変わるものは1つずつ覚えましょう。Each verb has its own past participle. Regular verbs add -ed (finished, played), but irregular ones such as seen, eaten, been, done, gone, known and written have to be learned one by one.
もう1つ大切なのは、過去形との違いです。yesterday / last week / ago / 〜年前 のように「過去のある一時点」をはっきり示す語があるときは、現在完了形ではなく過去形を使います。When ~?(いつ〜?)とたずねるときも過去形です。The other key point is the difference from the simple past. When a word names a definite point in the past (yesterday, last week, ago…), use the simple past, not the present perfect. The same goes for questions that begin with When ~?
例文で確認Example sentences
① 完了(〜したところだ・〜してしまった)1. Completion (“have just done”)
I have just finished my homework.
私はちょうど宿題を終えたところです。
just は「ちょうど」。have と過去分詞の間に置く。just means “right now”; it goes between have and the past participle.
Mika has already eaten lunch.
ミカはもう昼食を食べました。
肯定文の already は「もう・すでに」。主語が Mika(she)なので has。already in a statement means “by now”. The subject Mika (she) takes has.
The bus has already left.
バスはもう出てしまいました。
出発してしまって、今はここにない、という現在の状態まで伝わる。It also tells us the bus is gone now.
I have not cleaned my room yet.
私はまだ部屋をそうじしていません。
否定文の yet は「まだ(〜ない)」。have not は haven't と短縮できる。yet in a negative means “not … so far”. have not can be shortened to haven't.
Has Emi come home yet?
エミはもう帰ってきましたか。
疑問文の yet は「もう」。Yes, she has. / No, she hasn't. で答える。yet in a question means “by now”. Answer with Yes, she has. / No, she hasn't.
② 経験(〜したことがある)2. Experience (“have done before”)
I have seen that movie three times.
私はあの映画を3回見たことがあります。
回数は once(1回)、twice(2回)、three times(3回)…。Counts: once, twice, three times…
She has visited Canada twice.
彼女はカナダを2回訪れたことがあります。
Have you ever eaten sushi?
あなたは今までに寿司を食べたことがありますか。
ever は「今までに」。Yes, I have. / No, I haven't. で答える。ever means “at any time up to now”. Answer with Yes, I have. / No, I haven't.
Ken has never seen snow.
ケンは雪を見たことが一度もありません。
never は「一度も〜ない」。not ever の意味なので、not とは一緒に使わない。never means “not ever”, so don't add not.
I have been to Kyoto before.
私は以前に京都へ行ったことがあります。
have been to ~ は「〜へ行ったことがある」。before は文末に置く。have been to ~ means “have gone to ~ and come back”. before goes at the end.
How many times have you read this book?
あなたはこの本を何回読んだことがありますか。
How many times ~? で回数をたずねる。read の過去分詞は read(発音は[red])。How many times ~? asks for a count. The past participle of read is read (pronounced [red]).
③ 継続(ずっと〜している)3. Continuation (“have kept doing”)
We have known each other for ten years.
私たちは10年間お互いを知っています(=知り合って10年です)。
for + 期間(10年間)で「〜の間ずっと」。for + a period of time means “for ~”.
Tom has lived in Japan since last year.
トムは去年から日本に住んでいます。
since + 起点(去年・月曜日・2時など)で「〜からずっと」。since + a starting point (last year, Monday, two o'clock…) means “ever since ~”.
I have been busy since last week.
私は先週からずっと忙しいです。
状態を表す be動詞も過去分詞 been にして使う。The be-verb also becomes been in the present perfect.
How long have you lived in this town?
あなたはこの町にどのくらい住んでいますか。
How long ~? で「どのくらいの間」とたずねる。答えは for ~ や since ~。How long ~? asks about the length of time. Answer with for ~ or since ~.
I haven't seen you for a long time.
久しぶりですね(長い間あなたに会っていません)。
あいさつでよく使う言い方。A common greeting when you meet someone after a long time.
④ have been to と have gone to4. have been to vs. have gone to
Tom has been to America.
トムはアメリカに行ったことがあります。
have been to は「行って、もどってきた」経験。いまトムはここにいる。have been to means he went and came back, so Tom is here now.
Tom has gone to America.
トムはアメリカへ行ってしまいました(今ここにいません)。
have gone to は「行ってしまって、今はここにいない」。have gone to means he went and is not here now.
⑤ 過去形との違い5. Present perfect vs. simple past
I saw Ken yesterday.
私は昨日ケンに会いました。
yesterday があるので過去形。「いつ」が決まっているときは過去形を使う。yesterday makes it the simple past. Use the past when the time is definite.
I have lost my watch. I can't find it.
私は時計をなくしてしまいました。見つかりません。
「なくした」結果、今も見つからない。過去と今がつながっている。The watch was lost and is still missing — the past is connected to now.
Tom lived in Osaka ten years ago.
トムは10年前に大阪に住んでいました。
ago(〜前)は過去の一時点を表すので、現在完了形は使えない。ago points to a definite past time, so the present perfect can't be used.
確認クイズQuick check
空所に入る語を答えましょう。( ) の動詞は適切な形に直します。Fill in each blank. Change the verb in ( ) into the correct form.
I have ___ (see) that movie twice.
答えを見るShow the answer
seen — have のあとは過去分詞。see - saw - seen。「2回見たことがある」は経験。After have we need the past participle: see - saw - seen. “Twice” shows experience.
Tom ___ been busy for a week.
答えを見るShow the answer
has — 主語 Tom は単数(he)なので has。for a week は継続を表す。Tom is singular (he), so has. for a week shows continuation.
___ you ever been to Hokkaido?
答えを見るShow the answer
Have — you なので Have。ever があるので経験をたずねる文。With you, use Have. ever shows this asks about experience.
My brother ___ not come home yet.
答えを見るShow the answer
has — My brother は単数なので has。has not(hasn't)come で「まだ帰ってきていない」。My brother is singular, so has. has not (hasn't) come means “hasn't come yet”.
I ___ (see) Mika last Sunday.
答えを見るShow the answer
saw — last Sunday は過去の一時点なので、現在完了形ではなく過去形(saw)を使う。last Sunday is a definite past time, so use the simple past (saw), not the present perfect.
She has been sick ___ Monday. (for / since)
答えを見るShow the answer
since — Monday は「起点」なので since。期間(three days など)なら for を使う。Monday is a starting point, so since. For a length of time (three days, etc.) use for.
おさえておきたいポイントKey points
- 形は〈have[has] + 過去分詞〉。he / she / it や単数名詞が主語のときは has を使うThe form is have[has] + past participle. Use has when the subject is he / she / it or a singular noun
- 意味は3つ。完了「〜したところだ」、経験「〜したことがある」、継続「ずっと〜している」There are three meanings: completion (“have just done”), experience (“have done before”), continuation (“have kept doing”)
- 目印の語を覚える。完了は just / already / yet、経験は ever / never / before / 〜 times、継続は for / sinceLearn the signal words: just / already / yet for completion, ever / never / before / ~ times for experience, for / since for continuation
- for は「期間」(for ten years)、since は「起点」(since last year)が続くfor is followed by a period (for ten years); since is followed by a starting point (since last year)
- yesterday / last week / ago / When ~? など過去の一時点を示す語とは使えない(過去形を使う)Never use it with yesterday / last week / ago / When ~? — use the simple past instead
- 否定文は have[has] not(haven't / hasn't)、疑問文は Have[Has] を主語の前に出す。have been to「行ったことがある」と have gone to「行ってしまった」の違いにも注意Negative: have[has] not (haven't / hasn't). Question: put Have[Has] before the subject. Also note have been to (“have visited”) vs. have gone to (“has gone and isn't here”)
よくある間違いCommon mistake:"I have seen him yesterday." ✗ → "I saw him yesterday." ✓ yesterday など過去の一時点を示す語があるときは、現在完了形ではなく過去形を使います。"I have seen him yesterday." ✗ → "I saw him yesterday." ✓ When a word names a definite past time, use the simple past, not the present perfect.
よくある間違いCommon mistake:"She have lived here for five years." ✗ → "She has lived here for five years." ✓ 主語が she / he / it や単数名詞のときは has を使います。"She have lived here for five years." ✗ → "She has lived here for five years." ✓ Use has when the subject is she / he / it or a singular noun.
よくある間違いCommon mistake:"I have gone to Kyoto twice." ✗ → "I have been to Kyoto twice." ✓ 「行ったことがある」は have been to。have gone to は「行ってしまって今ここにいない」という意味です。"I have gone to Kyoto twice." ✗ → "I have been to Kyoto twice." ✓ For “have visited”, use have been to. have gone to means the person has gone and is not here now.