本日4月16日は約一か月ぶりに丸一日の休みとなりました。
休みはとてもありがたいものですね。
こんにちは。
運び屋本舗でございます。
今日は一日の休みでしたが、では何をしていたのか。
私は、エクセルで稼働状況を荷主ごとに運賃を計算しているのですが、中でも八百屋の運賃計算がそれなりに細かいのです。
条件は
- 一日あたり11500円
- 15分オーバーごとに450円が加算
- オーバーした時間を日ごとに計上
- それらの合計を計上
という仕様です。
以前もこれの計算を自動化というか、終了時間を入れると
- 残業時間 (12:00以降の時間の15分単位)
- 残業時間分の売り上げ (残業時間内15分単位×450円)
- 基本運賃と残業分の売り上げの合算(基本運賃11500円+残業時間分の売り上げ)
を、表示できるようにしようとしたのですが、なかなかうまくいきませんでした。
でも、入力用のフォームと印刷用のフォームを分けることで解決しましたね。
同じセルに複数の式を入れることが出来ませんので、入力用のフォームで一回目の計算をして、次の計算結果を印刷用のフォームに反映させればいいことに気付きました。
そうしたら、簡単に解決できました。
なーんだ。
例えば、私の場合は6時~12時までの6時間契約。
基本運賃は11500円です。
12時以降のオーバー分に対して15分ごと450円が加算されます。
エクセル上でやること
まず、残業時間の算出です。例えば終了時間が12時33分だとしたら、残業時間は33分です。
しかし、15分ごとの加算なので、残業時間は30分で900円の加算となります。
これはFloor関数で計算できます。
次に、30分の中に15分がいくつあるのかを計算。
これも、30分÷15分で結果は2となり、30分の中に15分は2つあることになります。
ただし、日によっては終了時間が11時50分とか、12時に満たない日もあるのでそういう日はマイナスになります。
そういう時はif構文で0を代入。
次に得られた2という結果に対し、450円を掛けたものを基本運賃11500円に足し、その日の売り上げに結果を表示させる。
12時に満たなかった日は、0×450円となり、結果は0円です。
残業してないからね。
簡単に書くとこんな処理になりますね。
これで、終了時間12時33分を入力すると、印刷用のフォームに12400円、残業時間は30分が表示されるようになりました。
今までは、残業時間も見れば何分なのか分かりますので、電卓で計算していましたが、月末に一気にやるので結構面倒なのです。
毎日やればいいのですが、私は几帳面ではありません。
なので、エクセルの自動計算は非常に便利なのです。
前職のタンクローリーの会社にいたときの先輩ですが、数字を各セルに入力後、結果も自分で電卓で計算したものを入力していましたね。
式を入力しろよ。
プログラミングもそうですが、エクセルいじりも楽しいよね。
ワードは楽しくないけど。
ではまた。