• ベストアンサー

エクセルの質問です(関数について)

こんにちは。 エクセルについて質問です。 会社で給与に関する計算をしたいのですが、とあるやり方に困っておりまして、アドバイスを頂けたらと思います。 内容は・・・、 以下のサンプル表において、A1の値が555の場合、D6の26をA3に反映させたいのです。 A1の給与が555円の場合、501円以上600円以下の給与の社会保険料は26円になります、といった具合にです。      B、C列は給与の範囲です  D列は社会保険料です。 ******** サンプル表です *********     A    B    C    D 1  555     2       100  200  22 3   26  201  300  23 4       301  400  24 5       401  500  25 6       501  600  26 7       601  700  27 8       701  800  28 9 ・ ・ ******** サンプル表です ********* A1の給与が555だったら社会保険料はD6の26、A1が390だったらD4の24、といった具合に、A3に範囲内の数値を反映できれば、手段はどうでも良いのですが・・・。(とはいってもなるべくわかりやすい手段で・・・。) ちなみに私はエクセルにおいて、関数とマクロ知識がありません。知識と知恵を拝借させて頂ければと思います。よろしくお願いいたします。

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

  • ベストアンサー
  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.2

セルA3に =VLOOKUP(A1,$B$2:$D$8,3) と入力します。(反映する値の入力されている行がさらに下に続く場合には、$D$8の部分を$D$20とか最終行に書き換えてください。) VLOOKUP関数は、 VLOOKUP(検索値,範囲,列番号[,検索の型]) の書式で、『検索値』を『範囲』の最も左側の列から検索し、同じ行の『列番号』で指定された列のデータを取り出します。 『列番号』は取り出したいデータが入力されている列を、『範囲』の一番左の列を1として数えて、指定します。 『検索の型』は"TRUE"または"FALSE"で指定します。  省略した場合、または"TRUE"を指定した場合には、『検索値』と一致する値がない時には、『検索値』より小さい値の最大値が検索されます。『範囲』内を昇順に並べ替えておく必要があります。  "FALSE"を指定した場合には、検査値と一致する値が見つからない時にはエラー(#N/A)を返します。『範囲』内を昇順に並べ替える必要はありません。

xj-r
質問者

お礼

できました!丁寧な説明と補足、大変助かりました。関数に関する知識が非常にたりないもので・・・。ありがとうございました。

その他の回答 (2)

  • Yepes
  • ベストアンサー率17% (18/104)
回答No.3

検証していないので回答になりませんが、 Indexでそのようなことができたと思います。 もしその類のことでお悩みでしたら、 下記のURLでいろいろ情報が拾えますので、Excelファンクラブ 一番やりやすい方法を見つけてください。 答えはひとつではないでしょう。 私ならif関数でネストします。 面倒くさいので。。。(^^;

参考URL:
http://www.fuji.ne.jp/~excelyou/
xj-r
質問者

お礼

ページのご紹介ありがとうございます。今後参考にさせて頂きます。

  • ippei3
  • ベストアンサー率57% (4/7)
回答No.1

こんばんわ。 こんな関数でどうでしょうか。 A3セルに次の計算式を入れます。 =VLOOKUP(A1,B2:D8,3) LOOK関数ですね。 それでは。

xj-r
質問者

お礼

早速試してみました。できました!大変助かりました。ありがとうございます。

関連するQ&A