自分の人生に関係ないと思っていた割り算がプログラミングの世界ではとても重要:エクセル親子ゲームで学ぶ“コンピュータっぽい考え方”(5)(1/4 ページ)
本連載では、書籍『子どもの“プログラミング的思考”をグングン伸ばす本』の中から、特に、Excelの機能を使って作ったゲーム(VBAではない)を通じて、コンピュータがどう考えているのかを学べる章を厳選して転載する。「Excelの機能を使う」こと自体も「プログラミング」に通じていることを体感してほしい。今回も、プログラミングで重要となる「数」について。
書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍『子どもの“プログラミング的思考”をグングン伸ばす本(2017年3月1日発行)』からの抜粋です。
ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。
※編集部注:前回記事「「数」の不思議はオートSUMとお父さんが教えてくれた」はこちら
お父さんへの贈り物
ダイゴ、入るよ
ちょうどダイゴ君が宿題を終えたところに、お父さんがやって来ました。
お父さん、はい、ここに座って
普段はダイゴ君が座っている椅子にお父さんは腰かけました。何だかいつもと様子が違います。
それではお父さん。好きな数字を頭の中に描いてください。そうだな、3桁の数字でお願いします
机の上のパソコンにはエクセルファイルが開かれています。どのセルにも入力されている気配はありません。画面を見つめているお父さんにダイゴ君は言いました。
まだパソコンの出番はないよ。3桁の数字を思い描いた?
お父さんがうなずいたので、ダイゴ君が言いました。
その数字を当てて見せるよ、その数字は…お父さんのことだから、意表を突いてくるかもしれないな…
ダイゴ君は、考えているふりをしながら、なかなか続きを言いません。
うーん、お父さんの思い描いた数字は…999だね
お父さんは、首を横に振りました。さすがにそんな極端な数字は選んでいません。お父さんの数字は、487です。
ノーヒントで当てようなんてすごいなあ。ダイゴは
確かにその通りです。当てずっぽうでやっていたらいつ当たるかわかったものではありません。そんなことはダイゴ君もわかっています。ここからがダイゴ君の腕の見せ所です。
そうか、違うのか。てっきり999だと思ったんだけどなあ。こうなったらこの999とお父さんの数字を混ぜてしまおう
そういってダイゴ君は、お父さんに電卓を渡しました。
お父さんの思い描いた数字と999を掛けてほしいんだ。この電卓を使っていいから
3桁同士の掛け算を暗算で行うのは確かに大変です。
目の前にエクセルがあるのに電卓を使うのもどんなものかなあ…
お父さんは電卓のキーを押し始めました。
お父さん、ヒントが欲しいんだよ。いい?
それはそうだろう。どんなヒントが欲しい?
うん、掛け算の答えを教えてほしい
それは、ヒントを脱しているじゃないか、答えを999で割れば簡単にわかってしまうんだから
バレたか
ダイゴ君は照れたふりをして頭をかきました。
それじゃあ、掛け算の答えの下3桁を教えてよ
うん、それならいいよ
エクセルの好きなセルに入力してね
ようやくエクセルの出番です。お父さんは、適当なセルに下3桁の数字「513」を入力しました。
おお、何か感じてきたぞ。来てる。浮かんできたぞ。よし、お父さん、シート2を見て…
ダイゴ君の演技に吹き出しそうになりながら、お父さんがシート2を見ると、そこにはお父さんの思い描いた数字が表示されていました。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Excelの配列数式で合計を一発で計算する方法
見積表などの合計を一発で計算できる「配列数式」をマスターしよう。これを覚えておくと、1行置きに合計を計算するといった技も使える。本稿では、「配列数式」の基本的な使い方を紹介する。 - Excelで関数を使わずに、素早く合計値などを確認する
Excelのシートでは、関数を使って複数セルの値の合計、平均値などを算出できる。しかし作業途中で一時的に一部のセルを加算したりする場合、関数を使うのは面倒である。ちょっとしたセルの合計や平均値ならば、ステータス・バーの一部で確認できる。 - Excelで数値の合計に役立つ3つのワークシート関数SUMIF、SUMIFS、SUMPRODUCTの使い方
業務効率化に役立つVBA/マクロのさまざまなTipsをコード例を交えて紹介していきます。今回は、引数で指定したセル範囲の数値を、条件付きで合計するSUMIF、同じく複数条件を使えるSUMIFS、配列内の積を計算し、それを合計するSUMPRODUCTについて、VBAでの使い方を解説。