ハダノ元教頭が GIGAスクール と DX人材育成 について考えるブログ
DX(データとデジタルによる変革)のうち特に重要なのは、AIによる意思決定・アクションです。ゆくゆくはAIによる業務自動化で人手不足が解消され、人はより本質的な仕事に集中できるでしょう。これこそが、真の働き方改革です。
「でも、AIなんて難しくて私には無理」とあきらめてはいませんか。どんな技術も「作る」のに比べて、「使う」だけならはるかに簡単です。高度なAI技術を手軽に使えるようにしたAIツールがたくさん出てきました。知らないうちに、手に届くところに来ているのです。
そんなAIツールを「ふだん使い」して、スイスイ仕事しましょう。
今回お届けするのは……
くじは「もしかして当たるかな?」とわくわくします。しかし、鈴木アナでなくても「あーめんどくさい」となるのが当たり判定。当選番号が発表されても照合が面倒で、ついそのままにしがちです。
🔗GoogleのAI技術は無料で使える でも紹介したように、Google Keep で「画像のテキストを抽出」ができます。
一つひとつ手で入力しなくてもくじ番号が手に入るので、あとは当選番号が含まれているか検索するだけです。表計算ソフトを使うといいでしょう。
まず、市商工会のドリームくじです。
、、、これは、楽勝でした。
次は、お年玉付き年賀状です。
以前、スマホのカメラでスキャンし、テキストを抽出しようと試みましたが、
… 217617 -2024 2019 361139 0628T6 069T28 403327 LT8898 906E18 …
、、、となってしまい、実用に耐えません。複製防止の網掛けに惑わされるようです。
フォトレタッチの「カラーチェンジャー」機能で網掛けを目立たなく加工したうえで、Keepで抽出すると、
、、、うまくいきます。
「ひょっとして、そのままでも大丈夫かも」と、加工せずにKeepで抽出すると、
、、、ほぼうまくいきました。さすが、GoogleのAIツールです。
表計算ソフトといえば、Microsoft Excel です。
A列はもちろん、B列でも連番の部分の入力は 🔗「オートフィル」 で楽ができます。くじ番号・当選番号は0から始まる場合もあるので、セルの表示形式をテキスト(文字列)に書式設定しておきます。
これで、必ず同じ6桁同士で比較できますが、問題は下4桁などの当選番号のあつかいです。1桁目と2桁目はなんでもよくて、残りの4桁の数字が一致するものを探すことを「あいまい検索」といいます。
あいまい検索は、エクセルでは「ワイルドカード」、Googleスプレッドシート では(その上位版の)「正規表現」を使います。
6桁の下4桁が 1879
なら、ワイルドカードでは ??1879
、正規表現では \d\d1879
となります。
エクセルで検索すれば、手作業より正確だし楽にはなります。でももし、検索を自動でやってくれたら、比較対象が多くても安心です。
この「検索自動化の願い」を魔法使いに預けてもかなえてくれません。エクセルには、操作を記録して再生する「マクロ機能」があるのです。
たとえて言えば、絵をかくのが苦手な人のために「なぞりがきをしたら、えかきうたを作ってくれる」ような機能です。
エクセルの場合は、操作を VBA(Visual Basic for Applications)というプログラミング言語で記録してくれます。プログラミング未経験でも、勝手にVBAに変換してくれ、切り貼りだけで一応動くマクロができます。プログラミング入門にもぴったりです。ハダノも エクセル用VBA から 汎用VB へとステップアップしてきました。
くじの当たり判定が1回だけなら、わざわざプログラミングする必要はないかもしれません。しかし、「またやりたい」と願うのなら、プログラミングする価値はあります。
「魔法使い」ではなく、「マクロ使い」になりましょう。
魔導書に相当する「VBA本」は山ほど出版されていて、だれでも習得できます。ハダノが最後に買ったのは、🔗「たった1秒で仕事が片づくExcel自動化の教科書」 です。市内全教職員用の勤務時間システムを開発したときもこれが役に立ちました。 → 🔗「勤務時間取得ツール」を核とする勤務時間システム
「マクロの記録」で作られたコードに少し手を加えてみました。
、、、たったこれだけのコードで、まあまあ実用的なマクロになりました。
「全部で何本当たったのか」については、C1 セルに =COUNTA(C2:C1048576)
という関数式を設定し、セルの書式設定 - 表示形式 - ユーザー定義 で 0"本 当たり"
とすることで、リアルタイムに確認できるようにしました。なんでもかんでもマクロではなく、適材適所がいいでしょう。
ハダノ家のドリームくじと自分の年賀状は、残念ながら当たりが0本でした(動作確認のため、ダミーデータを末尾に追加……)。
父の年賀状は、6本当たっていました。あとは、C列の当たり表示を確認してふせんをはるだけです。B列のくじ番号は撮影時の「左→右」「上→下」の順に並んでいるので、A列の通し番号を見れば位置がわかります。
PCで、「くじの当たり判定」ができるようになりました。そうなると、iPadでもできそうな気がしますが、そうは問屋がおろさないのが現実です。
にあるように、iPadではVBAマクロが動きません。せっかく作ったのに残念です。
あきらめたくなければ、エクセルのかわりに Googleスプレッドシート を使うしかありません。Google Apps Script(GAS)という、ExcelのVBAと同等のマクロ言語があります。
エクセルのファイルをGoogleドライブに入れて、Googleスプレッドシート で開くと、表の見た目・セルの書式・関数式などほとんどそのまま変換されます。高い互換性があります。
ただ、マクロに関してはベースとなっているプログラミング言語が違うので、そのままでは動きません。
ドイツ語と英語ぐらいの違いなので、少しがんばれば何とかなりそうです。
⇒ 🔗Excel VBAとGAS(スプレッドシート)の構文を比較してみた!!
まず、エクセルのときと同じように「マクロを記録」してみます。
あれれ、検索途中の操作が記録されていません。これは、スプレッドシートの仕様とのことです。
をよく読むと、TextFinder
を使いこなすことで、AIが提案するコード以上のものが書けるようです。
🔗「詳解! Google Apps Script完全入門」 を参考に、「くじ当たり判定マクロ」をVBAからGASへ移植してみました。
.useRegularExpression()
に引数 true
を入れる.findAll()
で「全て検索」し、配列にはいったものを for ~ of
で回すBrowser.msgBox
ではなく、汎用的な ui.alert
を使うbreak outerLoop;
のようにラベルを指定する、、、という点に気をつけ、VBA版とほとんど同じように動くGAS版マクロを作りました。
キーボードが使えないケースも考え、「実行ボタン」 にマクロを割り当てておきます。 → 🔗スプレッドシート上でGASを実行する方法
さっそくiPadでマクロを動かしたいところですが、実はここに落とし穴があります。スプレッドシートファイルは、SafariやChromeなどのブラウザ でも 「スプレッドシート」アプリでも開けますが、マクロはアプリでは機能しないのです。 → 🔗iPadやiPhoneでGoogle spreadsheetのapp scriptを使用する方法
ブラウザで開くしかないのですが、油断しているとアプリに誘導されてしまいます。スプレッドシートファイルへのリンクを長押ししたり、┇(3点リーダ)をタップしたりして、、、
などを選択して、何とかマクロを動かせる状態にする必要があるのです。
自分のものでないファイルを開いている場合は、ファイル - コピーを作成 で実行前にコピーを作っておきましょう。そちらを開けば、好きにいじれます。自分のデータに書き換えて実行させても安全です。
「実行ボタン」を押すとマクロが実行されますが、初回だけ認証を求められます。
表計算ソフトの場合、セルをタップすると キーボード が表示されますが、大きくてじゃまです。
右下のキーボードアイコンを長押しし、フローティング を選択しておきましょう。小さくて移動可能なキーボードに変わります。ピンチアウトすれば、元に戻ります。
新たなデータで実行したいときは、シート名の右の ▼ をタップ - コピーを作成 でシートのコピーを作ってから、くじ番号などを入れ替えましょう。新しく作ったシートでもマクロは同じように動きます。
拡張機能 - Apps Script で、現在のマクロを見たり編集したりできます。
もちろん、拡張機能 - マクロ - マクロを記録 で、一からマクロを作ることもできます。
つまり、iPadでマクロプログラミングができるということなのです。
PCと比べて何かと制約の多いiPadですが、「プログラミングをしたい」という願いを あきらめることはない のです。
★ お待たせしました、、、
⇒ 🔗「くじ当たり判定GASマクロ」入り スプレッドシートファイル 「 kuji 」 へのリンク はこちら
と述べました。
今回のくじチェックは、まさにぴったりな題材です。
ビジネスマンはお金や品物など数字をあつかうことが多いため、表計算ソフトの技能が必須です。学習や日常生活でも表計算ソフトは役に立つので、子どものころから親しんでおいたほうがよいでしょう。
PISAテストでも、
と、森林面積に関する問題を表計算ソフトを使って解かせています。
これほど一般的になった表計算ソフトですが、使いこなせているかといえば怪しいところです。マクロが組める日本のビジネスマンは1割足らずと言われています。賃金向上・生産性向上のためには、「時短」が必要です。マクロや 🔗RPA による自動化が突破口になるでしょう。
エクセルVBA と スプレッドシートGAS をざっくり比べると、
即戦力のベテランがVBA、未来的・汎用的な有望新人がGAS、、、といったところでしょうか。
GASは、アプリ横断的に自動化できるRPAに近い存在です。実際、GoogleのRPAである AppSheet と連携させる動きも出てきました。うまく使えば、働き方改革が無料でできるかもしれません。 → 🔗AppSheetの無料プランでGoogle Apps Scriptを呼び出す
プログラミングは、学習にも仕事にも役立つし、何より「楽しい」ということを再認識しました。大げさに言えば、「自分が自分らしくいられる」のです。 → 🔗ハダノのプログラミング遍歴
生徒の「願い」をあずかり管理してあげる「魔法使い(権力者)」ではなく、すすんで問題解決しようとする「マクロ使い(地球市民)」として、ともに探究し続ける教師でありたいものです。