こんにちは、とりっぷぼうるです。
元々エクセルとは全く縁のない生活をしていましたが、人員不足などで少しでもデータ入力作業や集計作業を効率化するしか方法が無く、仕方がなくエクセルに取り組み始まました。

作業効率化にはユーザーフォームを使いますが、様々な計算などはエクセル関数が必須です。
エクセル関数を使うことができないと、VBAどころじゃありませんし、成績表も作る事ができないのです。
当然ながらエクセルの専門知識もなく、学校に通うこともできずにただ単にエクセルの書籍とにらめっこしながら取り組んでいます。

でも書籍のままだと実用的でないことが多く、エクセル関数を組み合わせてみたら動いた!という実用例・体験談を書いています。
縦方向にデータ検索したい
表の中から特定の値を指定してデータ検索する事ってよくありませんか?
見つけたセルの2列右の値とか。
この場合は有名なVLOOKUP関数を使えば、簡単に検索できますが、縦方向で検索したいことありませんか?
ボウリングでのリーグ戦のレーン抽選でも参加選手の中から番号によりレーン・投球順を決めるので非常によく使いますので、VLOOKUP関数を使って解決しています。
VLOOKUP関数使用方法

では、縦方向のデータ検索はどこで使うか?
先ほどのボウリングのリーグ戦での対戦表で使用しています。
ひとつのシートでたくさんの情報を入力しているので、セル列番号がこんな感じになっていますが、成績表作成ではこの辺のセルは触らないので端っこの方に置いています。
1行目の6・8・10・12・14・16はチーム数です。
その下が連番で、チーム数が10チームの時は3番目なのでDZ2に3が計算されます。
この表でHLOOKUP関数が入っているのはセルDZ2でこのように入力しています。
セルBH1が登録済みチーム数が自動入力されるので、その数字を読み取って(10)表(EA1:EF2)の中から10チームを縦方向に探して、2列目の値を、完全一致で返しています。
この先FA列から6チームのボウリングリーグ対戦表が、FJ列に8チームが・・・HN列に16チームの表が書いてあります。
こんな感じの対戦表!
検索したチーム数が10、3番目の表という事で、3番目の表の10チームの対戦表を選択させるという仕組みです。
これにより、チーム数が変更になった場合でも対戦表により自動的に表を切り替えてくれるので、いちいちレコードシートを手書きしなくても印刷可能になっています。
勿論、この続きに、対戦表からチーム名・選手名・会員番号・AVE・HDCP・レーン番号と反映させる作業がありますけどね。
VLOOKUP関数で、登録選手・チーム名などを取得

CHOOSE関数で、選択された3番目の対戦表からデータ取得


Excel-VBAを使えば数分かかる作業がたったの1秒で終了しますよ!