解説記事 — フレーズフレーズミー

単語の使い分け

catch a cold と have a cold の違い|「風邪をひく」と「ひいている」の英語

30秒でわかる

catch a cold は「風邪をひく」という一瞬の変化(ひいていない→ひいた)、have a cold は「風邪をひいている」という続く状態を表します。日本語の「ひいていた」を英語にするなら had a cold。caught a cold と書くと「(その時点で)ひいた」という別の出来事になってしまいます。get a cold も catch と同じ「ひく」側です。

×She slept all day because she caught a cold.
She slept all day because she had a cold.

まず、実際の間違いを見てください

次の2つは、当サービスの人手添削で実際に繰り返し指摘された誤答です(回数は同じ間違いが添削された実測値)。

例文: 彼女は風邪を引いていたので、一日中寝ていた。

×She slept all day because she caught a cold.133回
She slept all day because she had a cold.

caught だと「ひいた」という一瞬の出来事になり、「ひいていた」という原文の状態と合いません。一日中寝ていた理由は「ひいた瞬間」ではなく「ひいている状態が続いていたこと」なので、状態の have(過去なら had)を使います。

例文: 彼女は風邪を引いていたので、一日中寝ていた。

×She slept all day because she got a cold.39回
She slept all day because she had a cold.

get も catch と同じ「ひく」側の動詞です。get のいちばん基本の意味「得る」から分かるとおり、「持っていない→持っている」への変化を表します。「ひいている」状態は have の担当です。

第84位

catch a cold と have a cold の混同は、よくある誤り全222タイプの中で第84位。当サービスの人手添削12年分で978回指摘されました。「彼女は風邪を引いていたので」を she caught a cold と書く誤りに、指摘のほとんどが集中しています。

なぜ間違えるか——日本語のクセ

日本語の「風邪をひく」は、「ひいた」「ひいていた」「ひいている」と「ひく」一語を活用させるだけで、動作も状態も全部言えてしまいます。だから頭の中で「風邪をひ……」と始めた時点で catch(=ひく)に手が伸びます。ところが英語は、この2つを動詞ごと分業しています。catch/get は「ひいていない→ひいた」という変化の瞬間だけを指し、そこから続く「ひいている」期間は have の担当です。日本語では活用の違い(ひく/ひいている)で済む区別が、英語では単語の選択になる——ここが罠です。「知っている」を know、「持っている」を have で表すのと同じ、英語の「状態動詞」の考え方です。

catch a cold = ひく(一瞬の変化) ひいた瞬間(点) 元気 風邪の状態へ have a cold = ひいている(続く状態) ひいている期間(帯) slept all day はこの帯の中の話 「一日中寝ていた」の理由になるのは帯(have)のほう。
catch a cold は時間の上の一点(ひいた瞬間)、have a cold はそこから続く帯(ひいている期間)。「一日中寝ていた」理由は帯のほうにある。

図の内容を表にするとこうなります。

表現表すもの日本語
catch a cold(= get a cold)変化の瞬間(点)風邪をひく・ひいたDon't catch a cold. / I caught a cold yesterday.
have a cold続く状態(帯)風邪をひいている・ひいていたMy uncle has a cold. / She had a cold.
have caught a cold点+その結果が今も続く風邪をひいて(今もひいて)いるMy uncle has caught a cold.

こう考える——書くときの判断手順

  1. 日本語をよく見る——「ひ・ひいた」(変化の瞬間)か、「ひいている・ひいていた」(続く状態)か
  2. 変化の瞬間なら catch(または get)、続く状態なら have を選ぶ
  3. 時制を合わせる——「ひいていた」なら have の過去形 had。「(今)ひいている」なら has/have の現在形
  4. 「ひいている」に catch を使いたければ現在完了にする——has caught a cold(ひいた結果、今もひいている)。caught 単独(過去形)では過去の出来事で終わってしまい、今の状態は表せない

この手順は当サービスの採点基準と同じです。「私のおじは風邪を引いています。」に My uncle caught a cold. と書くと「過去形のみで現在の状態を表せていない」として減点、gets a cold も「動作であって状態でない」として減点になります。

ここまでは同じ、ここからは別

「私のおじは風邪を引いています。」の正解は My uncle has a cold. だけではありません。My uncle has caught a cold.(現在完了)も正解です——「ひいた」という点を、結果が今に届く矢印(完了形)で今につなげているからです。My uncle is suffering from a cold. も正解。ダメなのは caught 単独の過去形と gets(現在の動作)だけです。現在完了と過去形の線引きそのものは現在完了の記事過去形の記事にまとめています。もう1つの注意は be 動詞——She was cold. は「彼女は寒かった」で、風邪の話になりません。cold は「風邪」という意味では名詞(a cold と冠詞付き)で、have とセットで使います。なお「風邪のせいで〜」と理由の側に回すときは because of a cold の形になります。理由表現の使い分けはbecause of の記事へ。

まとめ——書いたあとのチェック

この間違い、自分もやるか試してみる

この記事で見た「彼女は風邪を引いていたので、一日中寝ていた。」を、実際に英語で書いてみてください。catch と have の使い分けがそのまま試される問題です。書いた英文は AI がその場で採点します(登録は不要です)。

「彼女は風邪を引いていたので、一日中寝ていた。」を英語で書いてみる登録なしで、この1問をAIが採点します

データについて: 本文の回数・割合は、フレーズフレーズミーの人手添削データ12年分の集計値です(添削と誤りタグの照合 655,994回のうち、本記事のタグ「catch a cold と have a cold の違い(風邪をひく、風邪をひいている)」への照合が 978回・0.1%。集計 2026-08-14)。誤答例の「◯回」は、同じ間違いが人手添削と照合された回数です。誤答例はいずれも実際の学習者の答案に現れた文で、個人が特定できる情報は含みません。

著者: 株式会社コンテンツアンドシステムズ(人手添削18.4万件・採点基準416問を運営する、ITと教育の融合をミッションとする会社です)。データの出どころと記事の作り方は運営者とデータについてをご覧ください。

← 解説記事の一覧フレーズフレーズミーをはじめる