• ベストアンサー

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関数のほかに簡単な関数はありますでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
noname#64582
noname#64582
回答No.2

ちょっと疑問があります。 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%未満も上記のように設定したい」とありますが、歩合の数字は異なりますよね? 同じなら、もっとレンジの選択肢は狭まりますので楽でしょう。 意図に沿っていない形式でしたらすみません。

参考URL:
http://trendy.nikkeibp.co.jp/article/lecture/20040322/108253/
sat1020
質問者

お礼

早速の回答ありがとうございます。 はじめに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

その他の回答 (2)

noname#64582
noname#64582
回答No.3

#2で回答した者です。 さて、 >INDEX関数のどの辺にIF関数を入れたらいいでしょうか? いえいえ逆ですよ。IF関数の中にINDEX・MATCHを入れればいいのでは? =IF(H2かI2が空欄の時、J2は空欄、そうでない時は該当の歩合率) にすればよいと思いますので、J2セルには、 =IF(OR(H2="",I2=""),"",INDEX・MATCHの式) ではどうでしょう。

sat1020
質問者

お礼

お返事が遅くなりまして、スミマセン。 先ほど設定したところ、 解決しました。 エラーが出なくなりました。 これからいろんな時に活用できそうです。 ありがとうございます。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

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関数でね

sat1020
質問者

お礼

早速の回答ありがとうございます。 実はVLOOKUP関数も考えていたのですが、 イマイチ使い方がわからなくて・・・。 以前IF関数で長文を作ったときに出来たものですから、 また出来ると思いやってました。 でも限界を感じてます>< 早速チャレンジしてみたいと思います。 ありがとうございます。

関連するQ&A

  • IF関数で複数条件について

    Excel2003を使っているExcel初心者です。関数、複数条件について教えてください!売上額によって歩合が変動する給与台帳を作っていて D~K~N 1クラス  売上    歩合給 2課長   500,000   3スタッフ 400,000 Nの歩合給の所に =IF(K7>2500000,K7*0.56,IF(K7>1999999,K7*0.54,IF(K7>1499999,K7*0.52,IF(K7>999999,K7*0.5,IF(K7>1,K7*0.4,""))))) という関数を入れました。(売上250万以上なら歩合56%、249万~200万なら歩合54%・・・という風に書きました) これで上手く表示されたのですが実はDのクラスによって歩合の率を変動させなければいけませんでした!課長は上記の通りの歩合(売上250万なら56%)、スタッフは上記の歩合から5%引き(売上250万なら51%)という具合に。 歩合給の所でどちらも上手く表示させたいのですがさらに条件が増えた事で全くやり方が分かりません。 どなたか分かりやすく教えていただけませんでしょうか。 どうぞよろしくお願いします。

  • IF関数で複数条件について

    Excel2003を使っているExcel初心者です。関数、複数条件について教えてください!売上額によって歩合が変動する給与台帳を作っていて D~K~N 1クラス  売上    歩合給 2課長   500,000   3スタッフ 400,000 Nの歩合給の所に =IF(K7>2500000,K7*0.56,IF(K7>1999999,K7*0.54,IF(K7>1499999,K7*0.52,IF(K7>999999,K7*0.5,IF(K7>1,K7*0.4,""))))) という関数を入れました。(売上250万以上なら歩合56%、249万~200万なら歩合54%・・・という風に書きました) これで上手く表示されたのですが実はDのクラスによって歩合の率を変動させなければいけませんでした!課長は上記の通りの歩合(売上250万なら56%)、スタッフは上記の歩合から5%引き(売上250万なら51%)という具合に。 歩合給の所でどちらも上手く表示させたいのですがさらに条件が増えた事で全くやり方が分かりません。 (歩合給の所に課長かつ売上250万なら歩合56%、しかしスタッフかつ売上250万なら歩合51%) どなたか分かりやすく教えていただけませんでしょうか。 どうぞよろしくお願いします。

  • IF関数

    Window98を使用しております。エクセルに関してですが、基本的な事ですいません。IF関数で、条件が3つある場合、例えば100000以上が達成、80000以上が努力、80000未満が検討という場合関数を使用して最初の論理式の所で、>=100000と入力しまして、その後、真の場合の所で、達成と入力、そして、最後の偽の所で、もう一度IFを使用したのですが、それを押すと・+if(if()となってしまい。また一旦閉じて計算式の所で、IFを押したら+ifとなって、余分な+がついてしまいました。設定方法が悪いのか?入力の仕方が悪いのか?どうすればいいのか教えてください。

  • IF関数について

    年利率を求めたいのですが、IF関数がよく分からないので式を教えて頂けませんか? <年利率表> 日数       年利率 240以上    →3.8% 180以上240未満→3.5%     180未満→3.2%

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

    平均点80~100点で達成率60%以上「A」 平均点60~79点で達成率60%以上「B」 平均点40~59点で達成率60%以上「C」 平均点39点以下で達成率60%以上「D」 平均点に関係なく達成率59%以下「E」  上記の関数を教えてもらえますでしょうか? 「A」「D」はわかるのですが「B」「C」「E」が自信ないです。 似た質問を最近したばかりですがイマイチIF関数を理解してないです。 以上、ご教示願います。

  • IF関数教えてください><

    IF関数で、 売上金額が500,000未満の場合は「○」で、500,000以上、1,000,000未満の場合は「△」 1,000,000以上の場合は「×」にしなさい。 という問題の場合ってどういう式を作ればいいんですか。 ※売上金額の欄が仮にAの欄に書いてあるとする。 ※セルに直接式を入力する場合のやり方でお願いします。

  • if関数を使って割引率をだす

    売上金額の50,000円以下を0%,50,000以上100,000円以下を5%,100,000以上を10%を値引き率とします。 例えばG6のセルにF5の売上金額を参照して上記の条件の元に式を作りたいんです。IF関数を使うのだと思うのですが、どうしてもうまくいかないのでお助けください。

  • IF関数の計算式を教えてください

     来期目標額」の右側の列に「区分」(「」は不要)という項目を作り  今期目標額以上の売上を達成した支店には「優」(「」は不要)と 区分を表示し、  達成していない支店には何も表示しない設定をせよ  ※IF関数を使用すること、とありますが、この場合今期売上額と今期目標額  で計算したらいいのですか?教えてください

  • エクセル、IF関数

    エクセルで躓いています。 今期目標額を10%以上上回る売上を達成した支店には「特」 今期目標額を達成した支店には「優」 達成していない支店には何も表示しない という値をIF関数を使用してG6に入れたいと思っています。 例えば、東京支店「今期目標額」がD6、「今期売上額」がE6、「目標達成割合(%)」がF6にある場合 上記の値をG6に入れたいのですが、どのような値を入れたらいいのでしょうか。 よろしくお願いします。

  • エクセルINDEX関数でアドバイス欲しいです!!

    現在INDEX関数を使い歩合計算をしています。 条件は 個人売上0~300000で達成率93%で4%歩合 個人売上0~300000で達成率100%で6%歩合 他パターン20通りほどあります。 なお人件費が53%以上になったら、歩合が1%ダウンします。 とても細かく分かれていて、現在使っている数式は、 =IF(OR($A$3="",$B$3="",$K$3>=53%), INDEX(sheet1!$B$11:$H$16,MATCH($H$3,sheet1!$A$11:$A$16,1),MATCH(C9,sheet1!$B$10:$H$10)), INDEX(sheet1!$B$3:$H$8,MATCH($H$3,sheet1!$A$3:$A$8,1),MATCH(C9,sheet1!$B$2:$H$2))) sheet1のB2~H2に 0 300000 600000 900000 1200000 1500000 1800000 sheet1のA3~A8に 0% 92.9% 99.9% 100% 106% 112% 上記数値設定があり、人件費53%以下なら、 B3~H8に入っている%の数値を拾ってきます。 同様に人件費53%以上なら B11~H16入っている%の数値を拾ってきます。 今回はさらに売上全体に対してその歩合%に対して、 以下の条件を付ける事になりました。 店舗目標予約率50%以下=歩合-1% 個人目標予約率40%以下=歩合-2% 添付資料「指名売上」の%はそのままで、 %をダウンした数式を作りたいと思って試行錯誤したのですが、 行き詰ってしまいました。 現在の数式を整理すると ★個人指名売上1.250.000円 ★人件費51%(添付資料だと53%以下参照) ★達成率102% ★F6セルの「11%」を拾う となっています。 これに、 店舗目標予約率50%以下=歩合-1% 個人目標予約率40%以下=歩合-2% 店舗目標が50%以下で個人目標が40%以上なら-1% 店舗目標が50%以上で個人目標が40%以下なら-2% 店舗目標が50%以下で個人目標も40%以下なら-3% のような感じです。 なかなか文章の着地点が見えないのですが、 このような感じで1つのセルに数式を作る事は出来るのかどうかです。 私には複雑なのか組むことが出来なかったので、 お分かりになる方、参考にさせていただけたらと思っています。 また、INDEX・MATCH関数ではなく、 別の関数による数式があればそちらでトライしてみますので、 それも含めアドバイスいただけたらと思います。 長文で内容が分かりづらいかもしれませんが、 よろしくお願いいたします。

専門家に質問してみよう