フラッシュフィルでExcelはどう考えている?:エクセル親子ゲームで学ぶ“コンピュータっぽい考え方”(2)(3/3 ページ)
本連載では、書籍『子どもの“プログラミング的思考”をグングン伸ばす本』の中から、Excelの機能を使って作ったゲーム(VBAではない)を通じて、「コンピュータがどう考えているのか」を学べる章を厳選して転載する。「Excelの機能を使う」こと自体も「プログラミング」に通じていることを体感してほしい。今回は、コーディングなしでもできる「文字列結合」と「自動化」について。
答えはどれも3文字。問題の文章も3つのセルに入力されている。それぞれのセルのある文字を抜き出しているんだ。つまり、B列とC列は1文字目、D列は2文字目を抜き出すと答えになる!
ダイゴ君の大きな声にお父さんは「よくやった」とばかりにダイゴ君の肩をポンと軽くたたきました。
お見事。その通りだよ。エクセルは文章の意味は理解できない。でも答えの文字が各セルのどこにあるのかということは理解できるんだね
エクセルもなかなかやるなあ。だって瞬時に答えを見破ったんだから
答えを早く見つけることだけが大事なことじゃない。答えを見つけるまで考え続けるその姿勢がとても大切なことだとお父さんは思うよ
そう言われてダイゴ君は少し照れくさそうに笑いました。そして安堵感の中である疑問がふっと頭に浮かんできました。
お父さん、昨日は何の試験を受けてきたんだろう?
エクセルには「フラッシュフィル」という機能があります。同じ行の別のセルの値を使った答えがあるときに、そのルールを判断し、別の行の答えを出す機能です。フラッシュフィルはExcel 2013以降で使用できます。
同様の機能として計算式がありますが、計算式はユーザーが自分の手で設定しなければなりません。ところがフラッシュフィルは、エクセルが自らルールを解釈して答えを出すことができるのです。
ただし、エクセルが規則を解釈できないこともあります。また、今回のお父さんの問題のように答えを2つ用意しないとうまくいかない場合もあります。また、計算式のように値は更新されない点にも注意が必要です。
いくつかのサンプルを用意しました。画像をご覧ください。赤い字がフラッシュフィルの結果です。
書籍紹介
子どもの“プログラミング的思考”をグングン伸ばす本
横山達大著
秀和システム 1,700円
お父さん、お子さんを頭のいい子に育てたいなら、小学生の今がチャンスです! 本書は、お父さんが仕事に使う表計算ソフトのエクセルを使って、お子さんを「頭のいい子」に育てる子供向けプログラミング思考育成の入門書です。エクセルを使った12種類のゲームで、親子で楽しくプログラミング的思考を学び、考えることや、プログラミングの楽しさを体験しましょう! エクセルゲームの無料サンプルダウンロードサービス付き。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Excelで文字列を結合、検索、置換する関数の使い方――Join、InStr、InStrRev、Replace
業務効率化に役立つVBA/マクロのさまざまなTipsをコード例を交えて紹介していきます。今回は、配列の各要素を結合して文字列を作成するJoin関数、ある文字列の中から指定した文字列を検索し位置を返すInStr/InStrRev関数、指定された文字列の一部を別の文字列で置換して返すReplace関数について。 - Excelで文字列を分割して抽出する関数と、文字列から空白を除去する関数の使い方
業務効率化に役立つVBA/マクロのさまざまなTipsをコード例を交えて紹介していきます。今回は、文字列を分割して抽出する3つの関数Left、Right、Mid、文字列から空白を除去する3つの関数LTrim、RTrim、Trimの使い方について解説します。 - Excelでプログラム作成を始めるメリットとマクロの基本
プログラミング初心者を対象にExcelマクロ/VBAを使った業務自動化プログラムの作り方を一から解説します。初回は、そもそもプログラミングとは何か、Visual BasicとVBAとマクロの違い、マクロの作り方、保存/削除、セキュリティ設定などについて【Windows 10、Excel 2016に対応】。