• ベストアンサー

エクセル計算(関数計算)

こんにちは。 セル(A1)に値が入力されているのですが、その値を下記の条件で表示したいのです。関数で何か方法はありませんか。 0以上10以下=5% 11以上15以下=10% 16以上25以下=20% 26以上38以下=23% 39以上50以下=30% 宜しくお願いいたします。

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

  • ベストアンサー
  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

=LOOKUP(A1,{0,11,16,26,39},{0.05,0.1,0.2,0.23,0.3}) で大丈夫です。 他の方法としては、 たとえば、E1:F5に 0 5% 11 10% 16 20% 26 23% 39 30% という表を作っておいて、 =VLOOKUP(A1,E1:F5,2) でも大丈夫です。 ところで、A1に50以上の値が入力された場合は、どうしたいのでしょうか?

sugasuga
質問者

補足

実は・・・。 間違ってました。 セル(A1)に値が入力されているのですが、その値を下記の条件で表示したいのです。関数で何か方法はありませんか。 0以上10以下=A1の値の5% 11以上15以下=A1の値の10% 16以上25以下=A1の値の20% 26以上38以下=A1の値の23% 39以上50以下=A1の値の30% A1に50以上の数値が入力されることはありません。 何かいい方法ありませんか・・・・

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! すでに回答は出ていますし、重複するかもしれませんが・・・ ↓の画像のように表を作ってみました。 表で必要部分はD列とG列だけなのですが、 判りやすくするために「~未満」の列も設けています。 B1セルに =IF(A1="","",A1*VLOOKUP(A1,D2:G6,4,1)) という数式が入っています。 これで希望に近い形にならないでしょうか? 尚、同様の使い方で =IF(A1="","",A1*INDEX(G2:G6,MATCH(A1,D2:D6,1))) としても同じ結果が得られると思います。 以上、参考になれば幸いです。m(__)m

sugasuga
質問者

お礼

丁寧な説明ありがとうございます。 いろんなやり方があるんですね。 参考にします。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.4

=LOOKUP(A1,{0,11,16,26,39},{0.05,0.1,0.2,0.23,0.3})*A1

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

VLOOKUP関数はエクセルを少しやった人の常識です。それを使う課題です。 何処かのセルに(例えばE,F列に) 0 5% 11 10% 16 20% 26 23% 39 30% 51 を作る。 B1に =VLOOKUP(A1,$E$1:$F$6,2,TRUE) と入れる。 値に対応する%が出る。 これにA1などを掛けて=A1*VLOOKUP(A1,$E$1:$F$10,2,TRUE) とする。 VLOOKUPの質問をしている点 実は間違ってましたと#1の回答を理解できて無い点 などを見ると、相当エクセルの勉強が必要です。 セル範囲に検索表を持たず、{}で式の中へ、表を埋め込むのは 更なる高等テクです。 ほかに似たHLOOKUP、LOOKUP(2種)の4種があります。興味があれば WEBで照会すること。 データ行が沢山あると $E$1:$F$6のように$つきにしないと、結果がおかしくなります。 $をつける意味はわかりますか。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

ところで、私の回答は試してみましたか? どちらの方法にせよ、その計算式にA1を掛ければ、求めたい値を求められるのですが。

sugasuga
質問者

補足

はい。試してみました。 =LOOKUP(A1,{0,11,16,26,39},{0.05,0.1,0.2,0.23,0.3}) これは出来たのですが・・・A1を掛けるというのが・・・ できません。どこにA1を入力すればいいのでしょうか。

関連するQ&A