• ベストアンサー

IF関数

finneganswakeの回答

回答No.4

135417<=P9<=149999とかってところが良くないような。 AND(135417<=P9,P9<=149999) というようにしないといけないような気がする。 =IF(P9<=135416,ROUND((P9-117501)*0.05,-1),IF(AND(135417<=P9,P9<=149999),ROUND(P9-(P9*0.4+63334)*0.05,-1),IF(AND(150000<=P9,P9<=299000),ROUND(P9-(P9*0.3+78334)*0.05,-1)))) でいいのかな。ROUND関数にも手を入れるともっといいかも。

関連するQ&A

  • IF関数とROUNDの組み合わせが上手くいきません。

    初級者ですが、仕事で必要なので助けてください。 エクセル2003で、A1~F1の数字を掛算割算して、結果をG1に反映します。G1の計算結果が9万9千9百までは10の位まで四捨五入、10万以上なら100の位を四捨五入というふうにしたいのですが、どうも上手くいきません。(そもそもIF関数では無理なのでしょうか?) =IF(G1>=99999,ROUND(A1*B1/C1*D1*F1,-3),G1<=100000,ROUND(A1*B1/C1*D1*F1,-4)) この式をちょっと変えたりして色々試してみているのですが、-3,-4の設定で10の位、百の位は変えられても99999/100000の間では変化してくれません。どうすればよいのでしょうか。

  • エクセルの関数。お願いします!

    任意の桁数で四捨五入するROUND関数についてお願いします。 A1「5678.492」の数値。 (ア)小数点以下を四捨五入しなさい。 (イ)1の位を四捨五入しなさい。 =ROUND(A1,○)の○には何が入るんでしょうか?

  • エクセルの関数を複数使いたい

    こんにちは、教えてください エクセルの関数を同時に複数使いたいときはどうしたらよいのでしょうか? 具体的には A1とA2を掛けて1000で割りたものをC1に表示させたいのです。 ただし、 (1)計算をしていないときにはC1に何も表示させたくない。 (2)小数点以下2桁で四捨五入したいのです。 (3)計算式をいったん別のところに表示させず、直接C1にだしたい。 以上の条件をかなえたいのですが、掛け算・割り算の式や、表示の条件を変えるのにIFを使用したり、四捨五入をするのはROUNDを使うのは発想できたのですが、組み合わせ方が分かりません。(表示形式で設定してしまうと、0.20などの際に0.2とはならないので・・・関数を使いたいのです) よろしくお願いします

  • IF関数の複数分岐

    IF関数の複数分岐について質問です。 条件が多すぎて私の知識では手に負えない状態なので、どなたか教えてくださると助かります。 ・A1が○だったら● ・A1が△、かつB1が▽だったら▲÷2 ・A1が△、かつB1が□だったら▲÷4 ・上記のどれにも当てはまらない場合は0 この条件でどうにかifでクリアできませんでしょうか? それに加えて、求められた値を四捨五入し1000の位で丸めたい(単位を千)にしたいのです。 どなたか宜しくお願いいたします。

  • エクセルの関数について

    ROUND関数を使い、千の位で四捨五入するのですが24081000の場合は、どう入力したらいいでしょうか? また13416000のときはどう入力したらいいでしょうか? 宜しくお願いします。

  • Excelの関数を探しています

    ・上4桁目で四捨五入する ・1の位を0で表示する この2つの条件を満たす関数を探しています。いくつか試してみたのですがうまくいかず…何か良い式はありますでしょうか? 例) 1 →0 12 →10 123 →120 1234 →1230 12345 →12300 123456→123000 666666→667000

  • round関数について

    試しにエクセルで次の計算をしてみてください。 -16.76 7.9 -11.45 -8.88 -1 4.26 33.78 以上を全部足します。つまり「=sum(a1:a7)」です。当然「7.85」になります。 次に四捨五入します。round関数で小数点第2位を四捨五入して、第1位まで表示させます。つまり、「=round(sum(a1:a7),1)」ということです。すると「7.8」を返しました。 ん?「7.9」なのでは?と思い、次にこんな計算をしてみました。 A・・・=round(sum(a1:a7),2) B・・・=round(A,1) つまり、Aでいったん小数点第3位を四捨五入させた上で、その値を今度はBで小数点第2位を四捨五入させ、最終的に小数点第1位まで表示させたわけです。すると、ちゃんと「7.9」を返しました。 なんでこんな風になるのでしょうか?どうして一発で「7.9」にならないのでしょうか?

  • IF関数を短くする方法(階層が深すぎる)

    A列に任意の数値が入っています。 そのときB列に、 「A1<999」なら「A1×5.0」して四捨五入 「1000<A1<2000」なら「A1×4.0」して四捨五入 「2000<A1<3000」なら「A1×3.0」して四捨五入 「3000<A1<4000」なら「A1×2.0」して四捨五入 「4000<A1<5000」なら「A1×1.5」して四捨五入 「5000<A1<6000」なら「A1×1.0」して四捨五入 とした計算式を入れたいとおもってます。 IF関数にするとものすごく長くなってしまいます。 短くしたり、他に適応する関数はあるでしょうか? よろしくお願いいたします。

  • 関数について

    一つのセルに、平均値を出し、それを四捨五入したいのですが、 関数を複合設定するにはどうすれば良いのでしょうか。 例えば、=AVERAGE(T4:T34)で出した平均値を、=ROUNDを使用して、小数点第1位で四捨五入したいのですが、式はどうすれば良いのでしょうか?

  • Round関数は四捨五入?

    あるサイトで・・・ ”多くのRound関数は、偶数丸めを採用しており、 丸め単位のまんなかで、どっちつかずの場合は、偶数側を採用する。” ということが書いてあるのを読みました。 しかし、SQL Server2000のクエリで select round(1.25,1) と実行すると 1.2ではなく1.3 が返ってくるので、四捨五入されている気がします。 厳密な四捨五入と異なる値が返ってくるパターンはどういう式でしょうか? それとも、SQL Server2000のRound関数は厳密な四捨五入なのでしょうか? ご存知の方がいたら教えてください。 よろしくお願いします。