• 締切済み

ちょっとややこいしい内容ですが?

会社を退職して頭の体操をしています。質問ですが a1に名前 a2にAさん、a3にBさん、a4にcさん、a5にdさん、a6に合計 b1に目標 b2に200、 b3に100、 b4に200、 b5に300、 b6に合計800 c1に実績 1)そこで合計800が出来ればaさんからdさんまでおかねををあげたいと思います。またその人の目標を達成しなければいけません。 100%で\50, 105%で\60, 110%で\70をあげたいと思います。 2)合計800が出来なかった場合aさんからdさんで自分の目標が出来た人には上記の金額の半分をあげたいと思います。aさんにはどんな関数、式をいれればよいのでしょうか?またこんなややこいしいことはできますか?

みんなの回答

  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.7

・「102%のとき\54」のように連続的に増えるのか、それとも5%きざみで段階的に増えるのか ・110%⇒\70が上限か、それとも際限なく増えるのか わかりませんが、仮に「段階的に増える」,「\70が上限」として…。 実務であれば、保守性も考慮して、  =VLOOKUP(C2/B2,{0,0;1,50;1.05,60;1.1,70},2,1)*IF(C$6>B$6,1,1/2) 「頭の体操」であれば、  =MAX((MIN(INT((C2/B2-1)*20),2)+5)*10,0)/((C$6<B$6)+1) とか。 ご参考まで。

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.6

既に、回答は出ているようですが、頭の体操ということなので、正解よりも、正解の導き出し方について。 最初から1つの式でやろうとせず、まずはいくつかの作業列を作って、とにかく欲しい値を求めてみましょう。 そのあとに、作業列の式を統合して、1つの式にしましょう。

23su-san
質問者

お礼

そうですね。どう考えればよいのか 知りたかったのです。ありがとうございました。

回答No.5

あっ! 条件2のことを忘れてました。 入力中に他の方の回答があったようですね。 CoalTarさんの式に一票入れます。素晴らしい!!

回答No.4

d2に=IF(C2="","",IF($C$6<$B$6,"",IF(C2<B2,"",IF(C2<B2*1.05,50,IF(C2<B2*1.1,60,70))))) と入力し、 d3~d5にコピーすると、d列に金額が表示されます。

回答No.3

頭の体操ということなので一番べたなやり方を示します もっと、簡素化できるのは間違いないです。 =IF(B2<=C2, IF(C2/B2>=1,50,0)+IF(C2/B2>=1.05,10,0)+IF(C2/B2>=1.1,10,0),0)*IF($B$6<=$C$6,1,0.5) また、115%の場合は\75でしょうか?

23su-san
質問者

お礼

回答有り難う御座いました。 自分としては全体そして小さい数字を記述していくのかと 思っていました。大きい数字から記述していくと小さい数字 をかぶせるからです。自分で色々参考書など参考にしながら 勉強しているのですが、ありがとうございました。

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.2

条件 2) において、目標が未達成の人は、目標を達成した人すべてに、賞金の半額を譲渡するということですか?  仮に一人だけが目標未達成の場合、3人に25円ずつ譲渡する。

23su-san
質問者

お礼

2)の条件は個人目標は達成しなければいけません。 しかし合計が達成しなかったが個人が達成した場合お情けで 半額だすとします。

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

以下の式でいかがでしょうか? =IF(C1>=B1,IF($C$5>=$B$5,(50+((C1/B1)-1)*100),(50+((C1/B1)-1)*100)/2),0) 実績が目標以上の場合かつ合計の実績が目標以上の場合は、50に1パーセントに付き1を足した値を出力します。 実績が目標以上の場合かつ合計の実績が目標未満の場合は、50に1パーセントに付き1を足した値を2分の1した値を出力します。 上記以外の場合0を出力します。

23su-san
質問者

お礼

ああー!。たくさんの回答ありがとうございます。 一つ一つどうのように考えていけばよいのか時間を かけて見させてもらいます。すごい! 本当にありがとうございます。

関連するQ&A