ハダノ元教頭が GIGAスクール と DX人材育成 について考えるブログ

ちょっとだけハッカー2
プログラミングAIプログラミング入門情報教育マネジメントDX推進

ちょっとだけハッカー2

🕓 4/13/2026 ↻ 5/5/2026

 現役教員時代、「ハダノ先生はハッカーみたいなことできるんでしょ」と生徒たちに言われていました。

の要領で、エクセルマクロが作れるかもと思いました。


エクセルマクロ作成にAIエージェントを使ってみた

 今年度から自治会の役員になり、Windowsタブレットで表計算ソフトを使うことにしました。「エクセル互換ソフトでいけるだろう」と思っていたのですが、自分がよく使っていた機能がないことに気づき、やむなくエクセルをインストールしました。

Windowsタブレットでエクセル

 教頭としてPTA事務局・会計をしていたころと違って、伝票処理のデジタル化が進んでいました。

 銀行の入出金は、「QR伝票作成サービス」を使えば手書き不要です。通帳摘要など全角入力できるのですが、なぜか半角も必要でした。Webで禁止の半角カタカナを久しぶりに扱います。そこで、この作業をエクセルで効率化してみることにしました。


QR伝票入力をどうやって効率化するか?

  1. 入力は1度だけにしたい
  2. 全角入力したら、自動的に半角に変換してほしい
  3. 「半角〇字以内」「全角〇字以内」の指定字数で切り出してほしい
  4. 切り出したものを訂正・変更できるようにしたい(フリガナ違いへの対応)
  5. 指定字数の異なる場面ごとにシートを分けたい

、、、という要求をかなえるためには、

  1. D列を入力用とし、日本語入力(ひらがな)を強制する
  2. E列を半角フリガナ用とし、PHONETIC関数(LibreCalcやGoogleスプレッドシートには存在しない)で左のセルのフリガナを抽出し、ASC関数で半角に変換する
  3. LEFT関数で指定字数分、左から切り出す
  4. 値を複写するマクロが必要だが、マクロ記録で作ると選択されっぱなしになるので、Cells().Valueを使う
  5. 一行目(絶対参照)の数字を読み取って指定字数とするために、MID関数で3,4文字目を切り出したあと、VALUE関数で数値に変換する。

、、、という設定・式・マクロが必要になりそうです。


QR伝票入力支援マクロをAIエージェントに頼むと……

ハダノ
銀行のQR伝票作成サービスを使うときに、「半角〇字以内」と「全角〇字以内」の両方を入力する必要がありますが、これをエクセル2019で効率化しようとしています。
1行目のタイトル行を
A1セル:№、B1セル:半角、C1セル:全角、D1セル:入力(その後Ctrl+J)、E1セル:半角14字以内、F1セル:全角07字以内
などとし、
D列に全角で入力した文字列の半角フリガナをPHONETIC関数・ASC関数、VALUE関数、MID関数、LEFT関数などを使った式によって同じ行のE列に指定字数で切り出し、全角をVALUE関数、MID関数、LEFT関数などを使った式によって同じ行のF列に指定字数で切り出します。
その行にカーソルがある状態で、Ctrl+Jというショートカットでマクロを実行して、E列・F列のセルの値をB列・C列にコピーします。コピーしたものを訂正・変更することがあるためです。
そこで、E2セルの式、F2セルの式、マクロ Sub Phonetic1() の3つを提案してください。
ちなみに、文字数は場面によって変わるので、シートを場面数分コピーして、E1セル・F1セルの数字2桁で指定することとします。
Gemini CLI
✦ ご要望に合わせて、Excel 2019で効率的に銀行のQR伝票用データを作成するための数式とマクロを提案します。

  1. E2セルの数式(半角フリガナ切り出し)

D列の入力からフリガナを取得し、半角に変換した上で、E1セルの3〜4文字目にある数字の文字数分だけ左から取り出します。

=LEFT(ASC(PHONETIC(D2)), VALUE(MID(E$1, 3, 2)))

  • PHONETIC(D2): D2セルのフリガナを取得します。
  • ASC(...): 全角文字を半角に変換します(カタカナも半角になります)。
  • MID(E$1, 3, 2): E1セルの「半角14字以内」から「14」という文字列を取り出します。
  • VALUE(...): 文字列を数値に変換します。
  • LEFT(..., ...): 指定された文字数分、左から切り出します。

  1. F2セルの数式(全角文字切り出し)

D列の入力をそのまま、F1セルの3〜4文字目にある数字の文字数分だけ左から取り出します。

=LEFT(D2, VALUE(MID(F$1, 3, 2)))

  • LEFT(D2, ...): D2の文字列を左から指定数切り出します。
  • VALUE(MID(F$1, 3, 2)): F1セルの「全角07字以内」から「07」を取り出し、数値の7として扱います。

  1. マクロ Sub Phonetic1()

現在選択されているセルがある行のE列・F列の値を、B列・C列に「値として」貼り付けます。これにより、貼り付けた後にB列・C列で個別に修正が可能になります。

1 Sub Phonetic1()  
2     Dim r As Long  
3     r = ActiveCell.Row  
4  
5     ' 1行目(見出し)の場合は実行しない  
6     If r < 2 Then Exit Sub  
7  
8     ' E列の値をB列に、F列の値をC列に「値のみ」コピー  
9     Cells(r, "B").Value = Cells(r, "E").Value  

10  Cells(r, "C").Value = Cells(r, "F").Value
11
12  ' 完了を通知したい場合は以下を有効にしてください(任意)
13  ' Application.StatusBar = r & "行目のコピーが完了しました"
14 End Sub

設定手順:

  1. Excelで Alt + F11 を押してVBAエディタを開きます。
  2. 「挿入」→「標準モジュール」を選択し、上記コードを貼り付けます。
  3. エディタを閉じ、Excel画面で Alt + F8 を押します。
  4. Phonetic1 を選択して「オプション」をクリックします。
  5. ショートカットキーの欄に j (または J)を入力して「OK」を押します。

    これで、D列に入力した後、その行のどこかにカーソルを置いて Ctrl + J を押すと、B列とC列に変換済みの値が入力されます。シートをコピーしてE1やF1の数字(14や07など)を書き換えるだけで、異なる文字数制限にも対応可能です。

 さすがは Gemini CLI 最新版、一発でパーフェクトな提案です。これで行くことにします。

値を複写するマクロPhonetic1


もしも Copilot に頼んだらどうなるか?

ChatGPT
   :::::

=LEFT(ASC(PHONETIC(D2)),14)
   :::::

=LEFT(D2,7)
   :::::

Sub Phonetic1()

  Dim r As Long
  r = ActiveCell.Row

  'E列 → B列(半角)
  Range("B" & r).Value = Range("E" & r).Value

  'F列 → C列(全角)
  Range("C" & r).Value = Range("F" & r).Value

End Sub

✨ 次の一手(あなたに確認したいこと)
半角14字・全角7字という字数は固定ですか?
それとも行ごとに変わる可能性がありますか?

可変なら、A列に「14」「7」などの数字を入れて、
式を動的にするバージョンも作れます。

必要ならすぐ作りますよ。

 なぜ「字数が行ごとに変わる可能性がある」と考えてしまうのか、理解に苦しみます。『シートを場面数分コピーして一行目を打ち換えればそのまま動くようになることを想定しています。』と念を押すと、、、

ChatGPT

=LEFT(ASC(PHONETIC(D2)), VALUE(MID(E1, FIND("半角", E1) + 2, 10)))

=LEFT(D2, VALUE(MID(F1, FIND("全角", F1) + 2, 10)))

かなり近づきましたが、
=LEFT(ASC(PHONETIC(D2)),VALUE(MID(E$1,3,2)))
のように、行を絶対参照しないと式をコピーした時に破綻します。
また、VALUE関数は、数字以外の文字が入っているとエラーになるので、2桁と決め打ちする必要があります。

ChatGPT

了解です、あなたの指摘は完全に正しいです。

  • 行番号は絶対参照(E$1 / F$1)にしないとコピー時に壊れる
  • VALUE は数字以外が混ざるとエラーになるので、数字部分だけを確実に抽出する必要がある
  • 数字は 2 桁固定(例:14、07)と割り切るのが安全

この条件をすべて満たす 堅牢で壊れない式 を作り直します。

、、、結局、こちらの言う通りになりました。

 マクロの質も良いわけではなく、「いろいろごたくを並べる割に使えないなぁ」といった感じです。使う人がエクセルに精通していないと、おかしな部分に気づかないでしょう。このあたりが、普通の生成AIの限界と思われます。


AI時代に息を吹き返すエクセルマクロ

、、、を読むと、いろいろ考えさせられます。

  1. マイコン(パソコン)の黎明期は、ソフトはユーザーが作っていた
  2. ソフトの高度化・複雑化に伴い、与えられたものを使うことが中心になった
  3. ユーザーにプログラムさせるマクロ機能を備えたエクセルなどが人気に
  4. ネットワークの発展によって、データ・コードが組織的に管理・共有されるように
  5. ローコード・RPAによって増殖したソフトが組織上の問題を起こすようになった
  6. AIコーディングも同じ問題を起こすのではないか?

、、、という流れを整理していきたいものです。

ちょっとだけハッカー

従来のEUC(ローコード・RPA・VBA等)の課題

  • 属人化とブラックボックス化: 作成者以外には中身が不明な「秘伝のタレ」となりやすく、異動・退職に伴い「野良アプリ・ロボット」として負債化する。
  • 「箱」の制約と部分最適: ツールの機能(箱)の範囲内でしか開発できず、複雑な業務に対応しきれない。また、現場レベルの「安さ・速さ」が優先され、全社的なデータ連携(全体最適)が損なわれる。
  • ベンダーロックイン: 特定のプラットフォームに依存するため、移行コストやライセンス費が障壁となり、データの主権を失いやすい。

AIコーディングによって改善されること

  • 開発の自由度と柔軟性(Vibe Coding): ツール側の制約を超え、対話(Vibe)を通じて標準的なコードを生成できるため、外部API連携などの高度な実装が容易になる。
  • 汎用スキル(VBA/GAS等)の再評価: 習得が難しかったプログラミング言語も、AIが解説・デバッグを代行することで再び強力な武器となり、特定のツールに縛られない開発が可能になる。
  • コストの劇的低下: パズルを組み合わせるようなローコード操作すら不要になり、ビジネスの意図を直接コード化できるため、開発スピードが飛躍的に向上する。

注意しなければならないこと

  • 「もっともらしい誤り」の量産: 素人がAIで低品質な成果物を量産し、その不備を専門家が事後処理する「後始末地獄」が生じるリスクがある。
  • 管理不能なスパゲッティコード: 構造を理解せずに生成を繰り返すと、修正不可能な「ゴミ」が高速で蓄積される。
  • 「設計」と「責任」の重要性: AIはコードを書くが、データの置き場所やガバナンス(データアーキテクチャ)までは管理してくれない。利用者には、ツールを操るスキル以上に「正しく設計し、結果に責任を持つ」マネジメント能力が不可欠となる。
素人がAIで誤りを量産し、プロが後始末する地獄絵図

 とりあえず、ローカルな業務効率化には、エクセルマクロ(VBA)はアリだと思います。これまでの膨大な蓄積があるので、AIにコーディング支援をしてもらいやすいと実感しました。

 今回のマクロで特に感心したのは、

  • 1行目(見出し)の場合は実行しない
  • コピー完了をステータスバーで通知

の2つです。

 これに触発されて、「空白入力の場合は実行しない」も追加しました。データ処理の安全・効率を考えた「設計」について勉強になりました。

 エクセルを壊さないDX が理想です。 → 🔗Excel業務を壊さずAPI化する設計入門:現場を敵にしないDXの作り方


(まとめ)AIエージェントで「QR伝票入力支援マクロ」が作れ、効率化できた

 WindowsタブレットのUSB端子は、Type-C 2つ なので、ふだん使い用として 🔗小型USBメモリ Type-C Type-A 64GB を買いました。キャップをなくさぬように、🔗根付紐20個セット の中の1本を使って、USBメモリのストラップ穴と結びました。非常に小さいので、🔗USB-Cスマートケーブル と干渉することもなく快適に使えます。

小型USBメモリ

 教頭時代、前任者から引き継いだファイルの手直しにいつも苦労しました。

  • 一太郎文書 → ワード文書へ変換
  • 個別に作成された案内文書・宛名 → 差し込み印刷へ
  • スペースでレイアウトされた文書 → 配置-中央揃え,インデントなどへ
  • 手書きで変更だらけの文書 → 校閲機能オンに

、、、など、数え上げればきりがありません。

 職員室にPCがはいったとき、ワード・エクセルの職員研修はありましたが、最低限の内容を1回だけ聞いても身に付きません。管理職試験にもPC実技試験はありません。自己流の使い方が氾濫してしまうわけです。

 「ワードの表の中の文字を追加しても罫線がついてこないなぁ」と思ったら、「図形機能で線を引いてる!?」……なんてこともありました。「野良マクロ」どころか、「不良文書」という負の遺産がたまるのです。異動時の引継ぎはせいぜい半日なので、せっかく手直しした文書の扱い方を伝えきれずに「元の木阿弥」となることもあります。


 個々のスキルがばらばらなうえに、引継ぎ・共有が不十分な組織では、効率化の前に解決しなければならない問題がいろいろあります。中でも「情報セキュリティ」は、待ったなしです。脅威はすぐそこまで迫っているかもしれません。

迫りくる脅威を必死に防いでいるホワイトハッカー

にあるように、「サイバーセキュリティは、成功は目に見えず、失敗は非常に目立つ」「経営幹部は自社が攻撃を受けていなければ、問題ないと思い込んでいる」ことから、正当な評価を受けていないようです。

 サイバー攻撃は、大企業だけが標的になるものではありません。警視庁によると、むしろ中小企業の方がターゲットとなっています。

のように、セキュリティ対策の専門家であるホワイトハッカーを組織内に配置して備えたいものです。


 目先の損得にとらわれず、長期的視点での人材育成に力を入れることが大切です。

 AIエージェントで「ちょっとだけハッカー」になり、業務改善から始めましょう。


(緊急)プリンターを買い替え!

 長年愛用してきた 🔗EP-306 が、「廃インク吸収パッドエラー」で使えなくなりました。ユーザーがパッド交換できないので、メーカーへ修理に出す必要があります(このビジネスモデルはいかがなものか?)。

 1万円&2~3週間かかるというので、あきらめて買い替えることにしました。EP-306 の後継機種 🔗EP-315 は、「廃インク吸収パッドエラー」が出てもフチあり印刷なら実行できるらしいので、迷わず決めました。見た目も使い方もインクも同じなので、即戦力になります。



※ 自治会のデジタル化は、高齢者が多いこともあってなかなか進みません。前任者から引き継いだUSBメモリはType-Aの大きなものでした。
このUSBメモリは、Type-AとType-C両用かつコンパクトで、ふだん使いにピッタリです。


※ ハダノは「USBメモリのキャップ紛失問題」に悩まされてきました。
余っている携帯ストラップを付けようにも、大きくて大げさになりがちです。
その点、この根付紐は金具さえついていないシンプルなもので、いろいろ使えそうです。


※ いろんなプリンター新製品が出ますが、6色インクで写真をきれいに印刷できる単機能機は限られています。
そういうことで使い続けてきた EP-306 に、やっと後継機が出ました。
細かい部分で改良されていると感じ、大満足です。


←前へ ちょっとだけハッカー


教育DXブログの著者: ハダノ
ハダノ顔 Q大理学部生物学科数理生物学研究室にて分子進化学権威の宮田隆氏のもとFORTRANでDNA解析に没頭。F社のSEに内定していたが、科学のおもしろさを教えるため中学校理科教員を選択。
 新任のころから、「答えのない問題を追求させたい」「団結力と文化的な力を集団づくりで」「教育研究をもっと科学的に」「教育の情報化が必要」「チョーク&トークの注入式授業からアクティブラーニングへ」「教科横断的なSTEAM教育で生涯学習・SDGsへ」という思いを持ちつつ、4市10校にて勤務。
 9年間の教頭時代、さまざまな不条理・矛盾に悩み、ICTによる働き方改革を推進。2021年3月定年退職。「特定の学校だけでなく、広く人材育成を」「日本陥没をDXで食い止めたい」「元教員の自分にできることを」と、教育DX研究の道へ。
 おおいたAIテクノロジーセンター会員。デジタル人材育成学会・日本STEM教育学会・日本情報教育学会・データサイエンティスト協会・日本RPA協会の会員。JDLA G検定 2022 #1 合格者。
プライバシーポリシー  |  Copyright © 2022 HADANO