回答
こんにちは。
日本語には完了形がない(ような気がする)ので、英語の過去形と現在完了形の文をそれぞれ日本語に訳した時に、区別が付きにくくなるなと私もいつも思います。
過去形と現在完了形を区別して認識する時に、一番大切なことは、過去形は今を基準に過去のある時点であったことで、それに対して現在完了形は、今を基準にした「過去のある時点から今現在にかけて」という時の幅を持っている、ということです。つまり、現在完了形は過去のことを含みながらも、現在のことを言いたい時に使う時制なんだ、ということです。
時の矢印で考えるとわかりやすいかもしれません。
→ 過去 → <現在> → 未来 →
↑
過去形
→ 過去 → <現在> → 未来 →
|_____↑
↑
現在完了形
I went to Paris last year. 私は去年パリに行った。(今がどういうということは関係ない。)
I have been to Paris ❌last year. 去年のこと(過去のこと)は現在完了では言えないので間違い。
I have been to Paris before. 私は以前(=過去の一点ではなく過去から今にかけての期間)にパリに行ったことがある。(動詞がbeなので、過去に行ったことがあるという私が今現在存在している、というニュアンス)
I have gone to Paris now. 私は今やもうパリに行ってしまって(そしてまだ今もパリにいる)。これはある行為の過去から現在にかけて完了したということを言っています。つまり、パリに行ったことだけでなく、もうそこに行ってしまった、今もそこにいる、っていうことを言っています。
なので、
I have been to Paris ❌last year. や I have gone to Paris ❌last year. は過去の一時点のことを言っているのか今のことを言っているのか混乱しているので意味が通りませんが、
I have been to Paris three times already since last year. は言えるんですね。なぜなら、sinceは過去のある一点から今にかけて、という意味を持っていますから、last year去年という過去のある一点から今にかけて、私はもうすでにパリに3回も行っている。ということが言えるわけです。ポイントは、sinceという言葉がいついつから「今にかけて」という現在のことを言う言葉だということです。
比較のために、
I have been to Paris three times ❌during last year. を見てみますが、これは言えません。なぜなら、during last yearと言って去年という期間の間という時の幅について語っていますが、これが現在と関連する今に至るというニュアンスを含んでいないので、現在とは関係のないことを言っている、ということで、現在完了は使えない、ということになります。
===
日本語訳の場合、日本語には完了と言う時制がありませんので、時には過去形のように訳し(行為の完了を表す場合など)、時には現在形(継続を表す場合など)のように訳しながら、ことばを添えて完了や継続などのニュアンスを加えると、現在完了形のニュアンスが何とか伝わるのではないかと思います。
いかがでしょうか。