สรุปสั้น ๆ: ทั้งสามโครงสร้างนี้พูดถึงเหตุการณ์สมมติในอดีตที่ไม่ได้เกิดขึ้นจริง — should have + V3 ใช้ตำหนิหรือเสียใจว่า "ควรทำแต่ไม่ได้ทำ", could have + V3 ใช้พูดถึง "มีความสามารถ/โอกาสทำได้ แต่ไม่ได้ทำ" (missed opportunity), และ would have + V3 ใช้พูดถึง "ผลลัพธ์สมมติที่จะเกิดขึ้น ถ้าเงื่อนไขในอดีตต่างออกไป" (มักคู่กับ if-clause แบบที่ 3) จุดที่คนไทยผิดบ่อยที่สุดคือ สะกดว่า "should of" หรือใช้ V2 แทน V3 หลัง have
โครงสร้างพื้นฐาน Should Have / Could Have / Would Have (Past Modals)
| ส่วนประกอบ | หน้าที่ |
|---|---|
| ประธาน | ผู้กระทำ |
| should/could/would + have | กริยาช่วยผสม แสดงความหมายสมมติในอดีต |
| Past Participle (V3) | กริยาหลักต้องเป็นช่องที่ 3 เท่านั้น ห้ามใช้ V2 |
สูตรรวม: ประธาน + should/could/would + have + V3
| รูปประโยค | สูตร | ตัวอย่าง |
|---|---|---|
| บอกเล่า | ประธาน + should/could/would + have + V3 | I should have studied harder. |
| ปฏิเสธ | ประธาน + should/could/would + not + have + V3 | I shouldn't have eaten so much. |
| คำถาม | Should/Could/Would + ประธาน + have + V3...? | Should I have called him first? |
Should Have + V3 — ใช้ตำหนิตัวเองหรือคนอื่น (ควรทำแต่ไม่ได้ทำ)
Should have ใช้แสดงความเสียใจ ตำหนิ หรือวิพากษ์วิจารณ์การกระทำในอดีตที่ไม่ได้เกิดขึ้น (แต่ควรจะเกิดขึ้น)
- You should have told me earlier. (คุณควรบอกผมก่อนหน้านี้ — แต่คุณไม่ได้บอก)
- I should have brought an umbrella. (ผมควรเอาร่มมา — แต่ผมไม่ได้เอามา ตอนนี้เปียกฝน)
- She shouldn't have said that to him. (เธอไม่ควรพูดแบบนั้นกับเขา — แต่เธอพูดไปแล้ว)
Could Have + V3 — พูดถึงโอกาสที่พลาดไป (Missed Opportunity)
Could have ใช้พูดถึงความสามารถหรือโอกาสที่มีอยู่ในอดีต แต่ไม่ได้ใช้หรือไม่ได้ทำ
- I could have won the race, but I fell. (ผมสามารถชนะการแข่งขันได้ แต่ผมล้ม)
- You could have called me for help. (คุณสามารถโทรหาผมเพื่อขอความช่วยเหลือได้ — แต่คุณไม่ได้โทร)
- We could have gone to the beach, but it rained. (เราสามารถไปเที่ยวทะเลได้ แต่ฝนตก)
Could have ยังใช้พูดถึงการคาดเดาความเป็นไปได้ในอดีตที่ไม่แน่ใจ (possibility) ได้ด้วย เช่น He could have missed the bus. (เขาอาจจะพลาดรถเมล์ก็ได้)
Would Have + V3 — ผลลัพธ์สมมติ (มักคู่กับ If-Clause แบบที่ 3)
Would have ใช้พูดถึงผลลัพธ์ที่ "จะเกิดขึ้น" หากเงื่อนไขในอดีตเป็นอย่างอื่น มักปรากฏใน Conditional Sentence Type 3
- If I had studied harder, I would have passed the exam. (ถ้าผมขยันเรียนมากกว่านี้ ผมคงสอบผ่านไปแล้ว)
- If she had known about the party, she would have come. (ถ้าเธอรู้เรื่องงานปาร์ตี้ เธอคงมาแล้ว)
- I would have helped you if you had asked. (ผมคงช่วยคุณแล้ว ถ้าคุณขอ)
ตารางเปรียบเทียบ Should Have vs Could Have vs Would Have
| โครงสร้าง | ความหมายหลัก | น้ำเสียง |
|---|---|---|
| should have + V3 | ควรทำแต่ไม่ได้ทำ (ตำหนิ/เสียใจ) | เชิงวิจารณ์ ตำหนิ |
| could have + V3 | มีความสามารถ/โอกาสแต่ไม่ได้ทำ | เชิงเสียดาย/เสียโอกาส |
| would have + V3 | ผลลัพธ์สมมติถ้าเงื่อนไขต่างไป | เชิงสมมติ ผลจากเหตุ |
ตัวอย่างเปรียบเทียบในสถานการณ์เดียวกัน (สอบตก เพราะไม่ได้อ่านหนังสือ):
- I should have studied more. (ผมควรอ่านหนังสือมากกว่านี้ — ตำหนิตัวเอง)
- I could have passed if I had studied. (ผมน่าจะสอบผ่านได้ถ้าอ่านหนังสือ — พูดถึงความสามารถที่มีแต่ไม่ได้ใช้)
- If I had studied, I would have passed. (ถ้าผมอ่านหนังสือ ผมคงสอบผ่านไปแล้ว — ผลลัพธ์สมมติ)
ข้อผิดพลาดที่คนไทยทำบ่อยที่สุดกับ Should Have / Could Have / Would Have
1. สะกดผิดเป็น "Should of" เพราะออกเสียงคล้ายกัน
เมื่อพูดเร็ว ๆ "should have" ออกเสียงคล้าย "should of" ทำให้ผู้เรียน (รวมถึงเจ้าของภาษาบางคน) เขียนผิดเป็น should of, could of, would of ซึ่งผิดหลักไวยากรณ์โดยสิ้นเชิง เพราะ "of" เป็นคำบุพบท ไม่ใช่กริยาช่วย
- ❌ I should of called you.
- ✅ I should have called you.
เคล็ดลับ: เวลาเขียน ให้นึกเสมอว่าตัวย่อที่ถูกต้องคือ should've, could've, would've (ไม่ใช่ should of) — สังเกตเครื่องหมาย apostrophe (') ที่แทน have เสมอ
2. ใช้ Past Simple (V2) แทน Past Participle (V3) หลัง Have
เพราะภาษาไทยไม่มีการผันรูปกริยาตามกาล นักเรียนไทยจึงมักสับสนระหว่าง V2 กับ V3 โดยเฉพาะกริยาอปกติ (irregular verbs)
- ❌ You should have went home earlier. (ผิด — went เป็น V2)
- ✅ You should have gone home earlier. (ถูก — gone เป็น V3)
- ❌ I could have saw the accident. (ผิด — saw เป็น V2)
- ✅ I could have seen the accident. (ถูก — seen เป็น V3)
3. แปล "ควร" ในภาษาไทยเป็น Should Have ผิดกาล
คำว่า "ควร" ในภาษาไทยไม่ได้บอกกาลชัดเจนเหมือนภาษาอังกฤษ ทำให้บางครั้งนักเรียนไทยใช้ should have (อดีต) ทั้งที่ต้องการพูดถึงปัจจุบัน/อนาคต หรือใช้ should (ปัจจุบัน) ทั้งที่ต้องการพูดถึงอดีตที่ผ่านไปแล้ว
- ต้องการพูดถึงปัจจุบัน: You should rest now. (ไม่ใช่ should have rested — เพราะยังพักได้ตอนนี้)
- ต้องการพูดถึงอดีตที่ผ่านไปแล้ว: You should have rested yesterday. (ควรพักเมื่อวาน แต่ไม่ได้พัก)
4. สับสน Could Have กับ Was Able To
Could have ใช้พูดถึงโอกาสที่ "มีอยู่แต่ไม่ได้ใช้" ส่วน was able to ใช้พูดถึงสิ่งที่ "ทำสำเร็จจริง ๆ" ในอดีต ความหมายตรงข้ามกันในแง่ผลลัพธ์
- I could have finished the marathon, but I stopped. (ผมน่าจะวิ่งจบได้ แต่หยุดกลางทาง — ไม่ได้ทำสำเร็จ)
- I was able to finish the marathon. (ผมวิ่งจบมาราธอนสำเร็จ — ทำสำเร็จจริง)
ตัวอย่างประโยครวม Should Have / Could Have / Would Have
- I should have listened to my parents' advice. (ผมควรฟังคำแนะนำของพ่อแม่)
- You shouldn't have spent all your money on that. (คุณไม่ควรใช้เงินทั้งหมดไปกับสิ่งนั้น)
- We could have taken a taxi instead of walking in the rain. (เราน่าจะนั่งแท็กซี่แทนที่จะเดินฝ่าฝน)
- He could have apologized, but he chose to stay silent. (เขาน่าจะขอโทษได้ แต่เขาเลือกที่จะเงียบ)
- If they had left earlier, they would have caught the train. (ถ้าพวกเขาออกเดินทางเร็วกว่านี้ พวกเขาคงทันรถไฟ)
- I would have invited you, but I didn't have your number. (ผมคงเชิญคุณแล้ว แต่ผมไม่มีเบอร์โทรของคุณ)
- She should have double-checked the report before submitting it. (เธอควรตรวจสอบรายงานอีกครั้งก่อนส่ง)
- You could have told me the truth from the beginning. (คุณน่าจะบอกความจริงกับผมตั้งแต่แรก)
- If I had known you were coming, I would have cooked more food. (ถ้าผมรู้ว่าคุณจะมา ผมคงทำอาหารเพิ่ม)
- They shouldn't have argued in front of the guests. (พวกเขาไม่ควรทะเลาะกันต่อหน้าแขก)
- We could have won the game if we had practiced more. (เราน่าจะชนะเกมได้ถ้าซ้อมมากกว่านี้)
- I would have called you sooner, but my phone died. (ผมคงโทรหาคุณเร็วกว่านี้ แต่โทรศัพท์แบตหมด)
เคล็ดลับ: จำ Should Have / Could Have / Would Have ไม่ให้สับสน
- จำสามคำใบ้: should have = "ตำหนิ/เสียใจ" (ควรทำแต่ไม่ได้ทำ), could have = "เสียโอกาส" (ทำได้แต่ไม่ได้ทำ), would have = "ผลลัพธ์สมมติ" (มักมี if-clause คู่)
- ห้ามใช้ "of" เด็ดขาด: เวลาย่อ ให้ใช้ apostrophe เสมอ (should've, could've, would've) ไม่ใช่ should of
- เช็ก V3 ทุกครั้ง: ก่อนพูดหรือเขียน ให้ทวนกริยาช่องที่ 3 ของกริยาอปกติที่ใช้บ่อย เช่น go-gone, see-seen, do-done, take-taken, write-written
- แยกกาลให้ชัด: ถ้าพูดถึงสิ่งที่ยังทำได้ในปัจจุบัน/อนาคต ใช้ should/could/would เฉย ๆ (ไม่มี have); ถ้าพูดถึงอดีตที่ผ่านไปแล้วและเปลี่ยนแปลงไม่ได้ ต้องมี have + V3 เสมอ
คำถามที่พบบ่อย (FAQ)
Q: Should have กับ Ought to have ต่างกันไหม?
A: ความหมายใกล้เคียงกันมาก ทั้งคู่ใช้ตำหนิ/เสียใจเรื่องอดีต แต่ ought to have เป็นทางการกว่าเล็กน้อยและพบน้อยกว่าในภาษาพูด
Q: เขียน "should of" ผิดไหม?
A: ผิดหลักไวยากรณ์แน่นอน ที่ถูกต้องคือ should have หรือย่อเป็น should've เท่านั้น
Q: Could have กับ May have / Might have ใช้แทนกันได้ไหม?
A: ในความหมาย "การคาดเดาความเป็นไปได้ในอดีต" ใช้ใกล้เคียงกันได้ (เช่น he could have/might have missed the bus) แต่ could have ยังมีความหมายเรื่อง "ความสามารถ/โอกาสที่พลาดไป" ซึ่ง may/might have ไม่มี
Q: จำเป็นต้องมี If-clause คู่กับ Would have เสมอไหม?
A: ไม่จำเป็นเสมอไป บางครั้งเงื่อนไขถูกละไว้ในบริบท เช่น I would have helped you. (ก็เข้าใจได้ว่า "ถ้าคุณขอ/ถ้ามีโอกาส") แต่ส่วนใหญ่มักปรากฏคู่กับ if-clause แบบที่ 3 เพื่อความชัดเจน