• ベストアンサー

エクセル関数 特定の範囲の数値が出てきたときに…

こんにちは。質問させていただきます。 エクセル関数初心者なのですが、以下のような式を組みたいです。 A<1000=×4÷100 1001<A<3000=×3÷100 3001<A<5000=×2.5÷100 5001<A<10000=×2÷100 10001<A<30000=×1.5÷100 30001<A=×1.4÷100 つまり、セルAが以上の範囲であれば、セルBに=以降の結果が出てくるような式を作りたいです。 どなたかわかる方がいましたら、ご教授いただけると幸いです。 よろしくお願いいたします。

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

  • ベストアンサー
  • ppyama
  • ベストアンサー率12% (48/399)
回答No.2

A1セルの値を対象にB1に結果をだすと B1に =IF(A1<=1000,A1*4/100,IF(A1<=3000,A1*3/100,IF(A1<=5000,A1*2.5/100,IF(A1<=10000,A1*2/100,IF(A1<=30000,A1*1.5/100,A1*1.4/100))))) 記載条件ですと、1000、1001、3000、3001、5000、5001、10000、10001、30000、30001 が抜けおちします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

A<1000=×4÷100 1001<A<3000=×3÷100 3001<A<5000=×2.5÷100 5001<A<10000=×2÷100 10001<A<30000=×1.5÷100 30001<A=×1.4÷100 上記の条件では整数のみのときでも1000、1001、3000、3001、5000、5001、10000、10001、30000、30001が範囲から除外されます。 A<=1000 =A*4/100 1000<A<=3000 =A*3/100 3000<A<=5000 =A*2.5/100 5000<A<=10000 =A*2/100 10000<A<=30000 =A*1.5/100 30000<A =A*1.4/100 として式を組み立てれば良いと思います。 =A1*VLOOKUP(A1,{0,4;1001,3;3001,2.5;5001,2;10001,1.5;30001,1.4},2)/100 VLOOKUP関数の配列は実数を{}で括っても参照できますので、今回は別テーブルを使わずに実数を使いました。

goo41141141
質問者

お礼

ありがとうございます。 除外のご指摘もこちらでは気が付きませんでした。 参考にさせていただきます。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! 一例です。 ↓の画像のように別Sheet(画像では右側のSheet2)に対応表を作成しておき、 それを利用するのが簡単だと思います。 Sheet1のA列は整数(小数点以下表示はない)という前提で、 2行目 → 0以上~1001未満 4 を返す 3行目 → 1001以上~3001未満 3 を返す 4行目 → 3001以上~5001未満 2.5 を返す という表になります。 画像ではSheet1のB2セルに =IF(A2="","",A2*VLOOKUP(A2,Sheet2!A:B,2,1)+100) という数式を入れオートフィルで下へコピーしています。m(_ _)m

goo41141141
質問者

お礼

ありがとうございます。 別シートを使うやり方もあるんですね。 参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

    エクセルで範囲内の条件を満たす数値を返す関数を教えてください。 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関数が使えません(使える方法があるかもしれませんが私は知りません)。 ネストせずに「&」を使う方法も考えたのですが、それだと数値として扱われず文字として扱われてしまい表示形式を自在に編集することができなくなってしまいます。 良い解決方法を教えてください。

  • エクセルの関数

    エクセル(2000)の関数について以下はどのように表せば良いでしょうか? A1セルの値が、0<~<=10の範囲であればB1を返し、        10<~<=20の範囲であればB2を返し、 ・ ・ ・        90<~<=100の範囲であればB10を返し、 それ以外であれば"err"を返す。 以上、宜しくお願い致します。

  • エクセル関数について

    エクセル関数について質問です。 前回の質問と似ています。以下のことは関数で可能でしょうか。 ・セルA1からA4には数値が入力される。 ・セルA1からA4のいずれかに入力された値をB1に返す。 ・セルA1からA4で二つ以上のセルに入力がある場合、B1には「ERROR」という表示を返す。 ・B1は桁区切り「#,###」スタイルにする。 以前教えていただいたこと等を参考に試してはみたのですが、思うような結果が得られませんでした。 関数に詳しい皆様、どうか教えていただけますでしょうか。 よろしくお願いいたします。

  • Excelの関数についての質問です。

    Excelの関数についての質問です。 表1のセルA2の値に対し、セルB2の値の結果をセルC2に返す関数式を教えてください。 なお、表1は表2を反映した値となります(画像添付あり) 初心者です。宜しくお願い致します。

  • エクセル関数式を教えてください。

    エクセル関数式を教えてほしいのですが、 あるセル値Aが100未満の場合は、セルを空白(表示なし)に設定し あるセル値Aが100以上の場合は、他のセルB値の数値を表示させる。 初心者で関数式がわかりません、誰か教えてください。 お願いします。

  • 限定範囲内の数値に対するRANK関数について

    エクセルについての質問です。    A  B   C  D 1    11 22 33 2    10 20 30 3    15 25 36 4    12 24 36 5    18 27  A列にRANK関数を使い「順位を入れたい」のです。 ただし以下のような決まりがあります。    (1)D列にて値が33以上の数値を対象とし、    (2)B列の数値を降順にランク付け 結果としては以下のようになる数式を目指していますがそのような関数はできますでしょうか。    A   B   C  D 1  3  11 22 33 2     10 20 30 3  1  15 25 36 4  2  12 24 36 5     18 27  対象がD列だけの数式でしたら 例えばA1のセルに  =IF(OR(D1<33,D1=""),"",RANK(D1,$D$1:$D$5,FALSE)) と入力し、他のA列へコピーすれば良いと思うのですがさらにその結果を対象とした数式がどうにもよくわかりません。 お分かりの方いらっしゃいましたら教えて頂けますでしょうか。

  • エクセル 数値の中に○○がある場合数値を返す関数

    エクセルについて質問させて下さい。 A1のセルに185001という数値がありB1以降、下のセルには185002、185003というように 数値が入力されています。 A2には100と入力されていた場合、 A1に85001という数値があった場合、A2の値をA3に飛ばしたいのですが どのような関数を使用すればよろしいでしょうか? よろしくお願い致します。

  • エクセル関数

    また、お世話になります。エクセル関数の立て方をお教え下さい。 セル「A1」に金額を入力します。 セル「A2」に人数を入力します。 その結果が、セル「B2」に表示させます。 A1が1000円以内で、A2が10人以内なら、B2は100円 A1が1000円以内で、A2が20人以内なら、B2は200円 A1が1000円以内で、A2が21人以上なら、B2は300円 A1が1000円超なら、A2の人数に関わりなく、B2は400円 という関数式を立てるには、どうしたらいいですか。 関数にはほとんど知識がありませんので、具体的に式を立てて頂けたら大変に助かります。 これに関連して、逆引きの関数辞典みたいなものはないでしょうか。もしご存じでしたら、書籍名を教えて下さい。

  • エクセル関数について教えてください

    エクセル初心者です。 すみませんが教えてください。 あるセルに表示された数値が、 1~2の範囲(1.1,1.2,1.3・・・)なら”A"と表示し、 3~4の範囲なら”B"と表示、 4~5の範囲なら”C"と表示・・・・ のように動かしたいのですが、どの関数を使ったらいいのかわかりません。 ちなみに数値は普通に、足し算・引き算で出た計算結果です。 御存知の方、よろしくお願い致します。

  • エクセル関数

    エクセル2003を使っています。 エクセル関数を使って 以下のような複数データの中から、一つ以上存在するデータを抽出する関数を教えてください。 重複している場合は、一つだけ抽出します。 セルA1 山田   セルB1 山田    セルA2 佐藤   セルB2 佐藤 セルA3 井上   セルB3 井上 セルA4 佐藤   セルB4 三田 セルA5 三田   セルB5 (以下空白) セルA6 井上 よろしくお願いします。

このQ&Aのポイント
  • poralis office for Macを使用している際、zipファイルの解凍ができない問題が発生しています。他のブラウザや解凍ソフトを試してみても問題が解決しない状況です。お困りの方はご対応方法を教えてください。
  • poralis office for Macでダウンロードしたzipファイルの解凍ができません。他のブラウザや解凍ソフトを試しましたが、いずれも効果がありませんでした。問題の解決方法を教えていただけると助かります。
  • poralis office for Macを使用している際に、zipファイルの解凍ができないという問題が発生しています。他のブラウザや解凍ソフトも試しましたが、解決策が見つかりません。解決方法についてご教示いただけると幸いです。
回答を見る

専門家に質問してみよう