Present Perfect Continuous เน้นว่า กำลังทำมาอย่างต่อเนื่อง ตั้งแต่อดีตจนถึงตอนนี้ — บางครั้งยังไม่เสร็จ บางครั้งเพิ่งหยุดแต่ผลยังเห็นอยู่
โครงสร้าง
I/You/We/They → have been + V-ing
He/She/It → has been + V-ing
| รูปแบบ | ตัวอย่าง |
|---|---|
| บวก | I have been working all day. / She has been studying for 3 hours. |
| ปฏิเสธ | He hasn't been sleeping well lately. |
| คำถาม | Have you been waiting long? / Has she been crying? |
3 การใช้งานหลัก
1. กิจกรรมต่อเนื่องมาจนถึงตอนนี้ (ยังทำอยู่หรือเพิ่งหยุด)
I have been learning English for 2 years. (เรียนมา 2 ปีแล้ว)
She has been working here since 2019. (ทำงานมาตั้งแต่ปี 2019)
We have been waiting for an hour! (รอมาชั่วโมงแล้ว)
2. เพิ่งหยุดทำ — เห็นร่องรอย/ผลที่ยังอยู่
Your eyes are red. Have you been crying? (ตาแดง = ร่องรอย)
He's sweaty. He has been running. (เหงื่อออก = ร่องรอย)
The road is wet. It has been raining. (ถนนเปียก = ร่องรอย)
3. บอกว่าทำอะไรมาตลอดเวลาที่ผ่านมา (recently)
I have been thinking about you. (คิดถึงนะ)
What have you been doing lately? (ช่วงนี้ทำอะไรอยู่?)
Present Perfect vs Present Perfect Continuous
"I have written 3 reports." (เสร็จแล้ว 3 ฉบับ)
"She has read that book." (อ่านจบแล้ว)
ใช้กับจำนวน: 3 times, 5 emails
"I have been writing reports all day." (ทำมาตลอด ยังไม่เสร็จ)
"She has been reading for hours." (อ่านมาหลายชั่วโมง)
ใช้กับ: for / since / how long / all day
I have painted two rooms. ✓ (เสร็จแล้ว 2 ห้อง — ผลลัพธ์)
I have been painting all morning. ✓ (ทาสีมาตลอดเช้า — กระบวนการ)
for vs since — บอกระยะเวลา
for + ช่วงเวลา (ความยาว) → for 2 hours, for 3 years, for a week
since + จุดเริ่มต้น (เริ่มเมื่อไหร่) → since 2019, since Monday, since 9 am
I have been working here for 5 years. (นาน 5 ปี)
I have been working here since 2021. (ตั้งแต่ปี 2021)
She has been studying for two hours. (มา 2 ชั่วโมง)
She has been studying since lunch. (ตั้งแต่มื้อเที่ยง)
หมายเหตุ: กับ live / work / study เมื่อพูดถึงระยะเวลา เรามักใช้ Present Perfect หรือ Present Perfect Continuous ได้ทั้งคู่ ความหมายแทบไม่ต่างกัน → "I have lived here for 5 years." = "I have been living here for 5 years."
ข้อผิดพลาดที่คนไทยทำบ่อย
"I have been knowing him for years." → I have known him for years. (know = stative verb ใช้ continuous ไม่ได้)
"She has been eaten." → She has been eating. (ต้องใช้ V-ing ไม่ใช่ V3)
"How long have you been wait?" → How long have you been waiting?
1. She ___ (study) for 5 hours. She looks tired.
2. Your hands are dirty. What ___ you ___ (do)?
3. I ___ (read) this book for a week. (ยังไม่เสร็จ)
4. I ___ (read) 3 books this month. (เสร็จแล้ว 3 เล่ม)
ดูเฉลย
1. has been studying · 2. have / been doing · 3. have been reading · 4. have read
- โครงสร้าง: have/has been + V-ing
- เน้น: กระบวนการต่อเนื่อง · ระยะเวลา · ร่องรอยที่เพิ่งเกิด
- Present Perfect = ผลลัพธ์ / จำนวน · Present Perfect Continuous = กระบวนการ / ระยะเวลา
- Stative verbs (know, love, want, believe) ใช้ continuous ไม่ได้
- คำบ่งชี้: for / since / how long / all day / lately / recently