#7 データベースを変形させる①
これまで#1で作成した表を更新し、当せん番号を導こうとしていましたが、データの軸をもう一つ追加します。今までの本数字①~⑦、ボーナス①②を各回ごとに入力して管理する方法では、例えば本数字①が1~21までに収まっていて、平均は5.08、中央値は4、最頻値は1、標準偏差は3.864。
この表からできることは他にあるかもしれませんが、一旦は当せん番号が発表されたら入力をするためのものとして次に進みます。
次に作る表は、1~37までの表を作り当選が出た回に印をつけていきます。○をつけると見栄えはいいのですが、今回は当せんした番号には1、しなかった番号には0を入れていきます。そうすると下の表2のようになります。
条件付き書式で1には分かりやすく色をつけています。
各回の合計は必ず7なのでつけていません。平均や中央値の値もこの形式の表では必要ありません。各回で何番が当せんしたのかを分かりやすく見るための表ではなく、各番号の出現頻度を知るために、次回以降はこの表に手を加えていきます。
さて、この記事ではロト7の当せん番号を導くためにExcelを使用していますが、本来は仕事で使う人が多いのではないかと思います。そういった場合に今回行った本数字のセル(Excelのマスのこと)に当せん番号を入力をしている表と当せんした番号のセルにも入力をすると二度手間になってしまいます。あなたの回りを見渡してもらってもいいかも知れませんが、このような仕事、課題を与えられたときに同じ仕事を二回しないといけなくなる。本人は就業時間中にやることができた。と思うかも知れませんが、仕事=成果と考えると効率が悪いです。ロト7の場合ですと、毎週末に同じことを繰り返さないといけない・・・・。
私はこんなことはやっていられない性分なので、関数を使って時短を考えますし、関数を使った方が間違いがないです。Excelで作ったものを見る上で手入力ほど信用できないものはないと疑っています。
話がそれたので元に戻します。ある表に入力されている数字を別の表に移したい場合。とても便利なExcel関数があります。
これができれば、Excelの階段を3段くらい上がることができ、周りの人からExcelができる人だと思われます。コツを掴めばそんなに難しくありません。
それは、VLOOKUP関数です。関数を使う人は聞いたことはあると思いますが、派遣社員の登録などでExcelスキルを問われる場合にも使いこなしているとランクが上がりますね。
VLOOKUP関数の構造はこのようになります。
=VLOOKUP(①,②,③,④)
表3のD17のセルにVLOOKUP関数が入っています。
そして、関数の答えが7。なぜ、7が答えになったのかを説明します。
=VLOOKUP(①,②,③,④)
この関数の中にある①②③④を表3の中で確認してください。
①はC17 ここには第550回と入力されています。
②はB2:J12 データの範囲が赤枠で囲われています。
③はB14:J14 ②の下に左から1から9までの番号が振ってあります。
④は表3の中にありませんが、D17の数式では0が入力されています。
※通常は0を入れると覚えて構いません。1を入れて使う場合もありますが、難易度が高くなります。
これだけでは分かりませんので、①②③④の関係性を文章で説明します。
①に入っているデータを②で指定したデータ範囲の左端の列の中で探して、④の条件(0は一致している)を満たしている場合、③で指定した数分だけ右に移動したところにある数字を返します。④を0にしている場合に①が②の左端の列に一致するものがなかった場合はエラーになります。
表4のD17が#N/Aというエラーになっていまのが分かります。
②のデータ範囲のB列に①で指定した第550回があるので、3行目の③で指定した3番目のD列のD3に入っているのが7というわけです。
表①から表②に数字を移行するには、関数を組み合わせているのですが、VLOOKUP関数を使うことで入力の手間が省けるようになります。
今回はここまで。
また、続きを説明します。