日本語学習者の皆さんが迷いやすい「あげる・くれる・もらう」の使い分けを、わかりやすくまとめました。内容は、私がレッスンで実際に教えた生徒さんの言い間違いや質問をもとにしていますので、初級から中級の方にも役立てていただけると思います。
日本語の授受表現「あげる・くれる・もらう」は、同じ出来事でも「誰の視点から見るか」によって使う動詞が変わる、日本語らしい独特な表現です。

夏休みに友達と日本に旅行に行きます。友達がホテルと飛行機を予約しました。

お友達がホテルと飛行機を予約してくれたんですね。

友達がホテルと飛行機を予約してくれました。
「友達がホテルと飛行機を予約しました」は文法的には正しいです。でも、この文脈の場合は、「予約してくれました」と言うほうが自然です。なぜでしょうか。下で解説します。

結婚式の招待状を送ったら、みんなが返事しました。

みんなが返事してくれたんですね。

みんなが返事してくれました。
「みんなが返事しました」は文法的には正しいです。でも、この文脈でも、「返事してくれました」と言うほうが自然です。なぜでしょうか。下で解説します。

私はパソコンが欲しいでしたから、私は母に「パソコンを買ってください」と言いました。母はパソコンを買いました。

リサさんは、パソコンが欲しかったんですね。それで、お母さんにパソコンを買ってもらったんですね。

はい、母にパソコンを買ってもらいました。
「母はパソコンを買いました」は文法的には正しいです。でも、この文脈の場合は、「母にパソコンを買ってもらいました」が自然です。なぜでしょうか。「くれました」「もらいました」の使い分けは下で解説します。
日本語では、物や行為のやりとりを表すときに、「あげる」「くれる」「もらう」といった動詞を使います。
英語では、「もらう」は “to receive”、「あげる」と「くれる」は “to give”と翻訳されることがよくありますが、日本語ではニュアンスや使い方に違いがあります。
ここでは、それぞれの意味や使い方をわかりやすく整理し、例文も紹介します。
(A=話し手、B=話し手の身近な人、C=他の人)
■ あげる
・物や行為を誰かのために渡す
与える人 → 受け取る人
A・B・C → B・C
■ くれる
・物や行為を誰かに自主的に渡す
与える人 → 受け取る人
B・C → A・B
■ もらう
・物や行為を誰かにお願いして受け取る
受け取る人 ← 与える人
A・B・C → B・C
「あげる」「くれる」「もらう」は、主語によって使い分けが必要です。
主語が、A=話し手、B=話し手の身近な人、C=他の人の場合の3種類で考えます。
今回は、わかりやすくするために、A=私、B=母・兄、C=友達と表すことにします。
あげる(あげます)の意味と使い方
「あげる」は、与える人が、受け取る人(私以外)に物を渡すときに使います。
「動詞のて形+あげる」は、誰かに行為を「あげる」ときに使います。誰かのために~するというニュアンスを含み、状況によっては、少し上からのニュアンスになることがあります。
「あげる」の例文 to give
私は、兄にプレゼントをあげました。

兄は母に花をあげました。

「Vてあげる」の例文
私は兄にプレゼントを買ってあげました。

「私は兄にプレゼントを買いました」は買った事実を言うだけの表現です。「私は兄にプレゼントを買ってあげました」には、兄の為に買ったというニュアンスが含まれます。
兄は母に花を買ってあげました。

兄は母に花を買ってあげた
「兄は母にプレゼントを買いました」は買った事実を言うだけの表現です。「兄は母にプレゼントを買ってあげました」には、母の為に買ったというニュアンスが含まれます。
身内同士の行為でも、目的が「誰かのため」なら「Vてあげる」を使うのは自然です。
くれる(くれます)の意味と使い方
「くれる」は、与える人(私以外)が、受け取る人(私と私の身近な人)に自主的に物を渡すときに使います。
「動詞のて形+くれる」は、誰かが行為を自発的に「くれる」ときに使います。「くれる」には、感謝や敬意の気持ちが含まれます。
「くれる」の例文 to give
兄は私にケーキをくれました。
あには わたしに けーきを くれました。

友達は兄に本をくれました。
ともだちは あにに ほんを くれました。

「友達は兄に本をあげました」は適切ではありません。感謝の気持ちを含めたいので「くれました」が適切です。
「Vてくれる」の例文
兄は私にケーキを買ってくれました。
あには わたしに けーきを かってくれました。

「兄は私にケーキを買いました」は買った事実を述べるだけなので、感謝の気持ちを含めたい場合は「買ってくれました」が適切です。
友達は兄に本を買ってくれました。
ともだちは 兄に ほんを かってくれました。

「友達は兄に本を買いました」は適切ではありません。感謝の気持ちを含めたいので「買ってくれました」が適切です。
もらう(もらいます)の意味と使い方
「もらう」は、受け取る人が、与える人(私以外)から物を受け取るときに使います。
「動詞のて形+もらう」は、誰かにお願いして行為を「もらう」ときに使います。「もらう」には、感謝や敬意の気持ちが含まれます。
「くれる」と「もらう」は、どちらも感謝や敬意の気持ちが含まれますが、「くれる」の主語は「与える人」(自発的にする人)、「もらう」の主語は「受け取る人」(お願いした人)という違いがあります。
「もらう」の例文 to receive
私は兄にゲームをもらいました。
わたしは あにに げーむを もらいました。

兄は友達から手紙をもらいました。
あには ともだちから てがみを もらいました。

「Vてもらう」の例文
私は兄にゲームを買ってもらいました。
わたしは あにに げーむを かってもらいました。

私は兄に「ゲームを買ってください」とお願いしました。
兄は友達に手紙を書いてもらいました。
あには ともだちに てがみを かいてもらいました。

兄は友達に「手紙を書いてください」とお願いしました。
Vてあげる・Vてくれる・Vてもらう の比較
「動詞のて形+あげる」は、人に行為を「あげる」ときに使います。誰かのために~するというニュアンスを含み、状況によっては、少し上からのニュアンスになることがあります。
「動詞のて形+くれる」は、誰かが自発的に行為を「くれる」ときに使い、「動詞のて形+もらう」は、誰かにお願いして行為を「もらう」ときに使います。
また、「感謝・敬意の気持ち」を含めるときに「Vてくれる」「Vてもらう」を使います。「Vてくれる」と「Vてもらう」の違いは、その行為が与える人の自発的な行為のとき「Vてくれる」(主語は与える人)、受け取る人がお願いした行為のとき「Vてもらう」(主語は受け取る人)を使います。
英語:to give
主語・主題:与える人
含まれる気持ち:「誰かのために」という気持ち。状況によっては、恩に着せる・上から目線の気持ち(benefactive expression:恩恵の表現)
・私は 兄に プレゼントを 買ってあげました。
・兄は 母に 花を 買ってあげました。
英語:to give
主語・主題:与える人
含まれる気持ち:感謝・敬意の気持ち
ポイント:与える人の自発的な行為
・兄は 私に ケーキを 買ってくれました。
・友達は 兄に 本を 買ってくれました。
英語:to receive
主語・主題:受け取る人
含まれる気持ち:感謝・敬意の気持ち
ポイント:受け取る人がお願いした行為
・私は 兄に ゲームを 買ってもらいました。
・兄は 友達に 手紙を 書いてもらいました。
あげる・くれる・もらう の違いをもう一度確認


夏休みに友達と日本に旅行に行きます。友達がホテルと飛行機を予約しました。

「友達がマイクさんのためにホテルと飛行機を予約した」、マイクさんはお友達に感謝しているので「友達がホテルと飛行機を予約してくれました」が自然ですね。

結婚式の招待状を送ったら、みんなが返事しました。

「みんなが返事をした」ことにリサさんは感謝しているので「みんなが返事をくれました」が自然ですね。

私はパソコンが欲しいでしたから、私は母に「パソコンを買ってください」と言いました。母はパソコンを買いました。

リサさんがお母さんにお願いしたので、お母さんはパソコンを買いました。リサさんはお母さんに感謝しているので「お母さんにパソコンを買ってもらいました」が自然ですね。
また、「パソコンが欲しいでしたから」についてですが、「欲しい」は「い形容詞」なので、「欲しいでした」→「欲しかったです」がいいですね。「パソコンが欲しいでしたから」は「パソコンが欲しかったので」と言うといいと思います。
練習問題(Vてあげる・Vてくれる・Vてもらう)
練習問題(Vてあげる)
以下の文章を【誰かのためにしたという気持ち】(to do for someone)を含めた表現に直してください。
私は、子どもにケーキを買ってあげました。
エマさんは、キムさんに英語を教えてあげました。
▶「エマさんは、キムさんに英語を教えました」は、英語を教えるという事実を述べているだけの表現です。「エマさんは、キムさんに英語を教えてあげました」には、話し手の気持ちとして、エマさんはキムさんのために親切心で教えたというニュアンスが含まれます。
「教えました」
→ Emma taught Kim English.
「教えてあげました」
→ Emma kindly taught Kim English. や
→ Emma did Kim a favor by teaching her English.
→ (※ちょっと恩を着せるニュアンスがあります)
私は、エマさんの荷物を運んであげました。
練習問題(Vてくれる・Vてもらう)
以下の文章を【感謝や敬意の気持ち】を含めた表現に直してください。
・子どものとき、母は私に本を読んでくれました。(母の自発的な行為)
・子どものとき、私は母に本を読んでもらいました。(私が母にお願いした行為)
・エマさんは、私の妹に英語を教えてくれました。(エマさんの自発的な行為)
・私の妹は、エマさんに英語を教えてもらいました。(妹がエマさんにお願いした行為)
・エマさんは、私にノートを貸してくれました。(エマさんの自発的な行為)
・私は、エマさんにノートを貸してもらいました。(私がエマさんにお願いした行為)
・エマさんは、母にスマホの使い方を教えてくれました(エマさんの自発的な行為)
・母は、エマさんにスマホの使い方を教えてもらいました(母か私がエマさんにお願いした行為)
応用問題(Vてさしあげる・Vてくださる・Vていただく)
与える人または受け取る人に敬意を表したいときに使う表現です。
「さしあげる」
=「あげるの敬語」
・受け取る人に敬意を表す
「くださる」
=「くれるの敬語」
・与える人に敬意を表す
「いただく」
=「もらうの敬語」
・与える人に敬意を表す
以下の文章を【感謝や敬意の気持ち】を含めた敬語表現に直してください。
・先生は、私の作品を見てくださいました。(先生の自発的な行為)←「見てくれました」の敬語表現
・私は、先生に作品を見ていただきました。(私が先生にお願いした行為)←「見てもらいました」の敬語表現
・私は、母に「エマさんのお祖母さんを駅まで送って差し上げなさい」と言われました。←「送ってあげなさい」の敬語表現
宿題(Vてあげる・Vてくれる・Vてもらう)
練習問題です。挑戦してみてくださいね。良かったら、答え合わせを私と一緒にしてみませんか?私はオンラインで日本語講師をしています。
ex.私は、彼に教科書を貸して( もらいました/あげました )。
①彼は、私に教科書を貸して( )。
②私は、エマさん( )旅行の写真を見せて( )。
③キムさんは、京都( )連れて行って( )。
④エミリーさんは、宿題( )手伝って( )。
⑤私は、日本人の友達( )北海道を案内して( )。
⑥子どものとき、母はよくケーキを焼いて( )。
⑦コンビニで友達( )小銭を貸して( )。
⑧この料理は全部自分で作ったんですか。…いいえ、母( )手伝って( )。
⑨電車で帰ったんですか。…いいえ。友だちが車で送って( )。
⑩私は、友だち( )うちまで送って( )。
⑪母は、米と野菜を送って( )。

