新人や異動してきた人に仕事をどう教えていますか? 機械やシステムの操作方法やテンプレートファイルの場所なら簡単に教えられますが、ノウハウや考え方になると、そもそもマニュアルが整備されていないことが多いように思います。「OJT(On the Job Training)」という言葉に甘えて、大事なことが口伝になっていることもあり得ます。ところが、COVID-19によるリモートワーク、若者の宴会離れで先輩から後輩への知識継承がうまく進んでいないのではないでしょうか。
最近は何でも生成AIに頼る傾向があり、ちょっと飽きてきたかもしれません。今回はチャットや画像生成ではなく、Excelで四択問題を作ってWordで整形するという、キラキラした生成AIのセミナーでは語られない地味な方法を紹介します。
用意するもの
- Microsoft 365系のExcelとWord
- Excel用のアドイン「生成AIツール for Excel」
問題文を作る
社内研修テキストの問題文は、以下のプロンプトで作成できます。
社内研修用の四択問題を作成してください。
対象: 空気環境検査、水質検査などの定期検査
出力形式:
問題文:
選択肢: A. ~ / B. ~ / C. ~ / D. ~
正解: (正解の選択肢を記載)
解説: (正解の理由を簡潔に説明)
条件:
一問のみ作成
法令や基準に基づいた内容とする
実際にChatGPTで生成すると、以下のようになります。

チャット画面でうまくいきそうと確認できたので、問題文を大量生産することにします。ここで、Excel用の生成AIアドイン「生成AIツール for Excel」を使います。アドインは無料ですが、各社のAPI利用料がかかります。APIのコストは、GPT-4o miniなど、安価なモデルを使ってるぶんにはサブスクリプションより安く済むことが多いです。(セルあたり数百文字とすると、1セル0.1円くらいが速算式です)
最初に、Excelで次のような表を作ります。
テキストをコピペするときは、以下を使ってください。
空気環境検査、水質検査などの定期検査
空調設備、電気設備、給排水設備などの定期検査
清掃、害虫防除などの定期検査
環境衛生上の維持管理に関わる業務全般の計画
管理業務の指揮監督
周辺の建物に係るクレーム対応、交渉、自治体との打ち合わせ、清掃業者との打ち合わせ
copy

問題文を生成するためのExcelの数式は以下になります。
=BB.ASK(CONCAT("社内研修用の四択問題を作成してください。",CHAR(10),CHAR(10),"対象: ",[@分野],CHAR(10),,CHAR(10),"出力形式:",CHAR(10),"問題文: ",CHAR(10),"選択肢: A. ~ / B. ~ / C. ~ / D. ~",CHAR(10),"正解: (正解の選択肢を記載)",CHAR(10),CHAR(10),"解説: (正解の理由を簡潔に説明)",CHAR(10),CHAR(10),"条件:一問のみ作成法令や基準に基づいた内容とする"))
copy
やや複雑に見えますが、数式内で使っている関数は3つです。
- BB.ASK(<プロンプト>) 生成AIにリクエストを送信するカスタム関数
- CONCAT(<テキスト1>[,…]) Excel標準の文字列連結関数
- CHAR(<文字コード>) 文字コードを文字に変換するためのExcel標準
順に解説します。
BB.ASK(<プロンプト>)は、生成AI用のプロンプトを関数の引数として指定し、設定したAPIキーでサーバーに送信するためのカスタム関数です。無料アドインをインストールすれば使えます。
CONCAT(<テキスト1>[,…])は、テキストを連結するための関数です。今回は、改行と表内の値をテンプレート変数のように扱ってプロンプトを完成させるために使っています。
CHAR(<文字コード>)は、文字コードを文字に変換するための関数です。プロンプト内の改行は、そのままでは引数内の文字列にできないないので、CONCAT関数内で文字コードから改行文字に変換しています。Excelの改行はLF(0Ah)ですので、10進数表記では「10」になります。数式内の「CHAR(10),CHAR(10)」という気持ち悪い表記は、改行コードふたつの連続つまり空行の数式表現です。
今回は表をExcelのテーブルにしているので「[@分野]」というテーブル変数が登場します。テーブルは嫌いな人もいるので、そういうときは「B2」のような、なじみのあるアドレス指定を使ってください。いずれにしても、分野の値を読み取って、プロンプトとしては以下のようになります。
社内研修用の四択問題を作成してください。
対象: 空気環境検査、水質検査などの定期検査
出力形式:
問題文:
選択肢: A. ~ / B. ~ / C. ~ / D. ~
正解: (正解の選択肢を記載)
解説: (正解の理由を簡潔に説明)
条件:一問のみ作成法令や基準に基づいた内容とする
copy
「対象:」の行が、各行の分野セルの値に応じて変化するわけですね。ちなみに、このプロンプトを実際に送信すると、以下のような応答が返ってきました。
問題文: 空気環境検査において、PM2.5の濃度基準は、1日平均で何μg/m³以下と定められているか?
選択肢: A. 35μg/m³ / B. 50μg/m³ / C. 25μg/m³ / D. 15μg/m³
正解: A. 35μg/m³
解説: PM2.5の1日平均濃度基準は、環境省が定めた基準に基づき、35μg/m³以下とされています。この基準は、健康への影響を考慮して設定されています。
専門的すぎてハルシネーションが心配ですが、環境省の資料によると正しいです。
Q.どの程度の濃度になると健康影響が生じますか。
A. 微小粒子状物質(PM2.5)の環境基準(人の健康を保護する上で維持されることが望ましい基準)として「1年平均値が 15µg/m3以下であり、かつ、1日平均値が 35µg/m3以下であること」と定められています。
「微小粒子状物質(PM2.5)に関するよくある質問(Q & A)」
ここで生成AIに与えたのは出題者の意図と出題分野だけです。テキストを作るときは、出力された問題文や正答が正しいかをチェックすれば済むので、ゼロからテキストを書き起こすのに比べてだいぶ楽になります。問題文と解説ができたので、Wordに貼り付けて確認テストを作ってみました。

ここまでできたら、たとえば1問10分として解説に書かれていることを自分の知見を交えて話せば、充実な社内研修になるはずです。最後に確認テストを配って、答え合わせまでして90分の講義ができますね。
では、参加者が日本人だけではないときはどうしたらいいでしょうか。そんなときは、Excelで翻訳しましょう。以下の数式を参考にしてください。
=BB.ASK(CONCAT("Translate the following exam for building management into Vietnamese:",CHAR(10),[@出題]))
copy
ここではベトナム語に翻訳しています。ただし、このままでは適切にベトナム語に翻訳されたかわかりません。そこで、以下の数式を使って日本語に戻します。
=BB.ASK(CONCAT("Translate the following exam for building management into Japanese:",CHAR(10),[@ベトナム語]))
copy
表全体としては以下のようになります。

ベトナム語ができなくても、生成AIで翻訳されたテキストを日本語に翻訳し戻すことで、元の日本語との比較ができるようになり、意味が変化していないか確認できます。この方法なら、研修参加者の母国語がさまざまでも、テキストを参加者にとってもっとも理解しやすい言葉に調整できます。
生成AI活用やExcel業務の効率化についてのご相談は、ぜひ ビジー・ビー にお任せください!
当社では、生成AIを活用したコメントデータ分析や、Excel業務の効率化を支援するツールやソリューションを提供しています。データ活用のプロフェッショナルが、貴社のニーズに合わせた最適な方法をご提案します。
ご質問、ご相談は、以下のフォームからお問い合わせください。
本記事は、[データ分析ラボ]の許諾を得て転載しています。この記事以外にも生成AI・Excel・データ分析など多くの興味深い記事を掲載しています。ぜひ[データ分析ラボ]を訪れて、幅広い情報をお楽しみください。[https://note.com/dataanalysislabo/]


コメントを投稿するにはログインしてください。