Present Perfect Continuous ใช้พูดถึงการกระทำที่เริ่มต้นในอดีตและยังคงดำเนินต่อเนื่องมาจนถึงปัจจุบัน โดยเน้นระยะเวลาหรือความต่อเนื่องของการกระทำ โครงสร้างคือ ประธาน + have/has + been + V-ing เช่น "I have been studying English for five years." (ฉันเรียนภาษาอังกฤษมาห้าปีแล้ว และยังเรียนอยู่)
จุดที่คนไทยมักงงคือ Tense นี้ผสมทั้งแนวคิด Present Perfect (เชื่อมอดีตกับปัจจุบัน) และ Continuous (เน้นความต่อเนื่อง) เข้าด้วยกัน ซึ่งภาษาไทยไม่มีโครงสร้างแบบนี้เลย เราพูดง่าย ๆ ว่า "เรียนมาห้าปีแล้ว" คำเดียวจบ ไม่ต้องมีคำช่วยซ้อนกันสามชั้นแบบภาษาอังกฤษ
โครงสร้าง Present Perfect Continuous
| ชนิดประโยค | โครงสร้าง | ตัวอย่าง |
|---|---|---|
| บอกเล่า | ประธาน + have/has + been + V-ing | She has been working here for three years. |
| ปฏิเสธ | ประธาน + have/has + not + been + V-ing | I haven't been sleeping well lately. |
| คำถาม | Have/Has + ประธาน + been + V-ing ? | Have you been waiting long? |
| คำถาม Wh- | Wh- + have/has + ประธาน + been + V-ing ? | How long have you been living here? |
ใช้ has กับประธานเอกพจน์ (he, she, it) และ have กับประธานอื่น ๆ เหมือนกฎของ Present Perfect ธรรมดา
ใช้ Present Perfect Continuous ตอนไหน (Usage)
- การกระทำที่เริ่มในอดีตและยังดำเนินต่อเนื่องถึงตอนนี้ เน้นระยะเวลา — I have been waiting for you for two hours.
- การกระทำที่เพิ่งจบไปไม่นาน แต่ผลของมันยังเห็นชัดในปัจจุบัน — I'm tired because I have been running. (วิ่งเสร็จแล้ว แต่ยังเหนื่อยอยู่ตอนนี้)
- เน้นว่ากิจกรรมนี้เกิดขึ้นซ้ำ ๆ หรือต่อเนื่องในช่วงที่ผ่านมา — She has been calling me every day this week.
- ถามหรือบอกระยะเวลาของกิจกรรมที่ยังไม่จบ — How long have you been learning English?
คำสัญญาณเวลา (Time Signal Words)
for (+ ระยะเวลา เช่น for 3 years), since (+ จุดเริ่มต้น เช่น since 2020), lately, recently, how long...?, all day/week/month
ข้อผิดพลาดที่คนไทยมักทำกับ Present Perfect Continuous
1. สับสนระหว่าง Present Perfect Continuous กับ Present Perfect ธรรมดา
นี่คือจุดที่คนไทยงงมากที่สุด เพราะแปลไทยออกมาเหมือนกันคือ "...มา...แล้ว" ความต่างจริง ๆ คือ Present Perfect Continuous เน้นความต่อเนื่อง/ระยะเวลาของการกระทำ ในขณะที่ Present Perfect ธรรมดาเน้นผลลัพธ์หรือจำนวนครั้ง
| Present Perfect | Present Perfect Continuous | |
|---|---|---|
| เน้น | ผลลัพธ์ / จำนวนครั้ง | ระยะเวลา / ความต่อเนื่อง |
| ตัวอย่าง | I have written three emails today. (เน้นจำนวนที่เสร็จแล้ว) | I have been writing emails all morning. (เน้นว่าทำต่อเนื่องมานาน) |
| ตัวอย่าง | She has read that book. (เน้นว่าอ่านจบแล้ว/มีประสบการณ์) | She has been reading that book for two weeks. (เน้นว่ายังอ่านอยู่ ยังไม่จบ) |
- ผิด (ต้องการเน้นระยะเวลาต่อเนื่อง): I have lived here for ten years and I still live here now, working continuously — ในกรณีนี้จริง ๆ ทั้งสองแบบใช้ได้กับ live เพราะเป็นสภาวะ แต่กับกริยาการกระทำต้องระวัง
- ตัวอย่างชัดเจน: I have written a report. (เสร็จแล้ว หนึ่งฉบับ) vs. I have been writing a report all day. (ยังทำอยู่ เน้นว่าใช้เวลานาน)
2. ลืมใส่ been
คนไทยมักพูดแค่ have/has + V-ing โดยลืมคำว่า been ซึ่งเป็นหัวใจของโครงสร้างนี้
- ผิด: I have working here for five years.
- ถูก: I have been working here for five years.
3. ใช้กับ Stative Verbs
เหมือนกับ Present Continuous ธรรมดา กริยาแสดงสภาวะ (know, like, love, believe, own, understand) ไม่ใช้รูป -ing แม้จะอยู่ในโครงสร้าง Perfect Continuous
- ผิด: I have been knowing him for years.
- ถูก: I have known him for years. (ใช้ Present Perfect ธรรมดาแทน เพราะ know เป็น stative verb)
4. สับสน for กับ since
คนไทยมักใช้ for และ since สลับกัน เพราะภาษาไทยใช้คำว่า "ตั้งแต่" และ "เป็นเวลา" ในบริบทที่คล้ายกันมาก
- for ใช้กับช่วงระยะเวลา (a period): for two hours, for five years, for a long time
-
since ใช้กับจุดเริ่มต้นที่ชัดเจน (a point in time): since 2015, since Monday, since I was young
-
ผิด: I have been studying English since three years.
- ถูก: I have been studying English for three years. / I have been studying English since 2021.
5. ใช้ Present Perfect Continuous กับเหตุการณ์ที่จบไปแล้วอย่างสมบูรณ์และไม่เกี่ยวกับปัจจุบันเลย
ถ้าการกระทำนั้นจบไปแล้วโดยสิ้นเชิงและไม่มีผลต่อเนื่องถึงปัจจุบัน ควรใช้ Past Simple แทน
- ผิด: I have been finishing my homework yesterday.
- ถูก: I finished my homework yesterday.
เคล็ดลับสำหรับผู้เรียนชาวไทย
- จำสูตร "have/has + been + V-ing" เป็นชุดสามคำ ห้ามลืมคำว่า been เด็ดขาด เพราะเป็นตัวบ่งบอกว่าเป็น Continuous ไม่ใช่ Simple
- ถามตัวเองว่า "ประโยคนี้กำลังเน้นระยะเวลาที่ทำต่อเนื่องมาหรือเปล่า" ถ้าใช่ ให้ใช้ Present Perfect Continuous ถ้าเน้นแค่ผลลัพธ์หรือจำนวนครั้ง ใช้ Present Perfect ธรรมดาพอ
- จำคู่คำ for + ระยะเวลา และ since + จุดเริ่มต้น ให้แม่น อาจฝึกแต่งประโยคคู่กันทุกครั้งที่เจอคำนี้
- ระวัง Stative Verbs เสมอ ไม่ว่าจะอยู่ใน Tense ไหนก็ห้ามเติม -ing
- ฝึกใช้คำถาม "How long have you been...?" บ่อย ๆ เพราะเป็นรูปแบบคำถามที่ใช้บ่อยที่สุดของ Tense นี้ในชีวิตจริง
ตัวอย่างประโยค Present Perfect Continuous
- I have been learning English for six years.
- She has been working at this company since 2018.
- How long have you been waiting here?
- They have been playing football since this morning.
- He has been feeling sick for a few days. (feel ในความหมายทางกายภาพใช้ continuous ได้)
- We haven't been sleeping well because of the noise.
- Have you been exercising regularly?
- My eyes hurt because I have been reading for three hours.
- It has been raining all day.
- She has been trying to call you since this morning.
- I have been thinking about changing my job recently.
- How long has he been living in Bangkok?
คำถามที่พบบ่อย (FAQ)
Q: "I have lived here for 10 years" กับ "I have been living here for 10 years" ต่างกันไหม?
A: ทั้งสองแบบถูกต้องและความหมายใกล้เคียงกันมากเพราะ live เป็นกริยาที่ใช้ได้ทั้งสองรูปแบบ แต่ Present Perfect Continuous จะเน้นความรู้สึกว่า "เป็นกระบวนการที่ดำเนินมาต่อเนื่อง" ส่วน Present Perfect ธรรมดาเน้นข้อเท็จจริงตรง ๆ มากกว่า
Q: ทำไมห้ามใช้ know กับ have been knowing?
A: เพราะ know เป็น Stative Verb แสดงสภาวะความรู้ ไม่ใช่การกระทำที่มีความต่อเนื่องแบบมองเห็นได้ ต้องใช้ Present Perfect ธรรมดาเป็น "I have known him for years."
Q: Present Perfect Continuous ใช้พูดถึงเหตุการณ์ที่เพิ่งจบไปได้ไหม?
A: ได้ ถ้าผลของมันยังเห็นชัดอยู่ในปัจจุบัน เช่น "Why are you all wet? — I have been swimming." (ว่ายน้ำเสร็จแล้ว แต่ยังเปียกอยู่ตอนนี้)