生成AI活用研究
生成AIはExcelの複雑な数式を書けるのか?
AIとの対話から学ぶ協業のリアル

Geminiを中心に生成AIの活用と研究の記録
公開日:2025-06-22 最終更新日:2025-06-22

生成AIはExcelの複雑な数式を書けるのか?|AIとの対話から学ぶ協業のリアル


近年、目覚ましい進化を遂げる生成AI。その能力は文章作成からプログラミングまで多岐にわたり、私たちの仕事のあり方を大きく変えようとしています。


では、多くのビジネスパーソンが日常的に利用するExcel、特に、専門家が「数式職人」と称されるような複雑な数式作成は、どこまでAIに任せられるのでしょうか?

本記事では、筆者が実際にGoogleの生成AI「Gemini」に対し、実務でよく遭遇する「按分計算における端数処理」という課題を与え、その数式作成を依頼した際のリアルなやり取りをレポートします。AIの驚くべき能力と、現時点での課題、そして未来の付き合い方が、この対話から見えてきました。


目次



課題:端数を出さずに按分する数式

まず、私がGeminiに依頼した内容は以下の通りです。
Excelの実績値に応じて特定の値を按分する際に、各項目を四捨五入した結果、合計値にズレが生じてしまう問題の解決を求めました。

生成AIはExcelの複雑な数式を書けるのか? 数式職人

【プロンプト】
B3:K3には、B2:K2の実績にも応じてM3の値を按分したい。
現在の数式、=ROUND(B2:K2/L2*M3,0)
これでは端数がでて合計が合わない。
一発で合計が合うように按分数式を作成してください。


Geminiの挑戦と、最初の「#VALUE!」エラー

ほどなくして、GeminiはLETRANK.EQといった関数を駆使した、非常に高度な数式を提示してきました。

この数式を見て、どう思いましたか?
難しい…
自分には書けそうにない…
もしそう思ったのなら、今後は数式も基本的には全部AIに書いてもらうようにした方が良いかもしれない。
だって、AIの方が賢いのだから・・・

しかし、この一見完璧に見えた数式は、最初の試行で「#VALUE!」エラーとなってしまいました。

【最初に提示された数式(#VALUE! エラー)】

=LET(
    実績, B2:K2,
    按分合計, M3,
    
    理論値, 実績 / SUM(実績) * 按分合計,
    整数部, INT(理論値),
    残数, 按分合計 - SUM(整数部),
    小数部, 理論値 - 整数部,
    調整値, IF(RANK.EQ(小数部, 小数部, 0) + COUNTIF(小数部, ">"&小数部) <= 残数, 1, 0),
    
    整数部 + 調整値
)

生成AIはExcelの複雑な数式を書けるのか? 数式職人

このエラーをGeminiに伝えたところ、非常に丁寧な謝罪と共に、以下のような応答と修正案が返ってきました。
ご提示いただいた画像から、数式が #VALUE! エラーになってしまった状況、拝見いたしました。せっかくお試しいただいたにもかかわらず、ご期待通りの結果とならず大変失礼いたしました。
エラーの原因は、前回ご提案した数式の一部に、特定のExcelの動作環境で意図通りに機能しない部分が含まれていた可能性が高いです。
つきましては、より安定して動作するようにロジックを改善した、修正版の数式をご提案させていただきます。
【修正版】最大剰余法による按分計算(推奨)
前回同様、最も公平な按分方法である「最大剰余法」の数式です。エラーの原因となっていた同順位の処理方法を、より堅牢なロジックに変更しました。
お手数ですが、エラーが出ている B4セル に、以下の修正版の数式を改めてご入力ください。この数式1つで、K4セルまで計算結果が表示されます。
注目すべきは、AIがエラーの原因を「Excelの動作環境」や「同順位の処理」にあると推測し、自己修正を試みている点です。


AIの迷走と、次の「構文エラー」

しかし、この時点ではまだ根本原因であるRANK.EQ関数の仕様には気づいていませんでした。そして、この丁寧な提案の後に提示されたのが、次なる「構文エラー」を引き起こすことになる2番目の数式でした。

【次に提示された数式(「この数式には問題があります」エラー)】

=LET(
    実績, B2:K2,
    按分合計, M3,
    実績合計, SUM(実績),
    
    理論値, 実績 / 実績合計 * 按分合計,
    整数部, INT(理論値),
    残数, 按分合計 - SUM(整数部),
    小数部, 理論値 - 整数部,
    
    調整値, IF(RANK.EQ(小数部 + SEQUENCE(1, COLUMNS(小数部),,0.00000001), 小数部 + SEQUENCE(1, COLUMNS(小数部),,0.00000001), 0) <= 残数, 1, 0),
    
    整数部 + 調整値
)

生成AIはExcelの複雑な数式を書けるのか? 数式職人

この数式を入力した際に表示された「この数式には問題があります」というエラーに対し、Geminiは原因を次のように推測しました。
エラーが表示されたスクリーンショット、ありがとうございます。数式を正しく入力できず、お困りのことと存じます。
ご提示いただいた「この数式には問題があります。」というエラーは、多くの場合、お使いのExcelのバージョンが、数式内で使われている関数に対応していないことが原因で発生します。

エラーの最も可能性の高い原因と解決策
前回私がご提案した LET や SEQUENCE といった関数を使用した数式は、最新のExcel(Microsoft 365 または Excel 2021)でのみ利用可能な機能です。
もしお使いのExcelがそれよりも前のバージョン(例:Excel 2019, 2016, 2013など)の場合、Excelが LET という関数を認識できないため、このエラーメッセージが表示されます。
つきましては、お使いのExcelのバージョンに関わらず必ず動作する、以下の従来の方法をお試しいただけますでしょうか。
【全バージョン対応】確実な解決手順
この方法は、数式を2段階に分けて入力します。
・・・


助け舟:「RANK.EQの第二引数は参照です」

このままでは問題解決しそうにない・・・
しょうがないなー😇ということで、私が助け舟を出すことにしました。
助け舟といってもエラーの原因を教えてあげただけです。(筆者はエラー原因がわかっていたので)

そして、筆者からAIに投げかけられた、シンプルかつ核心を突く「助け舟」が以下のプロンプトでした。
RANK.EQの第二引数は参照です。
この短い一文が、AIの誤った推論を断ち切り、問題の本当の原因へと導く鍵となりました。


エラーの真相:AIが把握しきれないExcelの「仕様」

この指摘を受けて、ようやくエラーの全貌が見えてきます。

エクセル数式の猛者なら、ひょっとしてと気づくかもしれません。
「参照」の引数に配列や定数を指定している場合です。
そして、先ほどの按分数式の中で使っていた関数が、
=RANK.EQ(数値,参照,順序)
この第2引数ですね。

そして、この「引数としてセル参照を要求する」という仕様上の制約は、RANK.EQだけの特殊な問題ではありません。
例えば、日常的によく使われる以下の関数も同様の特性を持っています。
  • COUNTIF(範囲, 検索条件) の第1引数「範囲」
  • SUMIF(範囲, 検索条件, [合計範囲]) の第1引数「範囲」と第3引数「合計範囲」
  • COUNTIFS(条件範囲1, 検索条件1, ...) の全ての「条件範囲」引数
  • SUMIFS(合計対象範囲, 条件範囲1, 検索条件1, ...) の全ての「範囲」引数

このような細かい仕様については、都度AIに知らせないとAIは完全には把握しきれていない場合があるということを、私たちは念頭に置く必要があります。

特に、エクセルの数式やVBAの細かい仕様は、他の多くのプログラミング言語と違う部分があるため、汎用的な知識を持つAIが認識していない場合が多いのです。
中でも「配列」の扱いは、Excelの数式もVBAも特殊な仕様が多いため、AIが特に間違いやすいポイントと言えるでしょう。
今回のRANK.EQの問題も、根本にはこの配列の扱いの難しさがありました。

生成AIは、VBAやエクセル数式の細かい仕様が把握しきれていないようなのです。
そもそも、関数の引数で「参照」に限定している引数が存在していることが困りものなのではありますが。


解決編:人間とAIの協業で生まれた最終数式

エラーの原因が RANK.EQ 関数の仕様にあるという的確な指摘を受け、Geminiはそれを理解し、全く異なるアプローチでの解決策を再提案しました。

【最終的に正しく動作した数式】

=LET(
    実績, B2:K2,
    按分合計, M3,
    実績合計, SUM(実績),
    
    理論値, 実績 / 実績合計 * 按分合計,
    整数部, INT(理論値),
    残数, 按分合計 - SUM(整数部),
    小数部, 理論値 - 整数部,
    
    ユニーク小数部, 小数部 + SEQUENCE(1, COLUMNS(小数部)) / 10^9,
    ソート済み小数部, SORT(ユニーク小数部, , -1),
    順位, XMATCH(ユニーク小数部, ソート済み小数部),
    
    調整値, IF(順位 <= 残数, 1, 0),
    
    整数部 + 調整値
)

生成AIはExcelの複雑な数式を書けるのか? 数式職人

この数式では、問題のあった RANK.EQ を完全に排除しています。代わりに、小数部を SORT で大きい順に並べ替え、XMATCH で元の各項目がそのリストの何番目に当たるかを探すことで、Excelの仕様に抵触しない、確実な方法で順位を算出しています。

これは、人間の専門知識(仕様の指摘)とAIの計算能力(代替案の構築)が組み合わさって初めて生まれた、まさに「共同作業の成果」と言えるでしょう。


結論:AIの「現在地」と、私たちがとるべき道

そういうことで、とても優秀な生成AIなのですが、まだ手放しで使えるところまでには至っていないというのが現在地ですかね。(ただし、これはエクセルに限定した話しです)

今回の検証を通じて、生成AIが驚異的な能力を持つ一方で、専門分野の細かな仕様にはまだ課題があることが明らかになりました。

これらを自力で解決できる人は問題ないのですが、AIが書いた数式がちんぷんかんぷんだという人では、現段階では生成AIの使用はかなり限られた範囲内になってしまうかもしれません。
これは仕方ないことです。

AIが提示した結果を鵜呑みにせず、その内容を検証し、時にはデバッグできるリテラシーが、使い手側にも求められます。

そういうことなので、AIが完璧な数式を書いてくれるようになるまで、じっと我慢の子で待っているか、その間に自分で少しでも数式がかけるようになっておくか。

どっちが良いかは、あなた次第です!!!


AI時代の新しい「Excel術」とは

この問いの答えは、おそらく「待つ」でも「独学」でもない、第三の道にあるのでしょう。
それは、AIを「思考の壁打ち相手」兼「優秀なアシスタント」として捉え、共に学び、成長していくという選択です。

今回のGeminiとの一連のやり取りは、そのための具体的なヒントに満ちています。AIとの「協業」を成功させ、その能力を最大限に引き出すために、私たち人間が今、取り組むべき課題を提案します。

課題1:『プロンプト力』から『フィードバック力』へ

AIに的確な指示を出す「プロンプトエンジニアリング」の重要性が叫ばれて久しいですが、それだけでは不十分です。AIからの提案を鵜呑みにせず、その結果を検証し、間違いを具体的に指摘できる『フィードバック力』こそが、これからの時代に不可欠なスキルとなります。

今回の事例で、AIの迷走を断ち切ったのは、たった一文のフィードバックでした。この一言がなければ、AIは「バージョンが古い」「動作環境が違う」といった見当違いの修正を繰り返していたかもしれません。AIの誤りを正し、より高みへ導くのは、人間の専門知識と的確なフィードバックなのです。

【具体的なアクション】
エラーメッセージを無視せず、関数のヘルプやWebでその意味を調べる習慣をつけましょう。
なぜエラーが出たのかを自分なりに考察し、それをAIに伝える訓練をすることが、質の高いフィードバックに繋がります。

課題2:『丸投げ』から『協業』へ - 問題分解能力を磨く

複雑な数式をAIに「丸投げ」して、一度で完璧な答えを期待するのは、現段階では賢明ではありません。むしろ、解決したい問題を小さなステップに分解し、AIと対話しながら一つひとつクリアしていくアプローチが有効です。

例えば、
「まず、このデータから小数部分だけを取り出す数式は?」
「次に、その小数部の順位を計算する方法は?」
「最後に、それらを結合するには?」
といったようにタスクを分割すれば、間違いが起きるリスクを減らし、修正も容易になります。

【具体的なアクション】
複雑な課題に直面したとき、すぐにAIに聞くのではなく、まず解決までの手順を自分なりに書き出してみましょう。
その上で、どの部分をAIに任せ、どの部分を自分で担うのか、作業の「設計図」を描く能力を磨くことが重要です。

課題3:AIの「思考プロセス」を理解し、リードする

AIがなぜその数式を提案したのか、そしてなぜ間違えたのか。その背景を考察することで、AIの「思考のクセ」や「弱点」が見えてきます。

今回AIは、RANK.EQが動的配列を扱えるという一般論(あるいは誤学習)に基づいた提案をしましたが、Excelの「参照」という特殊な制約は見抜けませんでした。このAIが間違いやすいポイントを理解できれば、私たちはそれを予測し、「この関数は使わずに、別のアプローチで考えてみて」といったように、先回りして指示を出す(リードする)ことが可能になります。

【具体的なアクション】
AIとのやり取りを単なる作業で終わらせず、「なぜこの結果になったのか?」を振り返る習慣を持ちましょう。
自分なりの「AI取扱説明書」を頭の中に蓄積していくことが、AIを真のパートナーにするための近道です。

課題4:AIが実行可能な「解決アプローチ」を設計する

AIが間違えたときにそれを指摘するだけでなく、そもそもAIが間違いにくい「お膳立て」をしてあげる、という視点も極めて重要です。AIの進化を待つのではなく、今のAIを上手く使うことを優先すべきなのです。

AIがそのままではできないものは、AIができるように仕様を再検討するべき、という発想の転換が求められます。

先の按分計算では、一つのセルに複雑な数式を詰め込もうとしたため、AIはRANK.EQ関数の仕様の壁にぶつかりました。
しかし、もし私たちが「作業列を使っても良い」という前提で指示を出していたらどうでしょう。
各計算ステップが単純になり、AIも間違う可能性は低かったはずです。

AIが複雑な一発回答でつまずくなら、人間がより平易な複数のステップに分解し、その「やり方」自体を指示するのです。

【具体的なアクション】
問題解決を依頼する際、「何を(What)」だけでなく、「どのような手順で、どのような制約(作業列の使用可否など)で解いて欲しいか(How)」まで含めてプロンプトを設計する。
AIの能力を最大限に引き出すための「プロセスの再設計」も、人間の重要な役割となります。


おわりに:AIと人間、それぞれの進化を信じて

「AIはExcelの数式職人になれるか?」 ― 本レポートは、この問いの答えを求めた、生成AIと人間の試行錯誤の物語でした。

GeminiというAIが見せた高度な提案力、そしてそこに潜む盲点や誤解。それを見抜き、正した人間の知識と直感。そこから生まれた「協業による完成形」は、単なる成功例ではなく、これからの働き方そのものの予兆なのかもしれません。

AIは確かに強力ですが、まだ万能ではありません。特にExcelやVBAといった“人間特有のローカルな知識体系”では、微細な仕様や暗黙知が壁になります。そして、その壁を乗り越える鍵は、今もなお「人間の理解力と観察力」にあります。

私たちがすべきことは、AIを「使いこなす」ことではなく、AIと共に思考し、共に問題を解くという新しい関係性を築くことです。

「何でも自動化できる未来」がくるのではなく、「人とAIが一緒に考える未来」が始まっている。
今回のGeminiとの対話は、その第一歩でした。

今後、Excelに限らずあらゆる場面で、AIの提案を読み解き、時に軌道修正を促しながら、共に高みを目指していく“新しい知的労働”のあり方が、社会に浸透していくでしょう。
そして、その中心にいるのは、AIに明確な問いを投げ、適切なフィードバックを返せる「AIリテラシーを備えた人間」です。
だからこそ、私たちは今、AIを恐れたり依存したりするのではなく、「共に成長する存在」として、対話を重ねていく覚悟が問われているのだと思います。



※本記事の作成にあたっては、一部の文章作成に生成AI(Gemini)を使用しています。最終的な内容は人間による確認・編集を経て掲載しています。





同じテーマ「生成AI活用研究」の記事

実務に活かすAIコードとVBA:ビジネス現場の自動化基礎講座
AI活用によるVBA業務自動化の実践ガイド
すぐに使える!生成AI プロンプト作成 実践ガイド
究極のVBA転記プロンプト公開!あなたの事務作業を劇的に効率化
VBA開発の標準化を実現する共通プロンプトのすすめ
Gemini CLIの徹底解説:AIをターミナルから使いこなす
生成AIはExcelの複雑な数式を書けるのか?|AIとの対話から学ぶ協業のリアル
シンギュラリティ前夜:AIは機械語へ回帰するのか
AI(Gemini)とエクセル数式対決 その1
AI(Gemini)とエクセル数式対決 その2
AI(Gemini)とエクセル数式対決 その3


新着記事NEW ・・・新着記事一覧を見る

カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)
2段階の入力規則リスト作成:最新関数対応|エクセル関数応用(2025-12-24)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ