說到後悔,台灣人一定有共鳴:「早知道就…」、「那時候應該…」、「本來可以…」。這三種心情在英文裡都有對應的說法,就是 would have、should have 跟 could have 這三個組合。三個看起來很像,但 would have 用法跟另外兩個的語感差很多,用錯了意思可能整個偏掉。這篇把三個一次說清楚。
Would have 用法:假設條件或解釋意圖
Would have 的核心意思是「在某個條件下,原本會發生的事」,或是「原本打算做、但因為某個原因沒發生」。結構是 would have + 過去分詞,最常跟 if 假設句搭配出現,說明如果某個條件成立,結果本來會怎樣。
就算沒有 if 句,would have 也可以單獨用來解釋「本來的意圖」,語氣相對中性,不太帶責怪或後悔的感覺,比較偏向在說明一個沒有實現的計畫或結果。
這個用法在職場英文裡很常見,特別是在解釋為什麼某個決策沒有執行,或描述假設情境下的結果。Would have 說的是過去沒有發生的假設,跟表達「必須」的 must、have to、need to 這類 modal verb 語感完全不同。
(1)
A: Why didn’t you reply to the client’s email earlier?
A: 你為什麼沒有早點回覆客戶的 email?
B: I would have replied sooner, but I didn’t see it until this morning.
B: 我本來會早點回的,但我今天早上才看到。
(2)
A: The coffee shop near our office is closing next week.
A: 我們辦公室附近那家咖啡廳下週要關了。
B: Really? I would have gone there more often if I had known.
B: 真的嗎?如果我早知道,我就會常去的。
(3)
A: The concert was incredible. You totally missed out.
A: 演唱會超棒的,你真的錯過了。
B: I know. I would have gone, but my shift ran until midnight.
B: 我知道,我本來想去,但我班上到半夜才結束。
(4) If we had submitted the proposal on time, we would have won the contract.
如果我們準時交提案,就會拿到那份合約了。
(5) She would have called you, but her phone died on the train.
她本來想打給你,但她的手機在火車上沒電了。
Should have 用法:應該做但沒做
Should have 是三個用法裡面最帶情緒的一個。最常見的意思是「應該做,但沒有做」,說話的人通常帶有後悔,或是在責怪對方的語氣。Should have 用法在事後檢討、debrief 討論,或只是朋友之間的抱怨對話裡出現的頻率非常高。
結構:should have + 過去分詞
如果你想在當下給建議而不是事後,那委婉建議的英文說法又是另一套說法了。但如果要說「早應該這樣做」,should have 就是最直接的選擇。
(6)
A: I’m exhausted. I was up until 3 am.
A: 我累死了,熬夜到凌晨三點。
B: You should have gone to bed earlier. You have a big presentation today.
B: 你應該早點睡的,你今天有重要簡報耶。
(7)
A: I got a parking fine again.
A: 我又被開停車罰單了。
B: You should have parked in the garage. I told you last time.
B: 你應該停停車場的,我上次有說過。
(8)
A: The project ran way over budget.
A: 這個專案嚴重超出預算。
B: We should have done a more thorough cost estimate at the start.
B: 我們一開始就應該做更詳細的成本估算的。
Should have 還有第二個意思:「照理說應該已經發生了」,這時候不是在責怪誰,而是在表達你對某件事的預期或判斷。
(9)
A: Has Kevin arrived? He was supposed to be here at 3.
A: Kevin 到了嗎?他三點應該要到的。
B: His flight landed at 1. He should have arrived by now.
B: 他的班機一點就降落了,他現在應該已經到了。
(10) The package should have been delivered yesterday, but tracking still shows it’s in transit.
這個包裹昨天應該就到了,但追蹤顯示還在運送中。
Could have 用法:本來可以,或猜測
Could have 有兩個常見意思。第一個是「本來可以做,但沒有做」,通常帶有「可惜,錯過了這個機會或選項」的感覺;第二個是「猜測某件事可能發生了什麼」,這個用法跟 might have 很接近,兩者通常可以互換。
結構:could have + 過去分詞
先看「本來可以但沒做」:
(11)
A: How did you get home so late last night?
A: 你昨晚怎麼那麼晚才回去?
B: I took the bus. I could have called a cab, but the bus was actually faster.
B: 我搭公車。我本來可以叫計程車,但公車其實比較快。
(12)
A: That interview question totally threw me off.
A: 那個面試問題讓我整個亂掉。
B: What did you say?
B: 你怎麼回答?
A: I just froze. I could have handled it so much better.
A: 我整個愣住。我本來可以應對得更好的。
再看「猜測可能發生了什麼」:
(13)
A: Where did Amy go? She was just here five minutes ago.
A: Amy 去哪了?她五分鐘前還在的。
B: She could have gone to grab coffee. It’s already past noon.
B: 她可能去拿咖啡了,已經過中午了。
最後補充一下 couldn’t have。很多人以為它只是 could have 的否定,語感其實差很多。Couldn’t have 的意思是「就算想做,也根本不可能做到」,強調的是能力或可能性上的限制,比「沒有做」語氣強烈得多。
(14) He couldn’t have written this whole report alone. It’s over 50 pages.
他不可能自己一個人寫完這份報告,超過 50 頁耶。
(15) I couldn’t have passed the exam without your notes. It was brutal.
沒有你的筆記,我不可能通過那個考試,真的太難了。
三個用法放在一起比較

快速整理一下三個的差別:
Would have:說明某個「假設條件」下本來會發生的結果,或解釋某個原本的計畫為什麼沒有實現。語氣中性,比較偏向說明情況,不太帶責怪。
Should have:說某件事「應該做但沒做」,帶後悔或責怪的語氣。也可以用來說照理說應該已經發生的事,表達預期。
Could have:說某件事「本來可以做但沒做」,偏向「可惜,錯過了這個機會」。也可以用來猜測某件事是否發生了。
一個簡單的記法:
- Would have → 「本來會…」(假設條件或原本的計畫)
- Should have → 「本來應該…」(責任感、後悔或預期)
- Could have → 「本來可以…」(機會、能力或可能性)
職場和多益常考的句型
在 TOEIC(多益)考試裡,這類 modal verb 假設語氣句型出現在 Part 5 的文法選擇題和 Part 6 的段落填空,也會在 Part 7 的對話情境裡出現。常見考法是給你一個帶情緒或語境的句子,要你判斷哪個 modal verb 語感最符合。
職場英文裡,should have 用法最常出現在事後檢討的討論,例如會議結束後的 debrief,或專案出問題後的分析;could have 常用來說明某個方案「本來有機會但沒把握到」;would have 則常出現在假設分析,說明如果當初某個決策不同,結果本來會怎樣。
(16)
A: Why did the product launch fall flat?
A: 為什麼產品上市反應那麼差?
B: We should have done more user testing before going live. A lot of the issues were predictable.
B: 我們上線前應該做更多使用者測試的,很多問題其實可以預測到。
(17)
A: We lost the bid to a smaller firm. I’m shocked.
A: 我們的投標輸給一家更小的公司,真的很震驚。
B: We could have offered a more competitive price. Our quote was way above market rate.
B: 我們本來可以報更有競爭力的價格,我們的報價遠高於市場行情。
(18)
A: Any word from the recruiter yet?
A: 招聘人員那邊有消息了嗎?
B: Not yet. They should have reviewed all applications by now — it’s been three weeks.
B: 還沒,但他們現在應該已經看過所有申請了,都三個禮拜了。
(19) If we had acted on that feedback earlier, we would have avoided this entire situation.
如果我們更早針對那些反饋採取行動,就能避免這整個局面了。
這類假設語氣句型在多益考試裡屬於中高難度題,搞清楚三者語感差別,碰到這類題目就不需要靠感覺猜了。
搞清楚 would have、should have、could have 的差別之後,你會發現日常對話跟職場英文裡這三個其實一直出現,不管是解釋為什麼某件事沒發生、表達後悔,還是猜測某件事的可能性,都可以更精準地用英文表達。
延伸閱讀:【Have to、Must、Need to 都是必須英文,但語感差很多】
如果你喜歡這篇文章的話,可以追蹤我們的Threads和Facebook唷!