「誰」は英語で "who" 、「する・やる」は英語で "do" と言います。
例文:
Nice braids. Who did that for you? 「三つ編み可愛いね。誰がしてくれたの?」
What a mess. Who did that? 「なんて汚い部屋のこと。誰がやったの?」
ご参考になれば幸いです。
おっしゃられている内容は、
英語だと単純に、
Who did it for me?「誰が私のためにやったの?」
または、
Who did it for you?「誰があなたのためにやったの?」(「誰にやってもらったの?」はこれに当たると考えられます)
または、もっと単純に
Who did it?「誰がやったの?」
とだけ言います。
英語には、「してくれる、してもらう、してあげる」に該当する表現はありません。
例えば、
「彼が英語を教えてくれた」や「彼に英語を教えてもらった」は、
単純に
He taught me English.
「彼が私に英語を教えた」
とだけ言いますし、
「彼に英語を教えてあげた」と言いたい場合は、
単純に
I taught him English.
「私が彼に英語を教えた」
と言います。
日本語の感覚からすると無味乾燥に聞こえますが、英語は、「誰が何をどうした」という事実だけを言う言語なんですね。
以上です。
少しでも参考になれば幸いです(*^_^*)
★★大阪カフェレッスン英会話講師 KOGACHI