บทเรียนไวยากรณ์ทั้งหมด

บทที่ 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 / theyhe / 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 doingSimple: 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.
AI กำลังฟังอยู่...•4.7/5 บน App Store และ Google Play

พูดภาษาอังกฤษ กับ AI 24/7

ดาวน์โหลดแอปทันที — ให้คะแนนการออกเสียงทันที สนทนาเป็นธรรมชาติ แก้ไขเหมือนครูจริง

AI ให้คะแนนการออกเสียงผลตอบรับทันทีสนทนาเป็นธรรมชาติ