[[20190816160321]] 『条件テーブルを超えると1%ずつ上がる関数について』(himawari) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『条件テーブルを超えると1%ずつ上がる関数について』(himawari)

以前にもこちらで質問させていただいたのですが、再度質問させてください。

100万がボーダーで40万ずつ上がるごとに1%利率があがる
という数式を組みたいです。


A 〜 1000000 35%
B 1000001 〜 1400000 36%
C 1400001 〜 1800000 37%
D 1800001 〜 2200000 38%
E 2200001 〜 2600000 39%
F 3000001 〜 3400000 40%

例えば、200万の場合、
Dランクが適用になり
1000000*0.35=350000
400000*0.36=144000
400000*0.37=148000
400000*0.38=152000
計  794000
としたいのですが、その場合の関数を教えていただきたいです。

以前教えていただいた式に当てはめてみたのですが、
=A1*35%+SUMPRODUCT((A1-ROW(1:100000)*4*10^5)*((A1-ROW(1:100000)*4*10^5)>0))*1%

=IF(A1<=1000000,A1*0.35,350000+(A1-1000000)*(INT((A1-1)/400000)*0.01+0.35))

740000となり、この違いがどうも判らないのです><

どうぞよろしくお願いいたします。

< 使用 アプリ:スプレッドシート、使用 OS:Windows10 >


 http://www.excel.studio-kazu.jp/kw/20190731081838.html

 の続きかと思いますが、

 このスレッドでは

 最終的に

 (himawari) 2019/07/31(水) 13:07 
 の発言で

 >計算方法が変わりまして、50万円をボーダーとして、超えた分に対して、UPした利率をかけるという式にしたいです。

 で、決着したはずです。

 つまり

 1000000*0.35=350000 
 400000*0.36=144000 
 400000*0.37=148000 
 400000*0.38=152000

ではなくて

 1000000*0.35=350000 
 1200000*0.38=456000
 計      806000

 となるのが、前スレッドで 各回答者が 回答した 内容です。

 条件が全く変わり、最初に戻ってます。

(渡辺ひかる) 2019/08/16(金) 16:56


>渡辺ひかる様

ご指摘のとおりでございます。条件が最初に戻りまして、それで最初にご回答いただいた式に当てはめたのですが、うまくいかず、再度質問をさせていただいた次第です。
度々の投稿、恐れ入ります。

1000000*0.35=350000
400000*0.36=144000
400000*0.37=148000
400000*0.38=152000
にしたいのですが、

=A1*35%+SUMPRODUCT((A1-ROW(1:100000)*4*10^5)*((A1-ROW(1:100000)*4*10^5)>0))*1%
=IF(A1<=1000000,A1*0.35,350000+(A1-1000000)*(INT((A1-1)/400000)*0.01+0.35))

ではないのでしょうか。

何度も申し訳ありません。。
(himawari) 2019/08/16(金) 17:26


 そういうことであれば

 前スレの

 (渡辺ひかる) 2019/07/31(水) 10:57

 から、前の数式が参考になると思います。

 いずれにせよ、数式を理解しないと、応用も効かないと思いますので
 数式のわからない部分を聞いてください

(渡辺ひかる) 2019/08/16(金) 17:38


 >条件が最初に戻りまして

 常識的ですね。

 >例えば、200万の場合、 
 >Dランクが適用になり 
 >1000000*0.35=350000 
 >400000*0.36=144000 
 >400000*0.37=148000 
 >400000*0.38=152000 
 >計      794000 
                 ↑
 220万の場合ですよね? (200万 なら 718000)

 =A1*0.35+IF(A1<=1000000,0,(1+FLOOR(A1-1000000,400000)/400000)/2*1%*FLOOR(A1-1000000,400000)+(INT((A1-1000000)/400000)+1)*1%*(A1-1000000-FLOOR(A1-1000000,400000)))

(半平太) 2019/08/16(金) 19:23


 二次関数で

 =IF(A1<=1000000,A1*0.35,2000*INT((A1-1000001)/400000)^2+142000*INT((A1-1000001)/400000)+350000+(MOD((A1-1000001),400000)+1)*(0.35+(INT((A1-1000001)/400000)+1)*0.01))

(渡辺ひかる) 2019/08/17(土) 15:43


>半平太様
220万の場合ですね。
ありがとうございます。FLOORという関数を使うんですね、勉強になりました!!

>渡辺ひかる様
何度もありがとうございました。いろいろと教えていただく中で理解ができました。とても助かりました。

最後にもう一つだけ質問をさせていただきたいのですが、
40%が上限でそれ以上は上がらない、という条件を入れるのはどうしたらいいですか?
つまり、3400001であっても、40%という風にしたいのです。

教えていただけますと大変うれしいです。

(himawari) 2019/08/18(日) 09:21


 理解していただけたのなら・・

 現在の数式が 1,000,000円以下と、それ以外で分岐処理をしているのは、わかりますよね?

 そこに3,400,001円以上の場合という分岐処理をIF関数で追加すればいいです。

 3,400,001円以上の場合、3,400,000円までの利息は決まっているのですから、
 3,400,000円を超えた金額に40%をかけたものをそれに加えればよいでしょう。

(渡辺ひかる) 2019/08/19(月) 08:54


>渡辺様
IF(A1<=3400001,●*0.4)

●の部分が、超えた金額になると思うのですが、その表し方、IF文の挿入の仕方が分からず…
何度もごめんなさいmm
(himawari) 2019/08/19(月) 16:15


 超えた金額は A1-3400000 で 求められます

 でIFのネストを一つ増やすと

 =IF(A1<=1000000,A1*0.35,IF(A1<=3400000,"3400000以下の計算",1274000+(A1-3400000)*0.4))

 となりますね

 "3400000以下の計算" には、 前出の数式の後半部分を入れてください。

(渡辺ひかる) 2019/08/19(月) 16:40


ありがとうございます。

そもそもの表が間違っていました。

〜 1000000 35% 350000
1000001 〜 1400000 36% 144000
1400001 〜 1800000 37% 148000
1800001 〜 2200000 38% 152000
2200001 〜 2600000 39% 156000
2600001 〜 3000000 40% 160000

ですので、3000001以上は40%ですね。

↓で合っていますでしょうか。

=IF(A1<=1000000,A1*0.35,IF(A1<=3000000,2000*INT((A1-1000001)/400000)^2+142000*INT((A1-1000001)/400000)+350000+(MOD((A1-1000001),400000)+1)*(0.35+(INT((A1-1000001)/400000)+1)*0.01),1110000+(A1-3000000)*0.4))

(himawari) 2019/08/19(月) 23:45


 数件 検証しましたが問題ないと思います。
 というか、検証するのは 質問者さんなので、
 質問者さんが問題なければいいのでは?

(渡辺ひかる) 2019/08/20(火) 09:36


ご確認ありがとうござらいました。
大変お手数をおかけしました
(himawari) 2019/08/20(火) 19:08

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.