• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル関数について!!)

エクセル関数で手数料を算出する方法

このQ&Aのポイント
  • エクセル関数を使用して、買受金額に応じた手数料を算出する方法を紹介します。
  • 5万円以下の買受金額の場合、手数料は買受金額×0.1となります。
  • 買受金額が5万円を超えて10万円以下の場合は、手数料は(買受金額-50,000)×0.1+5,000円となります。

質問者が選んだベストアンサー

  • ベストアンサー
  • terakura
  • ベストアンサー率20% (4/20)
回答No.4

私もVLOOKUP関数で最後の引数である「検索の型」をTRUEにする方法が一番シンプルかと思います。 そういう意味ではNo3の方と同じなのですが、1点違っているところがあると思い補足させていただきます。 検索の型をTRUE(省略できます)にする場合、必ず最小値「0」が一覧表に必要となります。 したがってNo3の方法ですと、50000円だった場合に正しく値を返さない気がします。 Sheet2のA1~D9に以下のような表を作ります。    0   0 0.1  0 50001 50000 0.1 5000 100001 100000 0.1 10000 200001 200000 0.1 20000 300001 300000 0.07 30000 500001 500000 0.02 44000 1000001 1000000 0.01 54000 1500001 1500000 0.007 59000 3000001 3000000 0.005 69500 そしてSheet1のA1に買受金額を入力します。 最後に、Sheet1のB1に以下の式を入力します。 =(A1-VLOOKUP(A1,Sheet2!$A$1:$D$9,2))*VLOOKUP(A1,Sheet2!$A$1:$D$9,3)+VLOOKUP(A1,Sheet2!$A$1:$D$9,4) 頑張ってくださいね。

noname#8614
質問者

お礼

 ありがとうございました。無事に手数料を算出することに成功いたしました。私は関数がどうも苦手で上達できません。こういった場で自分自身を磨いていこうと思っているので、これからも何か分からないことがあれば、お力添え頂ければ幸いです。本当に助かりました。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

●入力が1箇所の場合(請求書などで買受金額が(例えば A1に決まっている場合, そしてA1の値が変化する場合) (作表) Vlookupの表を作ります。(どこでも良いが)D1:E9に付いてD1:D9は、金額刻みを下記にします。 0 50000 100000 200000 300000 500000 1000000 1500000 3000000 その右列にE1:E9に =A1*0.1 =(A1-50000)*0.1+5000 =(A1-100000)*0.1+10000 =(A1-200000)*0.1+20000 =(A1-300000)*0.07+30000 =(A1-500000)*0.02+44000 =(A1-1000000)*0.01+54000 =(A1-1500000)*0.007+59000 =(A1-3000000)*0.005+69500 B1セルに=VLOOKUP(A1,$D$1:$E$9,2,TRUE) ●入力セルが範囲内である場合、例えばA1:A10とか ユーザー関数を作ります。 Function calc2(a) 標準モジュールに下記を貼りつける。 これで式のパターンがバラバラになっても下記の式を それに合わせて変えれば大丈夫です。 本当は切り捨て・四捨五入をして、円以下を防ぐべきですが略。 Select Case a Case Is > 3000000 calc2 = (a - 3000000) * 0.005 + 69500 Case Is > 1500000 calc2 = (a - 1500000) * 0.007 + 59000 Case Is > 1000000 calc2 = (a - 1000000) * 0.01 + 54000 Case Is > 500000 calc2 = (a - 500000) * 0.02 + 44000 Case Is > 300000 calc2 = (a - 300000) * 0.07 + 30000 Case Is > 200000 calc2 = (a - 200000) * 0.1 + 20000 Case Is > 100000 calc2 = (a - 100000) * 0.1 + 10000 Case Is > 50000 calc2 = (a - 50000) * 0.1 + 5000 Case Else calc2 = a * 0.1 End Select End Function 実例A列とB列。 B列は=calc2(A1)と入れて、下へ複写。B列がその結果。 3000 300 30000 3000 51000 5100 101000 10100 200100 20010 310000 30700 510000 44200 1000100 54001 1500100 59000.7 3001000 69505 10000000 104500 50000 5000 40000 4000 70000 7000 120000 12000 220000 22000 320000 31400 520000 44400

noname#8614
質問者

お礼

 大変ご丁寧に回答を頂きありがとうございました。 私は恥ずかしながら、関数についてはド素人ですので、正直ユーザー関数を作るだけの能力は持ち合わせておらないのです。申し訳ありません。  しかし、見ず知らずの方にこんなに丁寧に説明をして頂き大変嬉しく思っております。今度またお力添えを頂ければ幸いです。その節は何卒宜しくお願いします。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

IFのネストは7回なので、IFでやると工夫がいりますし、式がものすごく長くなります。 VLOOKUPでやった方が多少はすっきりすると思います。 細かく検証してませんが、Sheet2のA1~D8にこんな表を作り、  50000  50000   0.1   5000 100001  100000   0.1  10000 200001  200000   0.1  20000 300001  300000   0.07  30000 500001  500000   0.02  44000 1000001 1000000   0.01  54000 1500001 1500000  0.007  59000 3000001 3000000  0.005  69500 Sheet1のB1に =(A1-VLOOKUP(A1,Sheet2!$A$1:$D$8,2)) *VLOOKUP(A1,Sheet2!$A$1:$D$8,3) +VLOOKUP(A1,Sheet2!$A$1:$D$8,4) でSheet1のA1に金額を入れると出ます。

noname#8614
質問者

お礼

 最初私もIF関数を使って試行錯誤していたのですが、頭の中がこんがらがってきちゃいました。VLOOKUP関数を使うんだろうな?っていうのは何となく分かるんですが、その先が・・・。こういう状態の私なので非常に勉強になりました。また分からない事があれば、宜しくお願いします。ありがとうございました。

  • emico
  • ベストアンサー率30% (39/129)
回答No.2

VLOOKUP関数を使うとカンタンに出ます。 まずは、参照するための表を作成します。 各列に条件ごとにする処理を入れます。 ・A列・・・引き算する数字(1行目は0、2行目は50,001、3行目は100,001 etc) ・B列・・・掛け算する数字(1~4行目は0.1、5行目は0.7 etc) ・C列・・・足し算する数字(1行目は0、2行目は5,000、3行目は10,000 etc) これでA1:D9に表ができます。 A11に例として255,000を入力し、B22に答えを出すための関数を入力します。  =(A11-VLOOKUP(A11,$A$1:$D$9,2,1))*VLOOKUP(A11,$A$1:$D$9,3,1)+VLOOKUP(A11,$A$1:$D$9,4,1) この例の場合ですと25,500という答えが出ます。 要するに、引く金額、かけるパーセンテージ、最後のに足す金額をそれぞれ表検索したわけです。 わかりにくければ、もう一度質問してくださいね。

noname#8614
質問者

お礼

 すぐにご回答頂きまして、誠にありがとうございます。私は関数について全くのド素人なので、こういった場で勉強させて頂きたく存じます。  今回は「良回答」という形には出来ませんでしたが、専門家の方という事でまた何かお助け頂ければ嬉しく思います。ありがとうございました。

  • elmclose
  • ベストアンサー率31% (353/1104)
回答No.1

A1に買受金額が入っているとします。 =if(a1<=300000,a1*.1, if(a1<=500000,30000+(a1-300000)*.07, if(a1<=1000000,44000+(a1-500000)*.02, ・・・・・・ というように、書いていけば大丈夫です。 なお、上ではわかり易いように改行しましたが、実際には改行不要です。

noname#8614
質問者

お礼

ご回答ありがとうございました。私は全くのド素人なので大変助かります。また、分からない事があれば教えて頂ければ幸いです。