きょういく ユースフル! ~ 僕は触媒になりたい ~

全て | カテゴリ未分類 | 生活をよくする | 本の紹介 | 共に生き、共に育つ | たのしいべんきょう | 個人的な日記 | 体育 | 音楽♪ | 道徳 等 | 問題解決 | 考え方 | 話し合い・話す・聞く | 特別支援教育 | 小学校 | 阪神間 地域情報 | PC・デジタル関係 | 教材・教具 | 食育(自立生活・家庭科)・園芸 | 仕事術 | 旅行(温泉含む) | 英語学習 | 環境保護・エコ | 作文・書くこと・漢字 | よのなか(社会) | いのち | 人間関係・コミュニケーション | 子育て | 地震・防災 | 算数 | 心理・カウンセリング・セラピー | 読む・音読・朗読 | エクセルでのプログラミング | 北播丹波 地域情報 | 教員免許 | 教育改革 | 休校期間お役立ち情報 | 映画 等 | 創造性をはぐくむ | プレゼン | 通級 | 健康 | ゲーム
2018.06.20
XML
​​ ​【Excelプログラミング講座】第1回です。
2020年から小学校教育にプログラミング教育が新しく導入されます。それを機に、エクセルでのプログラミングを学びたい人も増えるのでは、と推測し、本講座開催の運びとなりました。

この講座では、 エクセル野球シミュレーション「ダイナミックベースボール」 のプログラム実物を材料として、エクセルでのプログラミングを初心者向けに解説していきます。

Dynamic Baseball
ダイナミック・ベースボールのページ


なるべく分かりやすく書こうと思いますが、エクセルとプログラミングをある程度触ったことがある人でないと、実際には難しいかもしれません。小学生にはちと厳しいと思っています。ただ、今後、小学生でも、十分プログラミングに触れた経験がある子どもが出てくれば、その限りではないかもしれません。
また、学校の教員は仕事でエクセルを使い慣れている人がほとんどだと思うので、教師に「エクセルでこんなことができるんだ!」と知ってもらうだけでも、意味があるかも、と思っています。

ご意見ございましたら、コメント欄でぜひ、お願いします。


さて、僕の場合、エクセルでプログラミングを組むまでに、以下の経験がありました。

電子研究部 というパソコンをさわる部活に入り、 BASIC で自作ゲームのプログラミングを組んでいた。
エクセル の操作に、ある程度習熟していた。
 (会社でも仕事でさわっていました。)

BASIC(ベーシック) というのは、昔からある、初心者向けの、プログラミング言語。
簡単に言うと、英語で命令すればコンピュータが指示を聞いてくれる簡易的なプログラムです。
CIRCLE 」と書けば、 円を描く 命令ができたり、
CDEFGAB ドレミファソラシド 」と鳴らしたりできました。
(かなりカンタンに書きすぎているので、ちゃんとBASICをやりたい人は、もっと厳密に調べてください。これを初めて知ったときは、本当に感動しました。まるで魔法だと思いました!)

エクセルに使われている「 VBA 」もBASIC言語の流れをくんだ一派です。(一派?)
なにしろ、VBAは「Microsoft Visual Basic for あぷり」の略ですからね。




​VBAとは何か​ 、とか、 ​どうやって始めるのか​ 、といったことは、すでにネットなどに情報がたくさんありますので、そちらをご覧ください。

下のリンクは、検索で上位に出てきたタカハシさんのサイトです。
動画解説もあり、分かりやすいです。(^^)

▼エクセルVBA超入門!たった10分でスタート地点に立つための方法​


(動画は「いつも隣にITのお仕事」さんが作成されたものです。
 僕個人とは何の関係もありません。)


さて、僕は僕でしか解説できない内容をなるべく書こうと思います。
僕が実際に作ったゲームの構造とかを使った解説ですね。
さっそくいきます。

まず、 プログラムで実現することと、エクセルの相性 について。

ご存じのように(?)、僕が作った野球ゲームは、
バッターとかピッチャーのデータを一覧から取得したり、
成績表に反映させたりする、野球シミュレーションゲーム です。

こういうのは、 エクセルが大得意 なんですね。

世の中には多くのプログラミング言語がありますが、
多くのデータを扱うもの、
特に、いままでのデータがエクセルで管理されているものについては、
エクセルでプログラミングを組むメリットが非常に高いです。

ジャンルで言うと、アクションゲームとかより、
データシミュレーションゲームが、非常に相性がよい と言えます。

実際のゲーム画面を使いながら、解説します。

「ダイナミックベースボール」は、ゲーム実行ファイルと、野球選手のデータファイルを別々のファイルで分けて管理しています。

・DB_main.xls (ゲーム実行ファイル)

・DB_teamdata.xls (野球選手のデータファイル)
です。

※このゲームを作った時期がかなり前なので、拡張子が.xlsになっています。
 なつかしいですねー。
 今だと、プログラムつきのファイル拡張子は.xlsm(僕は「エクセルマクロ」と読む) になると思います。
 一応、過去のエクセルファイルと今のエクセルソフトは互換性があるので、
 問題なく開けるはずです。

ゲームを開始するには、DB_main.xlsを開きます。
すると、DB_teamdata.xlsも同時に開くようになっています。
僕の環境だと、以下の画面がまず、出ます。



ほかのデータソースへのリンク 」というのが、
DB_teamdata.xls のことですね。

この ダイアログボックス では、「 更新する 」を選ばないと、データがきちんと反映されません。
これはエクセルの標準機能です。

エクセルで、データの参照先がエラーのときに、「 #DIV/0! 」というのが出たりします。
プログラムを組まなくても、普通にエクセルの計算式で、参照先のデータから計算できないときに出ます。字面から「0で割る割り算はできないよ!」と強く訴えている気がします。例えば、打率計算で、打数が0だと、当然、打率計算ができないので、こうなるわけです。

打率というのは、 安打数 ÷ 打数 ですね。 念のため。
5打数 2安打 なら、5回に2回打っていて、打率4割、ということになります。
そういうデータを、すべて DB_teamdata.xls の該当選手データから拾ってくるわけです。

エクセルは、データの格納庫がたくさんあります。
番地を指定すれば、違うシートのデータも参照してきて、そのまま表示したり、変化させて表示したり、計算させたり出来ます。
これがエクセルの最大のメリットです。

プログラムが参照したい仮データだけれどユーザーには見えなくしたい場合、
そのセル表示を隠したり、文字色を白色にして見えなくしたりする方法もあります。
実際、ゲーム画面上でも、実は白字で表示させている途中データがあるんですよ。
(白字にしているだけなら、ドラッグ操作で反転表示させると見れます。)


【今日のまとめ】 エクセルにマッチするゲームとは・・・

多くのデータを扱うもの

そういうわけで、あなたが作りたいゲームが、データをたくさん扱うものなら、
エクセルでプログラムを組む意味があると言えるでしょう。
ゲームじゃなくても、データ整理を短時間でこなせる便利なツールを作りたい!というニーズも、かなりあろうかと思います。もちろん、それもエクセルVBAで可能です。​



長くなったので、今日はここまで!

それではまた次回、来週水曜のこの時間(21時)にお会いしましょう!大笑い
(時間になってもブログ記事が更新されない場合、キーボードの「F5」キーなどを押して、「画面の更新」をしてみてください。)
​​





お気に入りの記事を「いいね!」で応援しよう

Last updated  2018.06.20 21:00:12コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

Profile

にかとま

にかとま

Keyword Search

▼キーワード検索

Calendar

Archives

2025.11

Comments


© Rakuten Group, Inc.

Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: