- ベストアンサー
IF関数を使った
例)達成率93%未満で売上0~300.000なら歩合4% 達成率93%未満で売上300.001~600.000なら歩合5% 達成率93%未満で売上600.001~900.000なら歩合6% 達成率93%未満で売上900.001~1.200.000なら歩合7% 達成率93%未満で売上1.200.001以上なら歩合8% あと、99%未満も上記のように設定したいです。 それと、 達成率100%以上で売上0~300.000なら歩合7% 達成率100%以上で売上300.001~600.000なら歩合8% 達成率100%以上で売上600.001~900.000なら歩合9% 達成率100%以上で売上900.001~1.200.000なら歩合10% 達成率100%以上で売上1.200.001以上なら歩合11% あと、106%以上と112%以上も上記のように設定したいです。 IF関数のほかに簡単な関数はありますでしょうか? よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ちょっと疑問があります。 99%未満の設定を設けたいとのこと。それで次は100%以上の設定。 ということは、達成率99%ちょうどや、99.5%の労働者はどのように評価されるのでしょうか。 このあたりのレンジの区分けを明確に出来れば、私なら以下のようにします。 まず、別に歩合一覧表を作っておきます。たとえば、 ・A2から縦に達成率。順に、0、93%、100%、106%、112% とか。 ・B1から横に売上。順に、0、300,001、600,001、900,001、1,200,001 として。 ・それで、B2~F6に該当の歩合を入れておきます。この範囲に「歩合表」とでも名前を付けておきます。 ・H1に「達成率」、I1に「売上」、J1に「歩合」 と入力 ・H2、I2はそれぞれの数字を入れるセル。 ・J2を結果を求めるセルとします。 ・J2に、 =INDEX(歩合表,MATCH(H2,A2:A6,1),MATCH(I2,B1:F1)) あとは、H2、I2に数字を入れたら、該当する歩合が出ると思います。 ※最初にも触れましたが、達成率のレンジが変わる境界線を明確にしないと、どこのレンジにも該当しない人が出てきますのでご注意ください。 ※ご質問文では、93%未満の例を挙げた上で、「99%未満も上記のように設定したい」とありますが、歩合の数字は異なりますよね? 同じなら、もっとレンジの選択肢は狭まりますので楽でしょう。 意図に沿っていない形式でしたらすみません。
その他の回答 (2)
#2で回答した者です。 さて、 >INDEX関数のどの辺にIF関数を入れたらいいでしょうか? いえいえ逆ですよ。IF関数の中にINDEX・MATCHを入れればいいのでは? =IF(H2かI2が空欄の時、J2は空欄、そうでない時は該当の歩合率) にすればよいと思いますので、J2セルには、 =IF(OR(H2="",I2=""),"",INDEX・MATCHの式) ではどうでしょう。
お礼
お返事が遅くなりまして、スミマセン。 先ほど設定したところ、 解決しました。 エラーが出なくなりました。 これからいろんな時に活用できそうです。 ありがとうございます。
- Dxak
- ベストアンサー率34% (510/1465)
VLOOKUP関数の2段構えが、楽でしょうね =VLOOKUP([売上げ],[売上表],VLOOKUP([達成率],[達成率表],2)) [達成率表] 0% 2 93% 3 99% 4 100% 5 106% 6 112% 7 [売上表] 0.000 4% ? 7% 300.001 5% ? 8% 600.001 6% ? 9% 900.001 7% ? 10% 1,200.001 8% ? 11% と、言うような感じ・・・意味、理解可能? 全ての数値が判れば、ある程度、IF関数で規則化する方法も無いことは、無いけど・・・それが、出来ないから、質問なのだと・・・ なので、簡単で、変更しやすい、VLOOKUP関数でね
お礼
早速の回答ありがとうございます。 実はVLOOKUP関数も考えていたのですが、 イマイチ使い方がわからなくて・・・。 以前IF関数で長文を作ったときに出来たものですから、 また出来ると思いやってました。 でも限界を感じてます>< 早速チャレンジしてみたいと思います。 ありがとうございます。
お礼
早速の回答ありがとうございます。 はじめにVLOOKUP関数も試して出来ていました。 別表でVLOOKUP関数は使うこととして、 教えていただいたINDEX関数とMATCH関数で、 簡潔に短い文章で解決しました!! (コピペして改良したら出来ました) >※最初にも触れましたが、 >達成率のレンジが変わる境界線を明確にしないと、 >どこのレンジにも該当しない人が >出てきますのでご注意ください。 0% 93%(表示は93%ですがセルの内容は92.99%) 93% 100% 106% 112%と作りました。 0%~92.99%と93%~100%に設定したおかげで解決しました。 大変助かりました!! ありがとうございます。 追加で質問したいのですが、 結果として%が出てくるのですが、 H2とI2に数字を入れない時には %を表示されないようにするには INDEX関数のどの辺にIF関数を入れたらいいでしょうか? それともIF関数は間違いですか? =INDEX(B2:H7,MATCH(J2,A2:A7,1),MATCH(K2,B1:H1)) この文章です↑ 聞いてばかりでスミマセンm(_ _)m