派遣事務員の迷走

派遣事務員コロ子。会社の犬。顔出しNG。常に迷走している。

マクロを作ると本質が見える?

こんにちは。
派犬事務員のコロ子です。

前回からExcel VBAであみだくじを作成中。
【前回の記事】
派遣事務 特殊スキルは評価されにくい - 派遣事務員の迷走
VBAで「あみだくじ」を作ろう。 - 派遣事務員の迷走
使えないマクロにならないために - 派遣事務員の迷走


前回、あみだくじの結果が一瞬で分かるコードを書いていて思ったんだけど・・・。
ここまで来ると、そもそも「あみだくじ」の必要があるのかどうか。

「じゃんけん」でも、「あたり・はずれを書いた紙を箱に入れてくじ引きする」、でも何でも良かったと思う。

30人中、17人にマンゴーが当たる。

これを満たせば何でも良かった。

ただ、「じゃんけん」だとなかなか勝負がつかないし、「くじ引き」だと、くじを引く順番で公平さが損なわれる。
だから手っ取り早く「あみだくじ」にしただけであって、何でも良かった。

と言うことは、こんな感じで良くない?

f:id:SNegishi:20190727160634p:plain

マンゴーの数を入力して
「抽選ボタン」を押す。
  ↓
f:id:SNegishi:20190727161540p:plain

マンゴーの数だけ当たりがランダムにでる。
乱数を使えば公平だよね?


【考え方】
マンゴーの数3個でやってみる。
①まず、B列に上からマンゴーの数だけ「当たり」を入れ、それ以降には「はずれ」を入れる。
②乱数を発生させC列に仮置きする。

f:id:SNegishi:20190727164347p:plain


B列とC列を対象にC列で昇順にソートする。

f:id:SNegishi:20190727164449p:plain

仮置きしていたC列を削除すれば、ランダムに当たりが出た事になる。

コード

Sub Lottery()

Dim i As Long
Dim StartCell As Long
Dim EndCell As Long

Application.ScreenUpdating = False

StartCell = 5
EndCell = Cells(Rows.Count, 1).End(xlUp).Row

For i = StartCell To EndCell

    If i - StartCell < Range("B2").Value Then
        Cells(i, "B").Value = "当たり"
    Else
        Cells(i, "B").Value = "はずれ"
    End If
    
    '乱数を発生させ、C列に仮置き
    Randomize
    Cells(i, "C").Value = Rnd

Next i

'乱数入れたC列でソートする
Range("B" & StartCell & ":C" & EndCell).Sort Key1:=Range("C4"), Order1:=xlAscending

'C列をクリア
Range("C" & StartCell & ":C" & EndCell).Clear

Application.ScreenUpdating = True

End Sub

感想

今回VBAであみだくじを作っていたら、「そもそもあみだくじにする意味あるのかな?公平なら何でも良くない?」と疑問が沸いた。
業務でも、こういうのいっぱいあると思う。
そもそも、何の為にそれをやるのか。
今までは手作業だったからそのやり方が最善だったけど、本当は何がしたいのか。
マクロを作っていると、本当はどうなんだろう?って思ってくる。

例えば、マンゴーを貰える人を選出する業務があるとして(何のこっちゃ)、毎日あみだくじをやっていたとする。
派犬のコロ子が「あみだくじの意味はありますか?抽選で良くないですか?」なんて言ったところで、「業務規定ではあみだくじで選出することになっています。なので簡単にあみだくじができるツールを作成してください。」と言われてしまう。
働き方改革、業務改善、本当に見直さなければいけないところはどこなんだろう・・・?
社内規定、業務規定の前にして派犬の無力さ(限界)を感じる・・・

お知らせ

今回の抽選のマクロ、コロ子は間借り方式で作ったけど、こういうのの考え方は人それぞれ。
「自分ならこうする!」と言うのがあれば、ぜひコメントください!
ブログ、Twitter@2a9SouLnhptnIqGで随時募集してます。
もちろん「あみだくじ」の書き方も募集してます!
自分が絶対当たるようにしちゃうとか(不正)もありです。

セラエノ (id:celaeno42)さんのあみだくじ。説明が分かりやすい!
動くのが見えるから楽しい!
celaeno42.hatenablog.com