บทที่ 48 · ด่านที่ 4: Tense และ modal verbs
Present perfect continuous
ขั้นสูงรูปแบบและการใช้
have/has been + -ing — การกระทำที่เริ่มก่อนหน้านี้และยังดำเนินอยู่
1.รูปประโยค
Present Perfect Continuous = have / has + been + -ing โดย been ไม่เปลี่ยน มีแค่ have/has ที่เปลี่ยนตามประธาน
| I / you / we / they | he / she / it | |
|---|---|---|
| บอกเล่า | I've been waiting. | It's been raining. |
| ปฏิเสธ | I haven't been sleeping well. | She hasn't been working. |
| คำถาม | Have you been waiting long? | Has it been raining? |
| คำตอบแบบสั้น | Yes, I have. / No, I haven't. | Yes, it has. / No, it hasn't. |
ต้องมีครบทั้งสามส่วน: have/has + been + -ing ที่พลาดกันบ่อย: ลืม been (I have working) เขียน being แทน been (has being working) หรือลืมเติม -ing (has been learn)
2.ใช้เมื่อไร
1. กิจกรรมที่เริ่มในอดีตและยังดำเนินอยู่ — มักใช้กับ How long…?, for, since, all day
It's been raining since lunchtime.
ฝนตกมาตั้งแต่เที่ยงแล้ว
How long have you been learning English?
คุณเรียนภาษาอังกฤษมานานแค่ไหนแล้ว
Nam has been working for the same company since 2019.
นัมทำงานที่บริษัทเดิมมาตั้งแต่ปี 2019
2. กิจกรรมที่เพิ่งหยุด แต่ยังเห็นผลอยู่
Your eyes are red. Have you been crying?
ตาคุณแดง ร้องไห้มาเหรอ
Sorry I'm so sweaty — I've been running.
ขอโทษนะ เหงื่อท่วมเลย — ฉันเพิ่งไปวิ่งมา
3. สิ่งที่ทำซ้ำ ๆ ช่วงนี้ — ใช้กับ lately, recently, these days
I've been going to the gym a lot lately.
ช่วงนี้ฉันไปยิมบ่อยมาก
Linh hasn't been sleeping well recently.
ช่วงนี้ลิญนอนไม่ค่อยหลับ
3.เทียบกับ Present Perfect Simple
รูป continuous เน้นที่กิจกรรมและทำมานานแค่ไหน ส่วนรูป simple เน้นที่ผล — ทำอะไรเสร็จหรือได้อะไรแล้ว
| Continuous: have been doing | Simple: have done |
|---|---|
| กิจกรรม กระบวนการ | ผล สิ่งที่ทำเสร็จแล้ว |
| นานแค่ไหน: How long…?, for, since | เท่าไร / กี่…: จำนวน จำนวนครั้ง |
| อาจยังไม่เสร็จ | เสร็จแล้ว |
| I've been painting the room. | I've painted the room. |
I've been reading this book for a week. I'm on page 90.
ฉันอ่านหนังสือเล่มนี้มาหนึ่งสัปดาห์แล้ว ตอนนี้อยู่หน้า 90 (ยังไม่จบ)
I've read three books this month.
เดือนนี้ฉันอ่านหนังสือไปสามเล่มแล้ว (มีจำนวน — เสร็จแล้ว)
She's been writing emails all morning.
เธอเขียนอีเมลมาทั้งเช้า
She's written twelve emails this morning.
เช้านี้เธอเขียนอีเมลไปสิบสองฉบับแล้ว
เมื่อนับว่าเท่าไร / กี่… (three books, twelve emails, How many…?) → มักใช้รูป simple เมื่อบอกว่านานแค่ไหน (for two hours, all day, How long…?) → มักใช้รูป continuous
4.Stative verb (กริยาที่แสดงสภาพ)
Stative verb อย่าง know, like, want, believe, belong, have (= เป็นเจ้าของ) ปกติไม่ใช้รูป continuous จึงใช้ Present Perfect Simple แม้จะบอกว่านานแค่ไหนก็ตาม
I've known Hoa since we were at school.
ฉันรู้จักฮวามาตั้งแต่สมัยเรียน (ไม่ใช่: have been knowing)
How long have you had your cat?
คุณเลี้ยงแมวตัวนี้มานานแค่ไหนแล้ว (have = เป็นเจ้าของ)
กับ live, work, study, teach ใช้ได้ทั้งสองรูปและความหมายแทบไม่ต่างกัน รูป continuous อาจฟังดูชั่วคราว รูป simple ฟังดูถาวรกว่า
We've been living with my parents since March.
เราอาศัยอยู่กับพ่อแม่ของฉันมาตั้งแต่เดือนมีนาคม (ชั่วคราว)
My grandparents have lived in this village all their lives.
ปู่ย่าของฉันอาศัยอยู่ในหมู่บ้านนี้มาทั้งชีวิต (ถาวร)
5.เทียบกับ Present Continuous
Present Continuous บอกแค่ว่าเรื่องหนึ่งกำลังเกิดขึ้น พอเติมนานแค่ไหน (for, since, How long…?) ต้องใช้ Present Perfect Continuous
We're waiting for the bus.
เรากำลังรอรถเมล์
We've been waiting for the bus for forty minutes!
เรารอรถเมล์มาสี่สิบนาทีแล้ว! (ไม่ใช่: We are waiting … for forty minutes)
ภาษาไทยพูดว่า “ฉันเรียนภาษาอังกฤษมาสองปีแล้ว” โดยกริยาไม่เปลี่ยน ผู้เรียนหลายคนจึงพูดว่า “I'm learning English for two years” เพราะยังเรียนอยู่ แต่พอบอกว่านานแค่ไหน ภาษาอังกฤษต้องใช้ I've been learning English for two years
6.ข้อผิดพลาดที่พบบ่อย
It is raining since this morning.It has been raining since this morning.
since → ใช้ Perfect
I have been work here since 2020.I have been working here since 2020.
been + -ing
He has being working on this project since March.He has been working on this project since March.
have/has + been ไม่ใช่ being
I have been studying for this exam since three weeks.I have been studying for this exam for three weeks.
three weeks เป็นระยะเวลา → for
I've been knowing her for years.I've known her for years.
know เป็น stative verb → ใช้รูป simple
Did you been exercising lately?Have you been exercising lately?
คำถามวาง have/has ไว้หน้าประธาน — ไม่ใช้ did
ตัวอย่าง
- My eyes hurt. I have been looking at this screen since nine o'clock.
- How long have you been learning English?
- My phone has been ringing for five minutes. Can you answer it?
- Grandma has been cooking in the kitchen all morning, so lunch will be delicious.
