• ベストアンサー

エクセル関数

おはようございます。 実は昨日も同様な質問をしたのですが、更に質問したい事が出てきました。エクセル関数について下記の場合どのような計算式になるのか教えてください。 A1に50までの数値が入力されておりB1に下記の結果を表記したいのです 0以上10以下=A1の値の5% 11以上15以下=A1の値の10%より100を引く 16以上25以下=A1の値の20%より500を引く 26以上38以下=A1の値の23%より300を引く 39以上50以下=A1の値の30%より50を引く どうなりますか?

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

提示された条件をそのまま数式にすると以下のような関数になります。 =A1*LOOKUP(A1,{0;11;16;26;39},{0.05;0.1;0.2;0.23;0.3})-LOOKUP(A1,{0;11;16;26;39},{0;100;500;300;50})

その他の回答 (2)

  • osaruye
  • ベストアンサー率33% (8/24)
回答No.2

少し長いですが全部IF関数で作ってみました。 50以上は空白にしています。 =IF(AND(A1>=0,A1<=10),A1*0.05,IF(AND(A1>=11,A1<=15),A1*0.1-100,IF(AND(A1>=16,A1<=25),A1*0.2-500,IF(AND(A1>=26,A1<=38),A1*0.23-300,IF(AND(A1>=39,A1<=50),A1*0.3-50,IF(A1>=50,"",""))))))

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

使うのはVLOOKUP関数のTRUE型だ。 前質問の回答を理解すれば、推測が付かないのかな。 A列の値の区間ー%の数値(X)ー引く値(Y) の3列の対応表を空きの列につくり A1*X-Y を式で計算すれば良い。X,YはLOOKUP関数が来て、 XとYはVLOOKUP関数の第3引数(=列の指定が2と3)が違うだけ。