[[20210913105314]] 『単純な場合分けが沢山ある場合』(ししまる) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『単純な場合分けが沢山ある場合』(ししまる)

通院距離に対応した通勤手当額の値を返したいです。

2キロ以上〜5キロ未満→12000円
5キロ以上〜10キロ未満→25200円

上記のような、距離による場合分けが13パターンあるのですが、
これをVBAで処理する場合、どのように記述するのが綺麗でしょうか?
ifを沢山並べれば良いのでしょうが、なんだかダサい気がして(-_-;)

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 Select Caseステートメントではどうだろうか?

 Select Case 距離
     Case Is < 2: 手当 = 0
     Case Is < 5: 手当 = 12000
     Case Is < 10: 手当 = 252000
      〜
 End Select

(ねむねむ) 2021/09/13(月) 11:10


 おっと
 252000
   ↓
 25200
 で。
(ねむねむ) 2021/09/13(月) 11:12

 Dim kyori, kyoriAry, teate, teateAry
 kyoriAry = Array(0, 2, 5)
 teateAry = Array(0, 12000, 25200)
 kyori = Application.InputBox("通院距離を入力", Type:=1)
 teate = WorksheetFunction.Lookup(kyori, kyoriAry, teateAry)
 MsgBox "通勤手当は " & teate & " です"

別案を試作してみました。
(めざめるパワー) 2021/09/13(月) 11:50


お二人ともありがとうございます。
すんごいです。
(ししまる) 2021/09/13(月) 11:58

 >ifを沢山並べれば良いのでしょうが
 VLOOKUPで出来るのでは。
(OP) 2021/09/13(月) 13:16

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.