エクセルで運賃を出す方法は?
エクセルで0kmから3km以下は130円、3kmから6km以下は160円・・・xkmからykm以下はz円というような表示を出すVBAまたは関数は、どのようなものが考えられますか? ちなみに暫定的に作ってみたのが、以下のような感じです。
Function alif(hikaku As Single, kyorikara As Single, kyorimade As Single) As Single
→ single関数を使うことで、0.1km等の小数点に対応しております。
Dim yen As Integer
Dim i As Integer
For i = 1 To 100
kyorikara = Cells(i, "B")
→ B列に、0kmから・・・等を入れています。
kyorimade = Cells(i, "D")
→ D列に、3km以下・・・等を入れています。
yen = Cells(i, "C")
→ C列に、運賃の情報を入れております。
If hikaku > kyorikara And hikaku <= kyorimade Then
alif = yen
Exit For
→ 比較用のセルが、x距離より多くてy距離以下の場合、関数を入力した場所にz円を代入して For Next 文を終了します。
Else
→ Elseは特に何も用意していない。
End If
Next
End Function
しかし、これですと運賃関連の情報を1列移動した瞬間にデータが狂います(運賃関連のシートを別に作って、列を絶対に変更しなければ問題ないとは思いますが・・・)。どうにか列を変更しても問題なく作る方法はないでしょうか?
また、使っていて気付いたことですが、運賃の「円」数値を変えた際に自動再計算しないのですが、これを自動計算させるにはどのような方法があるのでしょうか?(設定で手動計算になっていたのかは確かめておりませんので、これは改めて確認してみますが・・・。)
どうか、ご教示いただければ幸いです。