• ベストアンサー

エクセルの計算式で

利息の計算をしたいのですが 関数の使い方を教えてください。 債務の残高がAの列に入ります。       A(残高)  B(利率) 1(日付)  100000       10000        … というような形です。 B列に入る利率を計算する式を教えてください。 条件 1.直前の行の残高がマイナスだった場合、5%になる 2.直前の行の残高が10万から100万の間だったら18%になる 3.直前の行の残高が100万以上なら15%になる 4.一度条件3で15%になったら、以降はずっと15%となるが、マイナスになったとき(条件1)の場合は条件1が優先される わかりにくいかも知れませんが、よろしくお願いします。

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

  • ベストアンサー
  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.4

> ただ、日付を入れる欄があって、そこを別に参照しているセルがあるらしく > 循環参照と出てしまいます。 ひょっとして、A列は日付? > 利率の入っている実際のセルはH列なので > 教えていただいたB→Hに変更して記述はしました。 あえて書かなかったんですが・・・ 残高が入っているセルはA列と仮定しています。 つまり、残高がA列でなければ、修正が必要です・・・

mizk0017
質問者

補足

もちろん、そこの部分も修正しました。 というか… できました!! 教えていただいたとおりにしたら できました!すみません。 ただ、もうひとつ教えてくださいませんか? 最初にご指摘のとおり、1円以上10万円未満の場合、20%とすることにしました。 先ほどは、残高が100万円以上で15%に一度なったら 以降ずっと15%で…と言いました。 今度は 「一度でも10万円以上になった場合、残高が10万円未満となっても 利率は18%のまま」という条件が加わりました。 もちろん、その上の100万円になったら以降はずっと15%になります。 ああ~!もう書いててもややこしくなってきました。 さきほど教えていただいた =IF(A1<0,0.05,IF(COUNTIF(B$1:B1,0.15)>0,0.15,IF(A1>=1000000,0.15,0.18))) という式にプラスしてうまく計算できる方法はありますか? まとめると 1~99,999 20% 100,000~999,999 18% 1,000,000以上  15% ただし、一度下がった利息はもう上がらない。 直前の残高が0以下になった場合は5%となる。 最後の質問です! よろしくお願いします! 

その他の回答 (4)

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.5

> まとめると > 1~99,999 20% > 100,000~999,999 18% > 1,000,000以上  15% > ただし、一度下がった利息はもう上がらない。 > 直前の残高が0以下になった場合は5%となる。 えー、つまり 条件は、 A.直前の行の残高がマイナスだった場合、5%になる B.一度でも15%になっていたら、15%になる C.直前の行の残高が1,000,000円以上なら15%になる D.一度でも18%になっていたら、18%になる E.直前の行の残高が100,000円から999,999円の間だったら18%になる F.直前の行の残高が1円から99,999円の間だったら20%になる って事でいいのかな・・・ この順番でIF文を作って行けばよいのですよね? こんな感じ? IF(A1<0, <===== 条件Aチェック 0.05, <===== 条件A成立 IF(COUNTIF(B$1:B1,0.15)>0, <==条件A不成立なので、条件Bチェック 0.15, <====== 条件B成立 IF(A1>=1000000, <====== 条件B不成立なので、条件Cチェック 0.15, <====== 条件C成立 IF(COUNTIF(B$1:B1,0.18)>0, <==== 条件C不成立なので、条件Dチェック 0.18, <====== 条件D成立 IF(A1>100000, <====== 条件D不成立なので、条件Eチェック 0.18, <====== 条件E成立 0.2 <====== 条件E不成立なので、自動的に条件Fに ) ) ) ) ) #説明と、余分な改行・空白をとれば、動作すると思いますが・・・

mizk0017
質問者

お礼

できました!! ありがとうございました。 あれこれと注文をつけたのに、丁寧に教えていただいて ホントに感謝してます。 助かりました。ありがとうございました!

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.3

> やってみたのですが、0%になってしまいます。 > 実際にはセルがBではないので、その書き方がおかしいのでしょうか… >      A(残高)  B(利率) の記述があったので、てっきり利率はB列かと思ったんですが・・・ セルの指定は実際に合わせて修正してください。 計算式自体は、前記の > 1.直前の行の残高がマイナスだった場合、5%になる > 4''.一度でも15%になっていたら、15%になる > 2.直前の行の残高が10万から100万の間だったら18%になる > 3.直前の行の残高が100万以上なら15%になる を順番にIFで記述してるだけです。 > 実際のソフトを見てもらうわけにはいかないでしょうか? 「実際のソフト」って「計算式」のことですか? 例えば、「セルXXにこういう値、セルYYにこういう値があって、 セルYYに「=~」の様な計算式を入力した。」ぐらいなら 見れるかもしれませんけど・・・

mizk0017
質問者

補足

何度もすみません。 利率の入っている実際のセルはH列なので 教えていただいたB→Hに変更して記述はしました。 ただ、日付を入れる欄があって、そこを別に参照しているセルがあるらしく 循環参照と出てしまいます。 なので複雑すぎてもうわからなくなりました(汗) 計算式の入ったエクセルをそのまま見てもらえたらわかるのかな と思って、見てくださいとお願いしてしまったのですが すべての計算式を書いたのではとても見られないと思います。 無理なことを言ってすみませんでした。 大変勉強になりました。 もう少し頑張ってみます。 本当にありがとうございました。

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.2

> 一度15%になったら、それ以降は5%か15%のどちらかにしたいのです。 ・・・「一度でも15%だったら、2度と18%にはならない」って事ですか・・・ つまり条件は、 1.直前の行の残高がマイナスだった場合、5%になる 4''.一度でも15%になっていたら、15%になる 2.直前の行の残高が10万から100万の間だったら18%になる 3.直前の行の残高が100万以上なら15%になる ですか・・・ > どこかで「15%になったこと」を検索させるしかないでしょうか… そうですね・・・・ 「エクセルの計算式」って、ExcelVBAではなく、数式バーで入力する各セルの計算式のことですよね? でしたら、「COUNTIF」とかを使って、例えばB2セルなら --------------------------------------------------- =IF(A1<0,0.05,IF(COUNTIF(B$1:B1,0.15)>0,0.15,IF(A1>=1000000,0.15,0.18))) --------------------------------------------------- とか・・・

mizk0017
質問者

補足

ありがとうございます。 やってみたのですが、0%になってしまいます。 実際にはセルがBではないので、その書き方がおかしいのでしょうか… あの、実際のソフトを見てもらうわけにはいかないでしょうか?

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.1

条件を 1.直前の行の残高がマイナスだった場合、5%になる 4'.直前の行の利率が15%の場合、15%になる 2.直前の行の残高が10万から100万の間だったら18%になる 3.直前の行の残高が100万以上なら15%になる と置き換えれば、IFを階層化して表せるのでは・・・ #ところで、残高が0円から10万だったら利率はどうなるのでしょう? #10万単位にしか成らないって事は無いでしょうし・・・

mizk0017
質問者

補足

早速のご回答ありがとうございます。 「直前の」とは限らないのです。 一度15%になったら、それ以降は5%か15%のどちらかにしたいのです。 どこかで「15%になったこと」を検索させるしかないでしょうか… それからすみません。 0から10万の間でも18%です。 ただし、一度15%になったら15%としたいです。 よろしくお願いします。

関連するQ&A

  • エクセルの計算式

        A列  B列  C列  D列  E列 1行   A   2   100       ○○○ 2行   B   2    200 3行   A       200 4行   C        100 5行   A       100 上記表で、B列が空白の時の、A列のAの、C列の合計を(この場合は、300) 例えば、E列の1行目セルに表示させる時の「E1」の計算式が知りたいのですが、よろしくお願いいたします。

  • エクセルの計算式について

    エクセルの計算式について教えて下さい。以下の表があります。 a列とb列は日ごとに変化します。c列は、a/bで計算されます。d列は、bx10をaから引いた値です。e列は前日のeと当日のeの差を表示しています。 x1列は、e列が10以上ならばSを表示する条件式で値を出しています。x2列は、0以下ならばBを表示する条件式で値を出しています。 h列の計算は、x1とx2でBが表示された場合、例えばa列の1/12の18620から1/11の18830を引く計算をし、b列の1/11の1682から1654を引く計算をして、それぞれの解を足します。 また、同様にx1とx2でSが表示された場合には、下記の表のa列1/12の18620から1/21の18760を引き、b列の1/21の1618から1654を引き、それぞれの解を足します。 上記に説明した、それぞれの計算式を教えて下さい。 また、x1とx2は、それぞれaやbの値から導き出される式で日々表示が変わります。ただ、以下の表のようにx1列のように、Sの表示が連続して表示されます。これを、1度Sが表示されると、次の行からはSが表示されないようにする計算式を教えて下さい。 すみません、よろしくご教示下さい。 date      a      b      c  d e x1 x2  h 2000/1/11 18830 1682.0 11.20 2010 -190 B   2000/1/12 18620 1654.0 11.26 2080 70 S 70,000 2000/1/13 18920 1673.0 11.31 2190 110 S 2000/1/14 18850 1654.0 11.40 2310 120 S 2000/1/17 19300 1680.0 11.49 2500 190 S 2000/1/18 19150 1662.0 11.52 2530 30 2000/1/19 18930 1634.0 11.59 2590 60 2000/1/20 19060 1640.0 11.62 2660 70 S 2000/1/21 18760 1618.0 11.59 2580 -80 B -220,000

  • 貸付利率の計算方法

    貸付利率・残高・日数から利息金額を計算する方法 (残高×貸付利率÷365×日数=利息金額)は、 分かるのですが、 利息金額・残高・日数から貸付利率を計算する方法が分かりません。 どなたか分かる方いらっしゃいましたら、教えてください。。

  • EXCEL2003出納帳残高欄の、計算結果がある最終行の数値を取り出し

    EXCEL2003出納帳残高欄の、計算結果がある最終行の数値を取り出したいのですが     A     B     C     D 1  日付   入出金   残高 2  繰越          30 3 8/1   100   130 4 8/2  -130     0 5 8/2    40    40 6               - 7               - 8               - 9                現在残高 40        途中には空白行はなく順に入力します 入力する行数は未確定です 残高は"0" の場合もあります C列2行目は 数式「=B2」  C列3行目から8行目までは 数式「=IF(B3=0,0,C2+B3)」 現在残高を表示したいのですが、 ここD列9行目には数式 「=LOOKUP(10^5,C3:C8)」 としてますが、 C列の6~8行目までは計算式が入ってるので、 その値”0”となってしまうようです。 また、 数式「=INDIRECT(ADDRESS(COUNT(C2:C8)+1,3))」 という式も入れてみましたが、”0”となってしまいます。 計算結果のある最終行の値 "40" にするにはどうしたらよいでしょうか?

  • 銀行からの借り入れの利息の計算方法

     利率は1.875%で毎月末の支払  先月だと29日に2300000円支払って残高は384400000円になりました。  利息は568367円支払ったのですが、この利息の計算方法を教えて下さい。  私の計算方法だと残高×利率×29(先々月の支払が11月30日だったので)/365と思ったのですが、これでは572650円となり 計算が合いません。  どのような条件で借り入れたかの資料が見つからないので、これらの数字から分かる方がいたらお願いします。

  • エクセルの計算

    質問させていただきます。 Aの列に飛び飛びでランダムの日付があり、Bの列に曜日が縦に並んでいます。 A列の日付を入力したら曜日が自動で出るようにB列に以下を入れました。 =IF(A1<>"",MID("日月火水木金土",WEEKDAY(A1),1),"") このとき、土曜は青、日曜は赤と条件をつけました。 そしてC列に人数、D列に合計金額の欄があり、人数×単価をDに入れました。 このとき、条件として土曜日曜はプラス1,000円となります。 IFとORで対処し、一日の計算はどうにかできました。 1期間の合計(平日は平日の欄、土日は土日の欄)を下に入れるのですが、上記に書いたとおり、日付はカレンダーではなくランダムで入っているので、土日だけの計算は手作業で計算させています。 これを土日は土日、平日は平日で計算させる方法はありませんでしょうか? たとえば土か日と記入されているものだけを集めて計算させるとか。 説明に不足があればどんどんご指摘下さい。

  • エクセルの計算

    みなさん教えてください。 今エクセルで、数値計算をしていて悩んでいます。 <悩み> 下記のような数値(約1500個)がA列にあり、下記条件に合致すれば 指定する計算式で計算し、B列に答えを出したいと思っていますが、う まくいきません。 IF関数を使いましたが0以上の場合しか指定できませんでした。 =IF(A:A>=0,(F:F*0.01)) みなさん教えてください。 よろしくお願いします。 <条件>計算式 A列にある数値が0以上の場合 : A列の数値*0.01 A列にある数値が0以下の場合 : A列の数値*0.5 <数値> A列 ------- 1 1 2 -1 -2 -5 1 5 3 ・ ・ ・

  • EXCELでの計算式について

    お世話になります。 Excel2000を使って簡単な計算を行っています。 A列とB列に数字が並んでいます。 (ABCは列番号、行番号は省いています) A B C 1 3 3 2 3 4 2 1 この状態でC1に計算式 =A1-B1 を入れるとC1は-2になります。 C1のセルをコピーしてC2~C4に貼り付けました。 すると予想では A B C 1 3 -2 3 2 1 3 4 -1 2 1 1 となるはずが A B C 1 3 -2 3 2 -2 3 4 -2 2 1 -2 となってしまいました。 C列の計算式は何が悪かったのでしょうか? コピー&ペーストをせず1つずつ計算式を入力していけば正しい値が出るのですが、行数は1000行以上あるので無理です。 どうすれば元の状態になりますか?

  • エクセルの計算式を教えてください。

    エクセルの計算式です。    A    B    C 1   15    13    28 2   10    *    10 3   *    35    35 4   *     *    なし 基本、A+B=Cという計算なのですが、*は0と同じとみなし、2行目だと10+0でCは10といれたいのです。そして4行目のように*+*のときにはCに“なし”と表示させるにはC列にどんな計算式をいれたらいいですか?

  • 利息から利率の計算

    お恥ずかしいのですが、今キャッシングでお金を借りています。 利息制限法を知り計算したいのですが、相手から送られて来た証明書には利息が計算されており、利率が書いてありませんでした。取引金額、利息金額、残高で利率はでますか?