忘年会シーズンですね。
お酒は大好きな僕ですが、さすがにこのシーズンはしんどいです(笑)
肝臓もさることながら、立場上、お財布もなかなか…(笑)
さて、どんな飲み会でもトップが全額おごり、に出来たら素晴らしいのですが、現実的にはそうも行かないですよね。
※そうなれるように精進します…
一方で、参加者全員でキッチリ割り勘というのも違う。
こんな時は、参加者の年齢や立場、酒量によって傾斜をつけて割り勘したりするわけですが、その計算がなかなか面倒…
ほろ酔いの頭ではまともに計算も出来ませんしね…
なんと、世の中のサラリーマンの中には、そんな時のために、傾斜割り勘自動計算ツールなるものをExcelで作っている方がいるというではありませんか。
これは気になる。
ということで、自分でも作ってみました。
傾斜のつけ方には様々な考え方があると思いますが今回は
- 参加者をいくつかのレンジに分ける
- レンジ間の差額を等しくする
- 最少額から求める方法、最大額から求める方法の2種類を作成
としてみます。
え?ダイビング?
完全に関係ないです(笑)
身の回りのことに表計算を活用する、頭のトレーニングです!
日ごろから表計算を使うクセをつけることで、何か新たな課題が出てきたときに、スムーズに解決できるようになれるのではないかな、なんて思ってのことです。
最少額から求める方法
例えば参加していたのが以下の人々としましょう。
- オーナー(1人)
- 30代の常勤スタッフ2人
- 20代の非常勤スタッフ4人
ここで20代の非常勤スタッフに払ってもらう額をa、レンジ間の差額をxとします。
なんだかだんだん、中学生の数学みたいになってきましたね!(笑)
すると、30代の常勤スタッフが払う額はa+x、オーナーが払う額はa+2xとなります。
飲み会の総額をbとすると…
a×4+(a+x)×2+(a+2x)=b
ですね。
整理すると
7a+2×x+1×2x=b
もう少し書き換えると
(参加人数)×(最少額)+Σ{(各レンジの人数)×(各レンジ番号-1)×差額}=総額
※便宜的に、各レンジに下から順にレンジ番号を振ることとします。
これをExcel(スプレッドシート)に反映したものがこちら。
レンジは10個作ってみましたが、実際に使うとすれば、せいぜい5個ぐらいでしょう。
金額の列(C列)は以下の通りにしました。
=IF(B4<>“”,ROUND($G$2+2*$G$3,–2),“”) ※C4セルの場合
IF(B4<>””,ごにょごにょ,””)
の部分は、もしB4セルが空白(””が空白の意味)でなければ(<>が≠の意味)ごにょごにょの処理、空白ならこのセルも空白に、ということを表しています。
ごにょごにょ、ROUND(ほげほげ,–2)
の部分は、ほげほげの計算結果を四捨五入(ROUND関数)しなさい、切り上げ切り捨ては小数点-2位、つまり10の位で、という処理です。
大の大人が10円単位の割り勘はしたくないですからね…(笑)
ほげほげ、$G$2+2*$G$3
の部分は、G2(最少額)+G3(差額)×(レンジ番号-1)、つまり徴収額です。
確認用の列下部、D12セルを見て頂くと、四捨五入が入る関係で、徴収額の合計と、支払総額に100円の差額が出てしまっています。
まぁ、そこは…
オーナー!お願いします!(笑)
最大額から求める方法
基本的な考え方は同じです。
今度はオーナーに払ってもらう額をa、支払総額をb、レンジ間の差額をxとします。
(a-2x)×4+(a-x)×2+a=b
ですね。
整理すると
7a+(-2x)×4+(-x)×2=b
もう少し書き換えると
(参加人数)×(最大額)+Σ[(各レンジの人数)×{-(各レンジ番号-1)}×差額]=総額
※今回は、先ほどとは逆に、各レンジ上から順にレンジ番号を振ることとします。
これをExcel(スプレッドシート)に反映したものがこちら。
今回も四捨五入の都合で100円の差額が出ていますね。
こーゆー時、最初に100円玉を出せるかどうかで出世に影響する?
わけもないですが、若手!サッと出して!(笑)
ここまでやってから少しだけ調べてみるとアプリも普通に出てきますね(笑)
こんなサイトも…
良いんです。
今回は『作ってみる』ことが目的なので…
頭の体操です。
宣伝
今回の物は半分ネタとして、こんな便利ツール作って欲しい、みたいなオーダーがあれば、お引き受けしたいなと思います。
※ダイビングショップ運営に関わるものに限ります。(飲み会は…可!笑)
今回の様な標準の関数のみで実現出来る物であれば3000円/件
GoogleFormとの連携が必要なものであれば+1000円/件
関数だけでなくGoogleActionScriptを導入する場合には8000円/件
でいかがでしょうか!?