質問です

エクセルでQ列(純売上高)の数字が
以下の条件になる場合の関数をお願いします。

0円以上から800万円未満 は  60万円
800万円以上1000万円未満は  純売上高の8%
1000万円以上1200万円未満は  純売上高の7.5%
1200万以上は         純売上高の7%

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/06/28 17:40:33
  • 終了:2013/07/01 11:54:45

ベストアンサー

id:taknt No.1

きゃづみぃ回答回数13537ベストアンサー獲得回数11982013/06/28 17:54:50

ポイント50pt

こういうのは それぞれ 数式にしていけばよいです。
Q1に入っているものとして

0円以上から800万円未満 は  60万円
=IF(Q1<8000000,600000,0)

800万円以上1000万円未満は  純売上高の8%
=IF(AND(Q1>=8000000,Q1<10000000),Q1*0.08,0)

1000万円以上1200万円未満は  純売上高の7.5%
=IF(AND(Q1>=10000000,Q1<12000000),Q1*0.075,0)

1200万以上は         純売上高の7%
=IF(Q1>=12000000,Q1*0.07,0)

となります。

そして それを すべて たせば 一つになります。

=IF(Q1<8000000,600000,0) + IF(AND(Q1>=8000000,Q1<10000000),Q1*0.08,0) + IF(AND(Q1>=10000000,Q1<12000000),Q1*0.075,0) + IF(Q1>=12000000,Q1*0.07,0)

他1件のコメントを見る
id:gong1971

きゃづみぃさん、ご意見ありがとうございます。No2でネストを使った数式を回答した者です。私は、この程度の条件数ならネストの方が確実かと思いました。この辺は、好き好きなので、なんとも言えませんが…。

ネストの限界については、限界までの条件数になった時、連結にしろネストにしろIF関数だけで数式を作成するのは視認性が悪いように思い、私ならVLOOKUP関数(最後の引数をTRUEに)を併用します。

わかりにくさという点では、例えば1000万という数値を使った条件について、IF関数を連結した場合、1000万未満、1000万以上と2回条件を書かなくてはならず、条件の変更があった際に間違いを引き起こしやすい点を心配しました。

数式としては、どちらも正しく、先に書いたように好き好きかと思いますので、質問者の方が使いやすい方を使われたらと思います。

2013/06/29 03:21:28
id:inosisi4141

ありがとうございます
うまくいきました。
いろんな数値で試してみたいと思います。

2013/07/01 11:54:25

その他の回答(1件)

id:taknt No.1

きゃづみぃ回答回数13537ベストアンサー獲得回数11982013/06/28 17:54:50ここでベストアンサー

ポイント50pt

こういうのは それぞれ 数式にしていけばよいです。
Q1に入っているものとして

0円以上から800万円未満 は  60万円
=IF(Q1<8000000,600000,0)

800万円以上1000万円未満は  純売上高の8%
=IF(AND(Q1>=8000000,Q1<10000000),Q1*0.08,0)

1000万円以上1200万円未満は  純売上高の7.5%
=IF(AND(Q1>=10000000,Q1<12000000),Q1*0.075,0)

1200万以上は         純売上高の7%
=IF(Q1>=12000000,Q1*0.07,0)

となります。

そして それを すべて たせば 一つになります。

=IF(Q1<8000000,600000,0) + IF(AND(Q1>=8000000,Q1<10000000),Q1*0.08,0) + IF(AND(Q1>=10000000,Q1<12000000),Q1*0.075,0) + IF(Q1>=12000000,Q1*0.07,0)

他1件のコメントを見る
id:gong1971

きゃづみぃさん、ご意見ありがとうございます。No2でネストを使った数式を回答した者です。私は、この程度の条件数ならネストの方が確実かと思いました。この辺は、好き好きなので、なんとも言えませんが…。

ネストの限界については、限界までの条件数になった時、連結にしろネストにしろIF関数だけで数式を作成するのは視認性が悪いように思い、私ならVLOOKUP関数(最後の引数をTRUEに)を併用します。

わかりにくさという点では、例えば1000万という数値を使った条件について、IF関数を連結した場合、1000万未満、1000万以上と2回条件を書かなくてはならず、条件の変更があった際に間違いを引き起こしやすい点を心配しました。

数式としては、どちらも正しく、先に書いたように好き好きかと思いますので、質問者の方が使いやすい方を使われたらと思います。

2013/06/29 03:21:28
id:inosisi4141

ありがとうございます
うまくいきました。
いろんな数値で試してみたいと思います。

2013/07/01 11:54:25
id:gong1971 No.2

gong1971回答回数443ベストアンサー獲得回数682013/06/28 18:38:20

ポイント50pt

IF関数を使います。条件が4つあるので、IF関数の中にIF関数を入れて数式を作ります。
(このように関数の中に関数を入れた数式をネスト(入れ子)と言い、Excelでは7つまでネスト出来ます。)

純売上高がQ1に入力されているとして、ご質問の数式は下記の通りとなり、それぞれの条件と数式の色を合わせてみました。
=IF(Q1<0,0,IF(Q1<8000000,600000,IF(Q1<10000000,Q1*0.08,IF(Q1<12000000,Q1*0.075,Q1*0.07))))
※実際使用される時は色は関係ないので、そのままコピー貼り付けしてください。その際、セルをダブルクリックし、編集状態にしてから貼り付けてください。(そうしないと余計な書式も貼り付けてしまいます)

※0未満は 0としました。
0円以上から800万円未満 は  60万円
800万円以上1000万円未満は  純売上高の8%
1000万円以上1200万円未満は  純売上高の7.5%
1200万以上は         純売上高の7%
※上の条件から判断していき、条件に合致したら数式中の太字下線の数値/数式を返します。条件に合致しなかった時は、次の条件を判断します。

なお、0未満の時、なにも表示しない場合は、下記の通りとなります。
=IF(Q1<0,"",IF(Q1<8000000,600000,IF(Q1<10000000,Q1*0.08,IF(Q1<12000000,Q1*0.075,Q1*0.07))))
※ただし、文字列を返す事になるので、その他の数式でエラーになる可能性があります。

id:inosisi4141

ありがとうございます
うまくいきました。
いろんな数値で試してみたいと思います。

2013/07/01 11:54:23

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません