第1問
The error could have been avoided if the data ______ checked more carefully.
- (A) were
- (B) had been
- (C) was
- (D) has been
解答と解説を表示
正解 B
仮定法過去完了。主節がcould have been、if節はhad been + 過去分詞。データがもっと注意深く確認されていれば、エラーは避けられたかもしれない。
詳しい解説
主節が「could have been avoided」という〈助動詞の過去形 + have + 過去分詞〉の形をとっており、これは仮定法過去完了の主節パターンです。if 節も仮定法過去完了に合わせて〈had + 過去分詞〉にする必要があります。data は受動態で checked される側なので had been checked という受動態の完了形が正解です。was / were は単純過去(仮定法過去)であり、現在完了 has been は仮定法の if 節には使えません。
選択肢ごとの検討
- (A)
- were checked は仮定法過去(現在の事実と異なる仮定)の形ですが、主節が could have been(過去の事実と異なる仮定)なので時制が一致しません。
- (B)
- 正解。had been checked は仮定法過去完了の if 節に対応する受動態完了形です。主節の could have been avoided と対応します。
- (C)
- was checked は直説法の過去受動態です。仮定法過去完了の if 節には〈had been + 過去分詞〉が必要なので不可。
- (D)
- has been checked は現在完了の受動態。仮定法の if 節では助動詞の過去形や had を用いるため、現在完了形は不適切です。
覚え方のコツ
仮定法過去完了の公式は「If S had + p.p., S would / could / might have + p.p.」です。主節に could have been が見えたら、if 節は had been を探しましょう。受動態が絡む場合も had been + 過去分詞のかたちになります。
例文
- The contract could have been renewed if the parties had communicated earlier. 当事者がもっと早く連絡を取り合っていれば、契約は更新されていたかもしれない。
- The delay would have been avoided if the supplier had notified us in advance. サプライヤーが事前に通知していれば、遅延は避けられていただろう。
- Sales might have increased if the campaign had been launched on time. キャンペーンが時間通りに開始されていれば、売上が伸びていたかもしれない。