モチタン辞典 › 読みもの › 英文法 › 現在完了で使う期間・頻度の表現

現在完了形の副詞・頻度と期間の完全解説
現在完了形で副詞を使う際は、「have / has と過去分詞の間に挟む副詞(頻度や完了)」と「文末に置く副詞句(期間や回数)」の2大ルールを押さえることが基本です。
現在完了形の副詞の位置:挟む語と文末の語
現在完了形(have / has + 過去分詞)において、副詞をどこに配置するかは品詞の性質や語の長さによって明確に分かれています。基本の語順ルールは以下の2通りです。
1. have / has と過去分詞の間に挟む副詞(1語の頻度・程度・完了)
動作の頻度や進捗の度合いを表す1語の副詞は、助動詞の働きをする have / has の直後、すなわち過去分詞との間に挟み込みます。肯定文、否定文、疑問文のいずれでも過去分詞の直前に置くのが定位置です。
- I have already finished my homework.(私はもう宿題を終えました。)
- She has never visited Canada.(彼女は一度もカナダを訪れたことがありません。)
- Have you ever seen a whale?(あなたは今までにクジラを見たことがありますか?)
2. 文末に置く副詞句・語(期間・回数・前置詞句)
具体的な期間の長さを示す表現(for + 期間)や起点を示す表現(since + 起点)、回数(three times など)、複数の単語からなる副詞句は、原則として文末に配置します。
- They have lived here for ten years.(彼らは10年間ここに住んでいます。)
- Ken has read this book twice.(ケンはこの本を2回読んだことがあります。)
| 配置パターン | 主な副詞・表現 | 代表的な用法 |
|---|---|---|
| have/has と過去分詞の間 | always, often, never, ever, just, already, finally | 頻度・完了・経験 |
| 文末(文尾) | for ..., since ..., yet, before, once, many times, lately | 期間・回数・過去の起点 |
| 文頭または文末 | recently, so far, over the past few years | 期間・最近の出来事 |
期間を表す副詞:for・since・over・まで
現在完了形の「継続用法(ずっと〜している)」では、動作や状態がどれだけの時間続いているか、あるいはいつから始まったのかを示す前置詞句が欠かせません。特につまずきやすい for、since、over、および「〜まで」の表現を整理します。
for と since の決定的な違い
for の後ろには「時間の長さ(数値+単位)」が続き、since の後ろには「動作や状態が始まった過去の一時点(起点)」が続きます。
- for three days(3日間)/ for a long time(長い間)/ for ages(何年もの間)
- since yesterday(昨日から)/ since 2015(2015年から)/ since I was a child(私が子供だった頃から)
for は時間の幅全体を指し示し、since は過去の出発点を指して「その時点から現在に至るまでずっと」という意味を担います。したがって、since three years のような形は文法的な誤りです。
3年間と言いたい場合は for three years、3年前からと言いたい場合は since three years ago と表現します。
over を使った期間の表現
前置詞 over は「ある期間にわたって」という意味を持ち、特に over the past / last + 期間 の組み合わせで現在完了形と頻繁に用いられます。ビジネス英語や論文、ニュースでも多用される表現です。
- Prices have risen over the past few months.(過去数か月にわたって物価が上昇しています。)
- Our team has achieved great results over the last two years.(私たちのチームはこの2年間にわたって素晴らしい成果を上げてきました。)
「今まで・〜まで」を表す表現(until now / so far / up to now)
「今までのところ」「現在に至るまで」を表す副詞句は、過去から現在までの到達度合いを説明する際に使われます。
- so far: 「これまでのところ」。現在完了形とともに文頭や文末で極めて自然に使われます。
We have received ten applications so far.(これまでのところ、10件の応募を受け取っています。) - until now / up to now: 「今までは」。それまではそうだったが、今後は状況が変わるニュアンスを含む場合があります。
I have lived alone until now.(私は今までは一人暮らしをしていました。)
for(時間の長さ)
- 後ろに「数値+単位」が続く
- 時間の幅全体を指し示す
- 例: for three days(3日間)
- 例: for a long time(長い間)
since(過去の起点)
- 後ろに「始まった過去の一時点」
- 過去の出発点から現在までを示す
- 例: since yesterday(昨日から)
- 例: since 2015(2015年から)
時間の長さ全体を示すか、始まった過去の起点を示すかで使い分けます。
頻度と回数の副詞:often・何度も・3回目
「経験用法(〜したことがある)」や「継続用法(いつも〜している)」では、頻度や回数を表す副詞が重要な役割を果たします。同じ「たびたび」や「何度も」であっても、副詞の種類によって位置やニュアンスが異なります。
頻度副詞(always, often, sometimes)の位置と役割
1語の頻度副詞は have と過去分詞の間に置きます。
- often(よく、しばしば): I have often visited this museum.(私はこの美術館をよく訪れたことがあります。)
- always(いつも、ずっと): She has always loved music.(彼女はずっと音楽を愛してきました。)
- sometimes(時々): We have sometimes argued about money.(私たちは時々お金のことで口論したことがあります。)
過去形(I often went there.=過去によくそこへ行ったものだ)と比べ、現在完了形の often は「今に至るまでの人生の中で、たびたびそういう経験がある」という現在の視点を含みます。
「何度も」の使い分け:often と many times
「何度も」を表す際、語句によって配置と響きが変わります。
- often: 習慣的・一般的な頻度の高さを表し、have と過去分詞の間に置きます。
He has often helped me.(彼はよく私を助けてくれました。) - many times: 具体的な回数の多さを強調する副詞句で、原則として文末に置きます。
I have watched this movie many times.(私はこの映画を何度も見ました。) - several times: 「数回、何回か」を意味し、文末に配置します。
They have been to Kyoto several times.(彼らは京都に何回か行ったことがあります。)
回数の表現:once, twice, 3回目(three times / for the third time)
回数を数える表現は文末に配置するのが鉄則です。1回は once、2回は twice、3回以上は three times、four times と続きます。
- once: I have climbed Mt. Fuji once.(私は富士山に1回登ったことがあります。)
- three times: 「3回(経験の回数)」を表します。
She has read the novel three times.(彼女はその小説を3回読んだことがあります。) - for the third time: 「3回目(今回の出来事が3回目にあたる)」を表します。
I have failed the test for the third time.(私はそのテストに落ちたのはこれで3回目です。)
なお、「〜するのはこれで○回目だ」という構文には、This is the third time (that) I have visited Japan.(日本を訪れるのはこれで3回目です)のように、This is the + 序数 + time + 現在完了形 の定型表現も広く使われます。
haveと過去分詞の間
- always(ずっと)
- often(よく、しばしば)
- sometimes(時々)
文末に置く回数表現
- many times(何度も)
- several times(数回)
- once / twice(1回/2回)
頻度や回数を表す語句は、置く位置やニュアンスによって使い分けます。
たった今・ちょうど・最近:justとrecently
現在完了形と非常に相性が良い副詞群の中に、「ちょうど・たった今」と「最近」があります。しかし、似た意味の語句でも現在完了形では使えないものがあるため、注意が必要です。
「ちょうど・たった今」:just と just now の違い
英語学習者にとって最大の落とし穴の一つが、just と just now の使い分けです。
- just(ちょうど、たった今): 現在完了形で使用可能。位置は have と過去分詞の間。
The train has just arrived.(電車がちょうど到着したところです。)
I have just finished lunch.(私はたった今昼食を食べ終えました。) - just now(少し前、たった今): 原則として過去形のみで使用。現在完了形とは併用できません。
The train arrived just now.(電車はたった今到着しました。)
× I have seen him just now.(誤り)
○ I saw him just now.(私はたった今彼を見かけました。)
just now は「少し前の過去の特定の一時点」を指す表現とみなされるため、現在の状態とつながる現在完了形とは相容れません。
「最近」を表す副詞:recently と lately
「最近」を意味する代表的な副詞には recently と lately があります。どちらも現在完了形と好相性ですが、使われる文構造やニュアンスに若干の違いがあります。
表は横にスクロールできます →
| 単語 | ニュアンス | 使いやすい文種 | 文中の位置 |
|---|---|---|---|
| recently | 過去の近接した一時点、または最近の出来事 | 肯定文・否定文・疑問文 | 文末、または文頭、haveの後ろ |
| lately | 最近ずっと続いている状況・傾向 | 否定文・疑問文(完了進行形と好相性) | 原則として文末 |
- I have recently changed my job.(私は最近転職しました。)
- Have you seen Mary recently?(最近メアリーに会いましたか?)
- I haven't slept well lately.(最近あまりよく眠れていません。)
- She has been very busy lately.(彼女は最近ずっと非常に忙しくしています。)
just(ちょうど・たった今)
- 現在完了形で使用可能
- 位置は have と過去分詞の間
- 例: The train has just arrived.
just now(少し前・たった今)
- 原則として過去形のみで使用
- 現在完了形とは併用不可(× have seen)
- 例: The train arrived just now.
意味が似ていても使える時制と置く位置が明確に異なります。

now・before・after・every day・finally
文法書や辞書で現在完了形との組み合わせに疑問を持たれやすい、個別の副詞や接続詞の用法を解説します。
now は現在完了形で使えるのか
「now は現在形に使う語であり、現在完了形では使えない」と誤解されがちですが、now 単体でも現在完了形で使うことができます。過去の動作が完了し、「今や〜という状態になった」という変化や結果を強調する文脈で用いられます。
- I have now completed all the requirements.(私は今や全ての要件を満たしました。)
- The problem has now been resolved.(その問題は今や解決されました。)
位置は助動詞 have の直後、または文末に置かれます。「今までのところ」という意味にしたい場合は until now や by now(今頃はもう)を使います。
before の位置と使い方
before(以前に、かつて)は、経験用法(〜したことがある)の文末に配置するのが標準です。
- I have never tasted this fruit before.(私は以前にこの果物を食べたことがありません。)
- Have we met before?(私たちは以前お会いしたことがありますか?)
文末の before は「現在から振り返ってそれ以前のどこかの時点」を意味し、現在完了形と非常に相性が良い副詞です。
after と現在完了形
接続詞 after の導く節の中では、未来の完了を表す際や、ある動作が完了したことを明確にするために現在完了形が使われます。時や条件を表す副詞節の中では、未来の完了を未来完了形(will have done)ではなく現在完了形で表すという文法規則があります。
- We will leave after I have finished this work.(この仕事を終えた後で出発しましょう。)
- After you have checked the document, please send it back.(書類を確認し終わった後、返送してください。)
every day(毎日)と継続用法
every day は「毎日」という反復的な動作を表すため、通常は現在形や過去形で使われますが、現在完了形の継続用法(または完了進行形)でも「過去から現在に至るまで毎日欠かさず」という意味合いで使われます。
- He has practiced the piano every day since last month.(彼は先月から毎日ピアノを練習しています。)
- It has rained every day this week.(今週は毎日雨が降っています。)
finally(やっと、ついに)の位置
待ち望んでいた事態が実現したことを表す finally は、have と過去分詞の間に置くのが自然です。
「今や〜という状態になった」という変化や結果を強調。haveの直後や文末に配置。
「以前に、かつて」という意味で経験用法と相性抜群。文末に配置するのが標準。
時を表す副詞節の中で、未来の完了を未来完了形の代わりに現在完了形で表す。
現在完了形と組み合わせて使われる各語の役割と配置ルールです。
現在完了形と一緒に使えない過去の副詞一覧
現在完了形は「過去の出来事が現在とどのようにつながっているか」を語る時制です。そのため、現在から切り離された過去の特定の一時点のみを指し示す副詞・副詞句・疑問詞とは一緒に使えません。
| 使えない表現 | 意味 | 不可の理由と正しい修正例 |
|---|---|---|
| yesterday | 昨日 | 過去の1日を特定するため不可。 ○ I bought this yesterday. |
| ... ago | 〜前(two days agoなど) | 現時点と切り離された過去の時点を指すため不可。 ○ He left an hour ago. |
| last night / year | 昨夜 / 昨年 | 明確な過去の特定期間を指すため不可。 ○ We met last week. |
| when ... ? | いつ〜したか | 過去の具体的な日時・時点を尋ねるため不可。 ○ When did you arrive? |
| just now | たった今、さっき | 少し前の過去の一時点を指すため不可。 ○ She called just now. |
| in 2020 | 2020年に | 過去の特定年を指すため不可。 ○ He was born in 2020. |
ただし、これらの語句であっても since yesterday(昨日から)や since when(いつから)のように、since を前置して「過去の起点」とした場合は現在完了形で使用できます。
誤用を防ぐための具体的な用例は、現在完了形と一緒に使えない時を表す副詞の例文集で確認できます。
次の疑問過去の副詞が使えない理由をより深く掴むには、時制の根本的な感覚である現在完了形と現在形・進行形の違いを押さえておくのが役立ちます。
副詞から現在完了の3用法を見分ける一覧表
英語のテストや長文読解、英作文では、使われている副詞や前置詞句を手がかりにすることで、現在完了形の3用法(継続・経験・完了結果)を瞬時に判別できます。
表は横にスクロールできます →
| 用法 | 意味 | 代表的な副詞・語句 | 主な配置 |
|---|---|---|---|
| 継続 | ずっと〜している | for + 期間, since + 起点, always, all day, how long | alwaysは間、その他は文末 |
| 経験 | 〜したことがある | ever, never, often, before, once, many times | 1語の頻度副詞は間、回数は文末 |
| 完了・結果 | 〜してしまった、もう〜した | already, just, yet, now, finally, recently | just/alreadyは間、yetは文末 |
副詞の位置関係を視覚的な配置パターンとして頭に入れておくと、作文や会話での語順ミスを大きく減らすことができます。
- 肯定文(挟む型): Subject + have/has + [ already / just / often / never / finally ] + 過去分詞.
- 肯定文(文末型): Subject + have/has + 過去分詞 + [ before / many times / for three years / recently ].
- 否定文(挟む型・文末型): Subject + have/has + [ never ] + 過去分詞. または Subject + have/has not + 過去分詞 + [ yet / lately ].
- 疑問文: Have/Has + Subject + [ ever ] + 過去分詞 + [ yet / before ]?
次の疑問副詞以外の手がかりも含めて全体の判別法を整理したいときは、現在完了形3用法の見分け方で文脈ごとの判断基準を詳しく学べます。
続けて読む
理解度チェック
Q1. 現在完了形と一緒に使えない副詞・表現はどれですか?
- so far
- before
- just now
- recently
答えを見る
正解: C. just now
just nowは過去の特定の一時点を指す表現のため、原則として過去形のみで使われ、現在完了形とは併用できません。
Q2. 期間を表す副詞についての説明で、本文に沿ったものは?
- forの後ろには過去の起点となる一時点が続く
- since three yearsという表現は正しい
- overは「ある期間にわたって」という意味を持つ
- until nowは文頭でのみ自然に使える表現である
答えを見る
正解: C. overは「ある期間にわたって」という意味を持つ
forは時間の長さ、sinceは動作が始まった過去の一時点が続き、since three yearsは誤りです。overはある期間にわたってという意味を持ちます。
Q3. 本文の語順ルールに基づき、最も適切な英文はどれですか?
- She has visited never Canada.
- Ken has read twice this book.
- He has often helped me.
- I have watched many times this movie.
答えを見る
正解: C. He has often helped me.
1語の頻度副詞oftenやneverはhave/hasと過去分詞の間に挟みます。twiceやmany timesなどの回数表現は文末に配置します。
英語の文法は、話して身につけよう。会話アプリ「モチスピ」英語を話して練習できる会話アプリ。話すたびに、発音・文法・自然さをその場で直してもらえます。無料で試す
よくある質問
- Q. just nowは完了形で使えますか?
- 使えません。just now は「たった今、少し前に」という過去の一時点を指すため、原則として過去形(Simple Past)と一緒に使います。現在完了形で「たった今」と言いたい場合は、have と過去分詞の間に just を挟みます。
- Q. now単体は現在完了形で使えますか?
- 使えます。have now + 過去分詞 の形で、「過去の動作を経て、今や〜の状態になった」という結果や変化を強調する文脈で自然に用いられます。なお、「今までのところ」という意味では until now や so far を使います。
- Q. three timesと3回目の違いは?
- three times は経験の総数(3回)を表し、文末に置きます。一方、「今回で3回目である」と順序を強調したい場合は for the third time を文末に置くか、This is the third time I have visited... という構文を使います。
- Q. after節で現在完了形を使う理由は?
- 時や条件を表す副詞節の中では、未来のことでも未来完了形を使わず現在完了形で表す文法規則があるためです。「〜し終えた後で」という動作の完了を明確にする文脈で after の後ろに現在完了形が置かれます。
- Q. recentlyとlatelyの違いは?
- どちらも「最近」ですが、recently は過去の出来事(1回の出来事・点)にも継続的な状況にも使え、肯定文でも一般的です。一方、lately は「最近ずっと」という継続的ニュアンスが強く、否定文や疑問文、完了進行形で好まれます。
2026年9月25日更新・モチタン辞典編集部
関係する文法already・yet・stillの使い分けforとsinceの使い分け現在完了形と一緒に使えない時を表す副詞
recently
many times
so far
since
already
ever