• ベストアンサー

Excelで報酬月額を求める方法

A列に下限額、B列に上限額、C列に標準報酬月額が入っています。 イメージ的には Sheet1 A B C 10,000 15,000 12,500 15,000 20,000 17,500 20,000 25,000 22,500 といった感じです。 (実際には上限・下限の差は均一ではないですし、  C列も中間値ではありません) Sheet2で A 13,000 22,300 と、A列に金額を入力した際に、 B列に該当する標準報酬月額を表示したいのです。 上の場合だと A B 13,000 12,500 22,300 22,500 といった感じです。 (1列目は10,000と15,000の間なので12,500、  同様に2列目は20,000と25,000の間なので  22,500という感じです) Sheet2のB列にどういった式を入れるとよいですか?

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

  • ベストアンサー
  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.1

境目の数値のときはどうするのでしょうか? 15,000のときは、12,500なのか17,500なのか不明です。 Sheet1 A    B 10,000 12,500 15,000 17,500 20,000 22,500 25,000 として、 Sheet2 A    B 13,000 =VLOOKUP(A1,Sheet1!$A$1:$B$4,2) 22,300 =VLOOKUP(A2,Sheet1!$A$1:$B$4,2) 15,000までは12,500なら Sheet1を A    B 10,001 12,500 15,001 17,500 20,001 22,500 25,001 とします。Sheet2のB列の式は同じです。

その他の回答 (2)

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

小生今日雇用保険計算で使う7/1000の表の計算による実現で考えたばかりです。直上額との平均を使っているようでした。関数式では難しいとおもい、ユーザー関数を作りました。 VBEに標準モジュールを挿入し Function hoken(a) Worksheets("sheet7").Activate For i = 1 To 10 If a < Cells(i, "a") Then Exit For Next i x = (Cells(i, "a") + Cells(i - 1, "a")) / 2 hoken = x End Functionを貼りつける。 A1:A10にテーブル(小-->大のこと) 0 20 30 40 50 70 90 130 140 170 を作り、 C1に132といれ、D1に=hoken(c1)といれると D1は135になります。実際はroundにすべきようですが。 あえて関数なら 0 20 20 10 30 10 40 10 50 20 70 20 90 40 130 10 140 30 170 30 のように、値と増分値をテーブルとし =VLOOKUP(C1,$A1:$B10,1,TRUE)に =VLOOKUP(C1,$A1:$B10,2,TRUE)の1/2を加えると 中間値が出る。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

Sheet1のリストに下限だけ入れます。 下限   標準報酬   0   98000 101000  104000 107000  110000 114000  118000 Sheet2の B2 に =VLOOKUP(A2,Sheet1!$A$2:$B$5,2) って感じでしょうか? Sheet1!$A$2:$B$5 部分はリストの範囲です。

関連するQ&A