「どのくらいの間日本にいたんですか?」ということは、つまり今は日本に住んでいらっしゃらないということですよね?
「How long have you lived in Japan?」 と現在完了形を使った場合は、相手が【今も日本に住んでいる】という前提で質問していることになってしまいます。今はもう日本に住んでいないということなら単純に過去形でいいと思います。
過去完了形を使うとしたら、「How long had you lived in Japan before you came to America?(アメリカに来る前はどれぐらい日本に住んでいたんですか?)」など、日本にいたのはアメリカに来た時よりも前であることを区別するために自制を低めて have you lived...の代わりに had you lived.. となります。
説明が長くなりましたが、会話ではあまり難しく考えず、今は住んでいないのなら過去形で聞けばオッケーです!
SHINJIROさん、こんにちは。
ご質問ありがとうございます。
過去形で大丈夫だと思いますよ。
How long were you in Japan?→日本にはどのくらいの間いらっしゃったのですか。
〈例〉
"How long were you in New York?"→〔現在はニューヨークにいない人に対して〕「ニューヨークにはどのくらいの間いらっしゃったのですか」。
"Three years."→「3年です」。
過去形は現在完了形とよく比較されますが、私はこんな風に考えています。
・現在完了形は、過去の出来事を現在と結びつけて伝える。
・過去形は、過去の出来事を過去の出来事として、現在と切り離して伝える。過去の出来事を冷静に、淡々と、(遠くの物を眺めるような感覚で)、伝える。
〈例〉
"How long have you been in New York?"→〔現在もニューヨークにいる人に対して〕「ニューヨークにいらっしゃってどのくらいになりますか」。
"Three years."→「3年です」。
過去完了形についてですが、多くの場合、過去形で代用することができます。
〈例〉
We were together for about 10 years before we got married.→付き合い始めて10年くらいで結婚しました。
We had been together for about 10 years before we got married.→付き合い始めて10年くらいで結婚しました。
上の二つの文章は基本的には同じ意味です。
お力になれましたら幸いです。
ありがとうございました。