• ベストアンサー

Excel 関数

Excel質問です。 セルの数字により、計算方法が違う場合の数式の入れ方を教えてください。 例;A1のセルに入る数字が 1万以下であれば B1のセルにA1*5%を表示 1万超~2万以下 B1のセルにA1*10%を表示 2万超~3万以下 B1のセルにA1*15%を表示 3万超~4万以下 B1のセルにA1*20%を表示 4万超~無限  B1のセルにA1*25%を表示 このような場合は if関数でしょうか? どうしたらいいか教えてください。   

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

=A1*LOOKUP(A1,{0,10001,20001,30001,40001},{0.5,0.1,0.15,0.2,0.25}) とすればいかがでしょうか。

その他の回答 (3)

noname#204879
noname#204879
回答No.4

   A    B  C   D   E 1 23,456 3,518   -99,999 25% 2          -40,000 20% 3          -30,000 15% 4          -20,000 10% 5          -10,000  5% B1: =A1*VLOOKUP(-A1,D$1:E$5,2) 「4万超~無限」とのことだけど、上の方法では「無限」を 99,999 にしています。 10万以上の場合もあるなら、セル D1 を例えば -900,000 などとしてください。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

=A1*MAX(MIN(INT((A1-1)/10000)+1,1),5)/20 で出来ませんか?

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.2

IF関数でも出来ますが、ネストに限りがありますので、 VLOOKUP関数が良いのでは。 下記を参考にしてください。 http://www.relief.jp/itnote/archives/001994.php

関連するQ&A

  • エクセルのif関数で

    エクセルのif関数でこれができるのかわかりませんが、 C1~C10の中の文字列の中にA1と同じ文字列があればB1に「1」を入れ、なければ「2」を入れるということをやりたくて B1のセルに IF(OR(C$1:C$10=A1),1,2) という計算式を入れました。 関数の引数の中の数式の結果では、正しい結果が表示されてるのですが、B1のセルには間違った結果が表示されます。 また、B2以下B20まで計算式をコピーするとB11以下は#VALUE!になってしまいます。 一つ一つを見てみると、どうやらセルに正しく表示されるのはAの行とCの行が=だった場合のみのようです。 #VALUE!が表示されているセルも含めて、数式の結果では正しい結果が出ているのにセルの表示が違っているのが納得できませんが、おそらく何かが間違っているのでしょう。 間違いを教えてください。 よろしくお願いします。

  • エクセル関数について(IF関数)

    エクセルの関数について教えて下さい。 セルに1と入力した場合Aと出てきて、2と入力した場合B、3と入力した場合Cとなるような計算式を入れたいのですが、どのような式を入れればよろしいのでしょうか? 別のシートから呼び出す(?)というような方法でもいいのですが、どんな式を入れればよいのか、全く分かりません。 自分で調べてみた結果、IF関数を用いるということは解りました。 『IF(A1="1","A",IF(A1="2","B",IF(A1="3","C")))』 上記のような式を入れてみて、実際に実践してみたところ、結果としては入力した数字が表示されるだけで、計算式は消えてしまいました。 どうしたらいいのか解りません。 素人故に恥ずかしい質問ですが、お知恵を貸して下さい。 よろしくお願いします。

  • エクセル関数について

    エクセル関数について質問があります 例えば 「ある範囲内(b1:b7)に特定の数値(1)があれば、その特定の数値のセルの横の数値を返す」 ような数式は作れますか? 一応私なりに試しました 「 if(b1=1,a1,0)+if(b2=2,a2,0)+if(b3=1,a3,0)+...+if(b7=1,a7,0) この場合、特定の数値1がb5にあれば数式を入れたセルにa5の数値が入ります 」 ですがもっとシンプルな方法がないかと思い質問させていただきました

  • エクセルで範囲内の条件を満たす数値を返す関数を教えてください。

    エクセルで範囲内の条件を満たす数値を返す関数を教えてください。 100以下なら1111 100超~200以下なら2222 200超~300以下なら3333 300超~400以下なら4444 400超~500以下なら5555 500超~600以下なら6666 600超~700以下なら7777 700超~800以下なら8888 800超~900以下なら9999 900超なら10000 上記のような条件があり、入力した数字が該当する条件の範囲内に該当している数字を抽出したいのですが、それができる関数を教えてください。 例えばA1セルに650と入力するとB1セルに上記の条件で該当する7777を表示する、 A1セルに100と入力するとB1セルに1111、 901とA1に入力するとB1に10000と表示されるなどのようにしたいのです。 IFを使った関数では7つまでしかネストできないので、上記の場合10ネストしなければならないのでIF関数が使えません(使える方法があるかもしれませんが私は知りません)。 ネストせずに「&」を使う方法も考えたのですが、それだと数値として扱われず文字として扱われてしまい表示形式を自在に編集することができなくなってしまいます。 良い解決方法を教えてください。

  • Excelの関数『IF』にて・・・

    EXCELにて、関数IFを使って一覧表から 自動入力をしたいと考えています。 例えば、以下のようにしてセル『C1』の数字に 応じて、自動を試みたい時 =IF($C$1>80,"=A1",IF($C$1>70,"=B1","=C1")) =A1,=B1,=C1 の場所を文字列としてしか読み取ってくれません =A1,=B1,=C1では無く=A1,=B1,=C1のセルに入力されてる 数式(他のセルの値)を、表示したいんですが どのようにすれば可能でしょうか? 何度やっても「=A1」と、そのまま文字列として出て来ちゃいます。

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

    エクセルの数式でIFを使って、下記のような複数の条件の時に、それぞれの計算結果を算出する式を作りましたが、単純に条件を並べただけで(IFとAND使用)、式が長くなってしまいます。これを短く出来る式の方法はありますでしょうか?(他の関数を使用する方法など)また、エクセルの関数の数式を応用編まで詳しく調べられるサイトをご存知でしたら教えてください。 (条件の例)R1への式入力 (1)A1がに"A"か"B"かを入力 (2)A1がAで、B2の値がC3以下の時、R1には8、C3より大きい場合は、B2-C3の値を表示 (3)A1がBで、B2の値がC3以下の時、R1には5、C3より大きい場合は、(B2-C3)/2の値を表示 といった条件を満たすものが作成したいです。 ちなみに私が作成した式は、 =IF(AND(A1=A,B2<=C3),8),IF(AND(A1=A,B2>C3),B2-C3,・・・・)って感じです。こんな方法しか無いでしょうか?

  • Excel IF関数を短くする式を教えて下さい。

    ExcelのIF関数が長くなりすぎて困っています。 短くする方法あれば教えてください。 =IF(A1="",0,IF(A1<4.5,A1,4.5))+IF(B1="",0,IF(B1<4.5,B1,4.5)) のように"4.5より数が小さい場合はセルの値を返し、 4.5より大きい場合は4.5を返す"というのを繰り返し合計していきます。 60セル以上を合計したいのですが、それだと数式が長すぎて・・・ 何か短くする良い式があれば教えて下さい。 よろしくお願いします。

  • エクセルのワークシート関数で最小値

    エクセルのワークシート関数でA1セルとB1セルの最小値を求める場合 =MIN(A1,B1) だと思います。 しかし、これではどちらかのセルが空白だった場合、空白セルを0とみてはくれません。 そのため =MIN(A1*1,B1*1) と、1を乗ずることで空白セルを0にして比較できます。 しかしA1、B1セルの値が直接入力されたものでなく計算の結果の場合にはうまくいかない場合があります。 A1、B1ともに計算式がはいっているので空白はあり得ないのですが、計算結果で =”” と空白表示の場合、空白表示セルを0とみてはくれません。 しかし、空白表示セル(=””)に1を乗ずるとVALUEエラーになってしまいます。 やむを得ず、IF関数を使い =MIN(IF(A1="",0,A1),IF(B1="",0,B1)) と、無理やり=””を0にしているのですが、ほかになにか良い方法はないでしょうか? A1、B1の計算式を変えて=0とすればよいのでしょうが、元の計算式を変えずにやる方法があれば御教示ください。

  • EXCELで

    いつもお世話になります。 EXCELで次のようなことをしたいのですが、教えてください。 例 A1~A60セルに1~60の数字がランダムに入ります。 E1~E60セルにそれぞれ違った数式が入っています。 BセルにAセルに入れた数字のEセルの数式を使った計算結果を表示したいのです。 B1=E(A1の値)の数式を使った計算結果 どなたか宜しくお願いします。

  • エクセル if関数

    エクセル初心者なのでうまく説明できないのですが、以下のような条件で数式を入力したいのですが教えていただけないでしょうか。 例えばなのですが、A1のセルに入力されている文字列に”高橋”を含んでいたならば、C1のセルにB1のセルに入力されている数字×”1500”の計算結果を表示したい。 また同様に、A1に入力されている文字列に”伊藤”を含んでいるならば、C1のセルにB1のセルに入力されている数字×”1000”の計算結果を表示したい。 つまりひとつのセル”高橋”が入力されている場合と”伊藤”が入力されている場合の二つの条件をつけたいのですが、このようなことは可能でしょうか。 宜しくお願いいたします。

専門家に質問してみよう