自分の人生に関係ないと思っていた割り算がプログラミングの世界ではとても重要:エクセル親子ゲームで学ぶ“コンピュータっぽい考え方”(5)(3/4 ページ)
本連載では、書籍『子どもの“プログラミング的思考”をグングン伸ばす本』の中から、特に、Excelの機能を使って作ったゲーム(VBAではない)を通じて、コンピュータがどう考えているのかを学べる章を厳選して転載する。「Excelの機能を使う」こと自体も「プログラミング」に通じていることを体感してほしい。今回も、プログラミングで重要となる「数」について。
999を掛けるのがポイントです。例をとって解説しましょう。
思い描いた数字を487とします。この数字に999を掛けた答えは、486513になります。
この下3桁である513と元の数字の487を見比べるとあるルールに気付きます。この2つを足した答えは1000になるのです。
1000−513=487
理由を説明しましょう。
ある数をAとするとA×999は、次のように変形できます。
A×(1000−1)
A×1000−A×1
つまり、下3桁の値は、1000からAを引いた値なのです。
ダイゴ君は、この計算式をエクセルに仕込んでいたのです。シート2のセルA1に次の計算式を設定しておいたのです。
=1000-SUM(Sheet1!1:1048576)
ダイゴ、素晴らしいゲームをありがとう。よく考えたね
お父さんは、本当にうれしい気持ちでいっぱいでした。ダイゴ君が自分の頭で考えて、お父さんのためにゲームを作ってくれたことに。
最高のプレゼントだよ、ダイゴ。最高の誕生日プレゼントだ。ありがとう
ダイゴ君は、キョトンとしています。そしておもむろに言いました。
え!? お父さんの誕生日は、まだ3ヶ月も先でしょ…
バレたか…
お父さんは、照れくささと、嬉しくてたまらない気持ちをダイゴ君に気づかれないようにするのに精一杯で、すぐに返事ができませんでした。
今度はお父さんがゲームを用意してよ。プログラムの勉強も続けていきたいから
お父さんがうれしそうにうなずいたのは言うまでもないでしょう。
二人がその後どんなゲームを楽しんだのか、どんなプログラムを作れるようになったのかは、また次の機会にお伝えすることにしましょう。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Excelの配列数式で合計を一発で計算する方法
見積表などの合計を一発で計算できる「配列数式」をマスターしよう。これを覚えておくと、1行置きに合計を計算するといった技も使える。本稿では、「配列数式」の基本的な使い方を紹介する。 - Excelで関数を使わずに、素早く合計値などを確認する
Excelのシートでは、関数を使って複数セルの値の合計、平均値などを算出できる。しかし作業途中で一時的に一部のセルを加算したりする場合、関数を使うのは面倒である。ちょっとしたセルの合計や平均値ならば、ステータス・バーの一部で確認できる。 - Excelで数値の合計に役立つ3つのワークシート関数SUMIF、SUMIFS、SUMPRODUCTの使い方
業務効率化に役立つVBA/マクロのさまざまなTipsをコード例を交えて紹介していきます。今回は、引数で指定したセル範囲の数値を、条件付きで合計するSUMIF、同じく複数条件を使えるSUMIFS、配列内の積を計算し、それを合計するSUMPRODUCTについて、VBAでの使い方を解説。