Quick answer
Use the present perfect simple (have done) to focus on a result or a finished action — how much, how many, or the fact that it is complete: I have written three emails. Use the present perfect continuous (have been doing) to focus on the activity itself, how long it lasts, or that it is still going on: I have been writing emails all morning. The key question is: are you pointing at the finished result, or at the ongoing activity?
In depth
Both tenses connect the past to now, but they highlight different things.
The simple form looks at completion and results. We use it when:
- we say how many or how much: She has read four books this month.
- the action is finished and we see the effect now: He has cleaned the car. (it's shiny now)
- we use words like already, just, yet, ever, never: I have just finished.
The continuous form looks at the activity and its duration. We use it when:
- we say how long an activity has lasted: They have been waiting for an hour.
- the activity is still happening or has only just stopped: Sorry I'm late — I've been driving all day.
- we explain a visible present situation: Your eyes are red. Have you been crying?
Often both are possible, but the meaning shifts:
- I've painted the kitchen. (it's done — result)
- I've been painting the kitchen. (that's why I'm covered in paint — activity)
Two important points:
- State verbs (know, be, have, like, believe, own) are normally NOT used in the continuous. Say I have known her for years, not I have been knowing her.
- For a result/quantity, the simple is required: I've read ten pages, not I've been reading ten pages.
With for and since, both forms appear, but the continuous stresses the ongoing nature: I've lived here for ten years (fact) vs. I've been living here for ten years (emphasis on the duration).
Right vs. wrong
| Wrong | Right | Why |
|---|---|---|
| I have been finishing my report. | I have finished my report. | A completed action with a clear result needs the simple, not the continuous. |
| She has written letters for two hours. | She has been writing letters for two hours. | To stress duration of an ongoing activity, use the continuous. |
| I have been reading three books this week. | I have read three books this week. | A count of completed things ("three books") needs the simple. |
| I have been knowing him since 2010. | I have known him since 2010. | State verbs like know are not used in the continuous. |
| He has worked all morning, that's why he's tired. | He has been working all morning, that's why he's tired. | A present situation caused by a recent ongoing activity needs the continuous. |
| How long have you painted that picture? | How long have you been painting that picture? | "How long" with an activity in progress takes the continuous. |
| They have been cleaning the whole house already. | They have cleaned the whole house already. | Already signals completion, so use the simple. |
| I've been having two cups of coffee today. | I've had two cups of coffee today. | Have meaning "consume/possess" here is a state-like result, so use the simple with a quantity. |
Common pitfalls
- Using the continuous when you give a number or amount of completed things (
I've been writing three emails→ I've written three emails). - Putting state verbs (know, believe, own, like) into the continuous form.
- Choosing the simple when the point is how long an activity has been going on, or that it is still happening.
- Forgetting that the continuous can explain a present result/appearance (She's out of breath — she's been running), not just duration.
Practice drills
8 katas · check yourself before you look
- Choose
Look at your hands! (Have you fixed / Have you been fixing) the car?
- Fill the gap
I'm exhausted because I _____ (study) all day.
- Correct the error
She has been reading five novels so far this year.
- Choose
We (have known / have been knowing) each other since university.
- Fill the gap
He _____ (write) twelve pages of his essay already.
- Transform
Rewrite to stress the duration of the activity: I started living in Madrid ten years ago and I still live here.
- Correct the error
How long have you waited for the bus?
- Choose
I (have cooked / have been cooking) dinner, so it's ready now.
Show answers
Have you been fixing — the dirty hands point to the ongoing activity, not a finished result.
have been studying — emphasis on the duration of the activity causing present tiredness.
She has read five novels so far this year. — a count of completed things ("five novels") needs the simple.
have known — know is a state verb and is not used in the continuous.
has written — already with a quantity ("twelve pages") signals a completed result, so use the simple.
I have been living in Madrid for ten years. — the continuous with for stresses the ongoing duration.
How long have you been waiting for the bus? — "How long" with an activity in progress takes the continuous.
have cooked — the focus is on the finished result ("it's ready now"), so use the simple.