Bỏ qua tới nội dung
The Real IELTSLuyện miễn phí

B1 · Thì · Bài 2/21

Present perfect continuous – hiện tại hoàn thành tiếp diễn

Thì hiện tại hoàn thành tiếp diễn have / has been + V-ing: việc kéo dài đến nay, việc vừa dừng còn dấu hiệu, và cách phân biệt với thì hoàn thành.

Sau bài này bạn sẽ

  • chia đúng have / has been + V-ing ở câu khẳng định, phủ định và câu hỏi.
  • dùng thì này cho việc kéo dài đến nay (for, since, How long) và việc vừa dừng còn để lại dấu hiệu.
  • phân biệt với hiện tại hoàn thành và không dùng tiếp diễn với động từ trạng thái.

Khi nào dùng?

Công thức: have / has been + V-ing. Dùng khi nói:

  • Việc bắt đầu trong quá khứ, vẫn đang tiếp diễn, nhấn mạnh bao lâu (for, since, How long, all day): I have been learning English for eight years.
  • Việc vừa mới dừng, còn để lại dấu hiệu: Your eyes are red. Have you been crying?

Công thức

Dạng câuCông thứcVí dụ
Khẳng địnhS + have / has been + V-ingShe has been working since 8 a.m.
Phủ địnhS + haven't / hasn't been + V-ingThey haven't been sleeping well.
Nghi vấnHave / Has + S + been + V-ing?Have you been waiting long?
Trả lời ngắnYes, S + have / has. No, S + haven't / hasn't.Yes, I have. / No, I haven't.

Hoàn thành hay hoàn thành tiếp diễn?

  • Hoàn thành (have + V3) nhấn mạnh kết quả, số lượng: I have written two essays this week.
  • Hoàn thành tiếp diễn nhấn mạnh quá trình, thời gian, việc có thể chưa xong: I have been writing essays all morning.
  • Có số lượng, số lần (how many, three times) → chỉ dùng hoàn thành.
  • Động từ trạng thái (know, believe, like, want, own, belong, understand, have = sở hữu) không dùng tiếp diễn: I have known her for years, không nói have been knowing.
  • Với live, work, study, teach + for / since, hai thì thường đều đúng, nghĩa gần như nhau: She has lived / has been living here since 2019.

Ví dụ

  • I've been learning English for about eight years.

    Tôi học tiếng Anh được khoảng tám năm rồi.vẫn đang học, nhấn mạnh thời gian

  • She's been working as a nurse since 2017.

    Cô ấy làm y tá từ năm 2017.since + mốc

  • It's been raining all week, so the streets are flooded.

    Trời mưa cả tuần nay nên đường ngập.all week: kéo dài đến nay

  • You look tired. Have you been sleeping badly?

    Trông bạn mệt quá. Dạo này bạn ngủ không ngon à?dấu hiệu ở hiện tại

  • I've been reading a book about climate change. I've read half of it so far.

    Tôi đang đọc một cuốn sách về biến đổi khí hậu. Đến giờ tôi đọc được một nửa.quá trình (tiếp diễn) và kết quả (hoàn thành)

  • How long have you been living in Hanoi?

    Bạn sống ở Hà Nội bao lâu rồi?câu hỏi How long

  • More and more young people have been choosing to work from home recently.

    Gần đây ngày càng nhiều người trẻ chọn làm việc tại nhà.xu hướng gần đây — IELTS Writing

  • We haven't been getting much sleep since the baby was born.

    Từ khi em bé chào đời, chúng tôi không ngủ được mấy.phủ định

  • I've known my best friend for fifteen years.

    Tôi quen bạn thân được mười lăm năm rồi.know là động từ trạng thái → không dùng tiếp diễn

  • My hands are dirty because I've been repairing my bike.

    Tay tôi bẩn vì tôi vừa sửa xe đạp.việc vừa dừng, còn dấu hiệu

Lỗi hay gặp

  • Sai: I am waiting for you for an hour.

    Đúng: ✓ I have been waiting for you for an hour.

    Có for và việc kéo dài đến nay → hoàn thành tiếp diễn, không dùng hiện tại tiếp diễn.

  • Sai: I have been knowing him since 2010.

    Đúng: ✓ I have known him since 2010.

    know là động từ trạng thái, không có dạng tiếp diễn.

  • Sai: She has been writing three emails this morning.

    Đúng: ✓ She has written three emails this morning.

    Nói số lượng đã xong (three emails) → dùng hoàn thành.

  • Sai: He has working here since May.

    Đúng: ✓ He has been working here since May.

    Thiếu been: công thức là has been + V-ing.

Bài tập có đáp án

Tự làm trước, rồi bấm “Xem đáp án” để đối chiếu và đọc giải thích.

  1. Câu 1 · Chọn đáp án

    Minh is exhausted. He ______ football in the sun for two hours.

    • A. is playing
    • B. has been playing
    • C. plays
    Xem đáp ánẨn đáp án

    has been playing

    for two hours: kéo dài đến lúc nói và để lại dấu hiệu (mệt) → has been playing. is playing không đi với for + khoảng thời gian đến nay.

  2. Câu 2 · Chọn đáp án

    I ______ Mr Tuan for ten years. He was my first English teacher.

    • A. have been knowing
    • B. have known
    • C. know
    Xem đáp ánẨn đáp án

    have known

    know là động từ trạng thái → không dùng tiếp diễn; for ten years đến nay → have known.

  3. Câu 3 · Chọn đáp án

    Your shoes are wet. ______ in the rain?

    • A. Have you been walking
    • B. Do you walk
    • C. Have you walking
    Xem đáp ánẨn đáp án

    Have you been walking

    Giày ướt là dấu hiệu của việc vừa làm → Have you been walking. Have you walking thiếu been.

  4. Câu 4 · Điền vào chỗ trống

    Why are you out of breath? ______ you been ______ (run)?

    Xem đáp ánẨn đáp án

    Have / running

    Câu hỏi hoàn thành tiếp diễn: Have + you + been + V-ing (run → running, gấp đôi n).

  5. Câu 5 · Điền vào chỗ trống

    So far, I ______ (read) four books this month.

    Xem đáp ánẨn đáp án

    have read

    Có số lượng đã xong (four books) → hiện tại hoàn thành have read, không dùng tiếp diễn.

  6. Câu 6 · Điền vào chỗ trống

    My aunt ______ (own) this café since 2021.

    Xem đáp ánẨn đáp án

    has owned

    own (sở hữu) là động từ trạng thái → has owned, không dùng has been owning.

  7. Câu 7 · Sắp xếp thành câu

    Chúng tôi đã đợi xe buýt được hai mươi phút rồi.

    beenfor twenty minuteshavewaitingwefor the bus

    Xem đáp ánẨn đáp án

    We have been waiting for the bus for twenty minutes.

    Khẳng định: S + have been + V-ing; wait for the bus, cụm thời gian thường đứng cuối.

  8. Câu 8 · Sắp xếp thành câu

    Bạn học tiếng Anh được bao lâu rồi?

    havebeenhow longlearningyouEnglish

    Xem đáp ánẨn đáp án

    How long have you been learning English?

    Câu hỏi: How long + have + chủ ngữ + been + V-ing?

  9. Câu 9 · Tìm và sửa lỗi

    Tìm và sửa lỗi sai.

    Hoa has studying for her exam since Monday.

    Xem đáp ánẨn đáp án

    has studying → has been studying

    Thiếu been: has been studying. Với study + since, has studied cũng đúng.

  10. Câu 10 · Tìm và sửa lỗi

    Tìm và sửa lỗi sai.

    She is working here for three years now.

    Xem đáp ánẨn đáp án

    is working → has been working

    for three years now: kéo dài đến nay → has been working (hoặc has worked), không dùng hiện tại tiếp diễn.

Làm bài kiểm tra có chấm điểm của bài này và lưu tiến độ trên Mock Test.

Kiểm tra bài học

Câu hỏi thường gặp

Khi nào hai thì hoàn thành và hoàn thành tiếp diễn dùng thay nhau được?
Với live, work, study, teach + for / since, cả hai đều đúng. Dạng tiếp diễn nhấn mạnh quá trình hoặc tính tạm thời hơn một chút.
Động từ nào không dùng dạng tiếp diễn?
Động từ trạng thái như know, believe, understand, like, want, need, own, belong; have khi nghĩa là sở hữu. Nhưng have nghĩa là ăn, trải qua thì dùng được: I've been having problems with my laptop.

Bài ngữ pháp liên quan

Luyện Present perfect continuous trên Mock Test

Kiểm tra bài học có chấm điểm, câu sai tự vào lịch ôn tập, tiến độ lưu khi đăng nhập — miễn phí.

Luyện ngay trên Mock Test