››
中学 3 年で最初に出会う大きな文法が 現在完了 です。 中 1 で過去形、 中 2 で過去進行形を学びましたが、 現在完了は 「過去と現在をつなぐ」 時制 で、 高校・大学入試 や英検でも必ず問われます。
ポイント: 現在完了 = 「今までに / 今ちょうど / 今もずっと」。 「点」 ではなく 「線・矢印」 のイメージ。
主語 + have/has + 過去分詞 (past participle) の順です。 主語が三人称単数 (he / she / it) のときは has、 それ以外は have を使います。
| 主語 | 助動詞 | 過去分詞 | 例 |
|---|---|---|---|
| I / You / We / They | have | played | I have played tennis. |
| He / She / It | has | played | She has played tennis. |
会話 やカジュアルな文では短縮形を使います。
| 元の形 | 短縮形 |
|---|---|
| I have | I've |
| You have | You've |
| He has | He's (= He is と同形注意) |
| We have | We've |
| They have | They've |
| 種類 | 形 | 例 |
|---|---|---|
| 肯定文 | have/has + 過分 | I have visited Kyoto. |
| 否定文 | have/has + not + 過分 | I have not (haven't) visited Kyoto. |
| 疑問文 | Have/Has + 主語 + 過分? | Have you visited Kyoto? |
| 答え方 | Yes, 主語 + have/has. / No, 主語 + haven't/hasn't. | Yes, I have. / No, I haven't. |
過去形と同じで、 動詞の原形に -ed をつけます。
| 原形 | 過去形 | 過去分詞 |
|---|---|---|
| play | played | played |
| visit | visited | visited |
| study | studied | studied |
| stop | stopped | stopped |
中学で必ず覚える不規則動詞の一覧 (A-B-C 型・A-B-A 型・A-A-A 型が混在)。
| 原形 | 過去形 | 過去分詞 | 意味 |
|---|---|---|---|
| be (am/is) | was | been | 〜 である |
| be (are) | were | been | |
| do | did | done | する |
| go | went | gone | 行く |
| see | saw | seen | 見る |
| eat | ate | eaten | 食べ る |
| write | wrote | written | 書く |
| read | read | read | 読む (発音は red) |
| come | came | come | 来る (A-B-A) |
| run | ran | run | 走る (A-B-A) |
| have | had | had | 持つ (A-A-A 型で過分 = had) |
| make | made | made | 作る |
| meet | met | met | 会う |
| put | put | put | 置く (3 つ全部同じ) |
大事: 不規則動詞は 声に出して 「play - played - played」 「go - went - gone」 と何度も唱えるのが一番 の近道。 入試で出る 50 個ほどは完璧 に。
「今までに 〜 した経験 がある」 を表します。 一緒 によく使う副詞 は ever (今までに)・never (一度も 〜 ない)・once (一度)・twice (二度)・~ times (〜 回)・before (以前) など。
| 英文 | 訳 |
|---|---|
| I have visited Kyoto twice. | 私は京都を 2 度訪れたことがある。 |
| Have you ever eaten sushi? | あなたは今までに寿司 を食べたことがありますか。 |
| She has never been to Hokkaido. | 彼女は北海道へ一度も行ったことがない。 |
| I have seen that movie before. | 私はその映画を以前見たことがある。 |
ポイント: 「〜 へ行ったことがある」 は have been to が定番。 have gone to だと 「行ってしまって今ここにいない」 の意味になる (中 3 入試で引っかけ頻出)。
「ちょうど終わった / すでに終わった / まだ終わっていない」 を表します。 一緒に使う副詞は just (ちょうど)・already (すでに)・yet (もう / まだ)。
| 英文 | 訳 |
|---|---|
| I have just finished my homework. | 私はちょうど宿題を終えたところだ。 |
| She has already left home. | 彼女はすでに家を出てしまった。 |
| Have you finished your homework yet? | もう宿題は終わりましたか。 |
| I have not eaten lunch yet. | 私はまだ昼食を食べていない。 |
大事: already は肯定文、 yet は否定・疑問文で使うのが基本。 位置も違う (already は have と過分の間、 yet は文末)。
過去 のある時点から今も続いている状態 を表します。 一緒に使うのは for + 期間 (〜 の間)・since + 起点 (〜 からずっと)・How long (どれぐらいの間)。
| 英文 | 訳 |
|---|---|
| I have lived in Tokyo for ten years. | 私は東京に 10 年間住んでいる。 |
| She has known him since 2020. | 彼女は 2020 年から彼を知っている。 |
| How long have you studied English? | あなたはどれぐらい英語を勉強していますか。 |
| I have been sick since yesterday. | 私は昨日 からずっと 病 気 だ。 |
ポイント: for + 期間 (for two hours / for a long time) vs since + 起点 (since 2020 / since I was a child)。 since の後には 「文 (主語 + 動詞)」 も来られる。
入試で一番問われるのがこの区別 です。
| 時制 | イメージ | 例 |
|---|---|---|
| 過去形 | 過去の 「点」 (今と切れている) | I visited Kyoto last year. (去年行った — 今は関係なし) |
| 現在完了 | 過去 〜 現在の 「線」 (今とつながる) | I have visited Kyoto three times. (今までに 3 回 — 今の経験) |
大事: yesterday / last 〜 / 〜 ago / when など 「過去の一点」 を示す語は現在完了と一緒に使えない。 ✕ I have visited Kyoto yesterday. → ✓ I visited Kyoto yesterday.
公立入試で頻出の同意文書き換え。
| 元の文 | 書き換え |
|---|---|
| He started playing tennis ten years ago. He still plays it. | He has played tennis for ten years. |
| I went to Osaka three times. | I have been to Osaka three times. |
| This is my first visit to Kyoto. | I have never been to Kyoto before. |
| She began to live here in 2020. She still lives here. | She has lived here since 2020. |
ポイント: 「〜 年前からずっと」 = for + 期間、 「〜 年からずっと」 = since + 年。 過去の一点を起点にできるなら since、 期間の長さなら for。
次章では 現在完了進行形 (have been V-ing) を学びます。 「ずっと 〜 し続けている」 をより鮮明 に表す形です。