- ベストアンサー
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列にどういった式を入れるとよいですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
境目の数値のときはどうするのでしょうか? 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)
小生今日雇用保険計算で使う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)
Sheet1のリストに下限だけ入れます。 下限 標準報酬 0 98000 101000 104000 107000 110000 114000 118000 Sheet2の B2 に =VLOOKUP(A2,Sheet1!$A$2:$B$5,2) って感じでしょうか? Sheet1!$A$2:$B$5 部分はリストの範囲です。